R,nls()或nlm()中的非线性最小二乘与最大似然?

机器算法验证 r 最大似然 非线性 nls
2022-03-13 00:54:28

我正在估计模型其中是参数,是一个长度的参数向量,是一个的数据矩阵,因变量是一个二进制,是一个概率模型, 所以标准正态的累积分布函数分配。为了得出期望,假设错误是正常的并且均值为零。

E(Y|X)=Pr(Y=1|X)=α0+(1α0α1)ϕ(Xβ),
α0α1βpXp×nYϕ()

模型的来源在这里(参见方程 6 和 7),根据论文,我可以通过非线性最小二乘法或最大似然估计模型。我在 R 中尝试了这两种方法,使用nls()非线性最小二乘nlm()函数和最大似然函数。实验表明结果与我的应用程序非常相似,但nls()速度更快。有理由支持一种方法而不是另一种方法吗?我应该如何考虑选择一种方法,例如两种方法的相似假设?

任何有关思考这两种方法之间差异的建议,或有关参考文献的建议将不胜感激。

1个回答

为了得出期望,假设错误是正常的并且均值为零。

如果这是您的假设,则 MLE 和 NLS 在数学上应该是相同的,并且差异可能会通过优化器的选择/设置来解释。

二元响应的正态分布是否是一个好主意是另一个问题。另一种选择是带有非线性预测器的逻辑 glm,用 MLE 估计。

如果您使用 MLE,您可能需要考虑使用https://cran.r-project.org/web/packages/bbmle/index.html而不是 nlm(),CI 的更多选项等等。