如何解决我如何优化 R 中的 MyMaximum-LikeliHood 函数
R 中的估计器。因此我需要从最大似然函数中获得最大值。我的评分函数是
LL <- function(theta){
b0 <- theta[1]
b1 <- theta[2]
b2 <- theta[3]
b3 <- theta[4]
SigmaV <- theta[5]
Gamma <- theta[6]
res <- Y - b0 - b1 * X1 - b2 * X2 - b3*X3
score <- 0
for(i in 1:x){
score <- score + log((2/(sqrt(SigmaV^2+Gamma^2))) * dnorm(res[i]/sqrt(SigmaV^2+Gamma^2))*pnorm((-res[i]/sqrt(SigmaV^2+Gamma^2))*(Gamma/SigmaV)))
}
score
}
因此它是对 SFA 模型的优化。
我尝试了很多选项(optim、mle2 和其他一些选项)。最好的方法之一是使用优化:
FitfürnormalenFall <- optim(c(1,1,0.2,0.3),LL,method = "BFGS",control=list(fnscale=-1))
但是起始值是随机的。我只是选择值。实际值是
a0 <- 0.9
a1 <- 0.6
a2 <- 0.5
a3 <- 1
sigmaV <- 0.25
gamma <- 0.3
但是我没有用这种算法接近值。哪个是我可以使用的优化方法,或者什么是好的起始值和其他优化指令,以便我接近真实值?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。