优化中的错误(par = par,fn = fun,方法=“ L-BFGS-B”,下部= lb,上部= ub):L-BFGS-B需要有限值'fn'

时间:2020-09-21 05:49:18

标签: r optimization

我正在尝试优化权重(w_opt)的函数“ fun”,但出现以下错误:

Error in optim(par = par, fn = fun, method = "L-BFGS-B", lower = lb, upper = ub) : 
  L-BFGS-B needs finite values of 'fn'

任何帮助将不胜感激。 这是我的代码:

# matrix of 6 vectors of size 500x6
dens_fore <- cbind(garch_1, garch_2, garch_3, gjr_1, gjr_2, gjr_3)

w_eq -> 1/6
n_spec -> 6
par <-  rep(w_eq, n_spec)
lb <- rep(0, n_spec)

# Objective function
fun <- function(w_opt, dat = dens_fore){
  w_1 <- w_opt[1]
  w_2 <- w_opt[2]
  w_3 <- w_opt[3]
  w_4 <- w_opt[4]
  w_5 <- w_opt[5]
  w_6 <- w_opt[6]
  cumsum(log(sum(dat[,1]*w_1, dat[,2]*w_2, dat[,3]*w_3, 
                 dat[,4]*w_4, dat[,5]*w_5, dat[,6]*w_6)))
}

optim_fun <- optim(par = par,
                   fn = fun, 
                   method = "L-BFGS-B",
                   lower = lb, 
                   upper = Inf)

PS:我需要为dens_fore矩阵的所有500行找到500组最佳权重(此矩阵没有无限值)

0 个答案:

没有答案
相关问题