可视化优化路径直至在R中收敛

可视化优化路径直至在R中收敛,r,optimization,R,Optimization,我使用“optim”包来最大化对数似然函数。我想把优化路径可视化,直到与下面的图链接这样的动画收敛 以下是对数似然函数和optim: x=runif(500) x=模型矩阵(~x) y=rbinom(500,1,0.5) θ=c(-0.1,2) logll我们需要一步一步地运行优化器,因此我们得到每个时间步的解决方案。然后使用gganimate制作动画几乎是微不足道的 grid.b$f <- grid.f op <- sapply( seq_len(optim(theta,l

我使用“optim”包来最大化对数似然函数。我想把优化路径可视化,直到与下面的图链接这样的动画收敛

以下是对数似然函数和optim:

x=runif(500)
x=模型矩阵(~x)
y=rbinom(500,1,0.5)
θ=c(-0.1,2)

logll我们需要一步一步地运行优化器,因此我们得到每个时间步的解决方案。然后使用
gganimate
制作动画几乎是微不足道的

grid.b$f <- grid.f

op <- sapply(
  seq_len(optim(theta,logll)$counts['function']), 
  function(i) { 
    set.seed(1234)
    optim(theta, logll, control = list(maxit = i))$par
  }
)
op_df <- data.frame(b0 = op[1,], b1 = op[2,])
op_df$step <- 1:nrow(op_df)

p <- ggplot(grid.b, aes(b0, b1)) + 
  geom_raster(aes(fill = f)) +
  geom_contour(aes(z = f), col = 'grey40') +
  geom_path(data = op_df, col = 'white') +
  geom_point(data = op_df, col = 'white') +
  scale_fill_viridis_c() +
  coord_cartesian(expand = FALSE)


library(gganimate)
a <- p + transition_reveal(step)

anim_save(
  '~/Desktop/anim.gif', a, height = 400, width = 400, 
  nframes = nrow(op_df), fps = 30, duration = nrow(op_df) / 30
)

grid.b$f无法运行您的代码:
optim(theta,logll)中的错误:无法在初始参数处计算函数。另外:警告消息:在日志(1-p)中:生成了NaNs
我编辑了它,它现在可以工作了。谢谢你的回答