r - 函数中的双重求和,将用于对数似然估计
问题描述
我正在尝试获取以下等式的估计参数:
首先,我需要编写具有双重求和的函数。然后,我将使用任何优化方法来获取估计的参数(可以是 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)
解决方案
推荐阅读
- swift - 如何从用户事件中取消 flatMap 发布者
- python - PyQt 5 复选框和按钮文本被截断
- reactjs - 如何在 React 组件的返回中获取 `var` 的值?
- java - 虽然我有 3 个选项卡,但 tabLayout.getChildCount() 返回 1
- c# - C# 封送 C++ 函数
- python - 如何从python中的网格中找到节点的索引?
- scala - Scala akka http客户端没有超时
- elasticsearch - 如何为新字段禁用 _source?
- python - For 循环卡在第一次迭代中,其他循环不能正确返回
- javascript - 使用 cookie 控制弹出模式