如何使用 R 中使用 optim 最大化对数似然函数估计的参数的分析来估计 95% 的置信区间?

机器算法验证 r 置信区间 最大似然 优化 轮廓似然
2022-03-21 16:20:35

如何使用 R 中使用 optim 最大化对数似然函数估计的参数的分析来估计 95% 的置信区间?

我知道我可以通过反转 hessian 来渐近估计协方差矩阵,但我担心我的数据不符合此方法有效所需的假设。我更喜欢使用其他方法来估计置信区间。

如Stryhn 和 Christensen以及 Venables 和 Ripley 的 MASS book, §8.4, pp. 220-221 中所讨论的,轮廓似然法是否合适?

如果是这样,是否有任何软件包可以帮助我在 R 中做到这一点?如果不是,这种方法的伪代码会是什么样子?

2个回答

stats4 包中的mle函数是 的包装器optim,这使得生成轮廓似然计算变得非常容易。有关help("profile,mle-method", package = "stats4")更多信息,请参阅。

如果您使用 nlme,则有ProfileLikelihood 包。就个人而言,我还没有设法使用它。

使用 lme4a 或 lmeEigen 包有一个 profile() 函数,它正是旨在做你想做的事。尝试类似的方法来安装这些软件包:

install.packages("lme4a",repos="http://lme4.r-forge.r-project.org/repos") 

或访问网站获取 zip 存档。同样不幸的是,我没有设法使用它 :) 也许我们应该等待 lme4 的更新。

该方法在道格拉斯·贝茨的书草稿中有详细说明

编辑:酷!lmer 模型的 profile() 函数现在可以在最新版本的 lme4 中使用,通过键入以下命令进行安装:

install.packages("lme4",repos="http://r-forge.r-project.org")