【发布时间】:2019-11-09 20:52:24
【问题描述】:
我正在使用“优化”包来最大化对数似然函数。我想可视化优化路径,直到与动画收敛,例如这个图:下面的链接。
https://florarblog.files.wordpress.com/2018/08/optimization_path2.gif?w=740&h=507&zoom=2)
这是对数似然函数和优化:
x = runif(500)
x = model.matrix( ~ x)
y = rbinom(500,1,0.5)
theta= c(-0.1,2)
logll <- function(theta)
{
p <- exp(x%*%theta)
p[p >=1] <- 1- 1e-5 ; p[p<=0] <- 1e-5
LL <- sum(y*log(p) + (1-y)*log(1 - p))
return(-LL)
}
optim(theta,logll)
l.grid <- 200
grid.b <- as.matrix(expand.grid(b0=seq(-3,0.5,length.out=l.grid), b1=seq(-6,6,length.out=l.grid)))
grid.f <-apply(grid.b,1,logll)
grid.b <- as.data.frame(grid.b)
contourplot(grid.f~b0+b1,data=grid.b,cuts=15)
提前感谢您的帮助
【问题讨论】:
-
无法运行您的代码:
Error in optim(theta, logll) : function cannot be evaluated at initial parameters In addition: Warning message: In log(1 - p) : NaNs produced -
我编辑了它,它现在可以工作了。谢谢你的回答
标签: r optimization