首页 > 解决方案 > 函数中的双重求和,将用于对数似然估计

问题描述

我正在尝试获取以下等式的估计参数:

在此处输入图像描述

首先,我需要编写具有双重求和的函数。然后,我将使用任何优化方法来获取估计的参数(可以是 nlm、optim 等)。这是我的尝试(不过,我不确定如何在最后添加双重求和部分,两个 for 循环):

有5个参数:alpha_x, sigma_x, lambda_x, theta_x, phi_x >>>step_3[1] == alpha_x

for (a in 1:nrow(returns[[4]][,1])){
      abc <- 0      
for (b in 0:7){
  abc <- abc + (step_3[3]^b*(factorial(b))^-1*(sqrt(step_3[2]^2+b*step_3[5]^2))^-1*exp(-1*(as.numeric(returns[[4]][a,1])-(step_3[1]+b*step_3[4]))^2*(2*(step_3[2]^2+b*step_3[5]^2))^-1))
}
      abcd  <- abcd + log(abc)
    } 
  abcd <- -abcd  + 0.5*nrow(returns[[4]][,1])*log(2*pi) + nrow(returns[[4]][,1])*step_3[3]

  return(abcd)
  }

nlm(s3, step_3 <- c(0.01,0.01,0.01,0.01,0.01), hessian = TRUE )

我得到了估计结果,但估计还有很长的路要走:

我的问题是如何将双重求和 (sum_0_T) > ln (sum_1_l) 实现(有效地,任何对 sapply 等的建议将不胜感激)到一个函数中。该函数将用于优化。(l=0:7, T=观察次数) 返回1 = 一些带有价格回报的向量(所有回报在 -1,1 之间)。估计后样本均值和方差应大致等于:

sample_mean = alpha_x + lambda_x * theta_x

sample_variance = sigma_x^2 + lambda_x * (theta_x^2 + phi_x^2)

谢谢。

这是一个可用于分析的示例:

c(0.02423747 ,-0.00419738, -0.03153278, 0.05343888, -0.0175492, 0.00848472, 0.01043673, -0.02123556, 0.01954968, -0.06462473, 0.02679873, 0.07971938, 0.00050474, -0.01768566, -0.05206762, -0.00413691, 0.06390499, 0.00269576, 0.01520837, 0.00091051, 0.03499043, -0.00121999, -0.00123521, -0.01961684, 0.03360355, 0.01803711, 0.01772631, 0.036523 -0.00038927, 0.00905013, 0.01150976, 0.00480223, 0.01916402, 0.00054628, 0.01911904, 0.02194556, 0.00371314, 0.03376601, 0.0546574, -0.03972611, -0.0272525, 0.00271509, 0.02137819 , 0.00483075, 0.03538795, 0.02981431, 0.00428509, -0.07192935, 0.01770175, -0.09626522, 0.07574215, 0.02929555, 0.01776551, 0.0385604, -0.06804089, 0.0666583, 0.01304272, -0.01825728, 0.01703525, 0.02022584, 0.03348027, 0.02818876, -0.00162942, -0.08785954, - 0.13366772, 0.10243928)

标签: rfunctionloopsoptimizationsum

解决方案


推荐阅读