正常 OLS 的对数似然JMP 社区您好!
我想查看线性模型的对数似然(拟合模型 -> 个性:标准最小二乘法)。 我确实得到了 AICc 以及“回归报告”中的相应选项。 但我怎样才能提取对数似然呢?
我还发现了这个线程: https://community.jmp.com/t5/Discussions/AICc-log-likelihood-where-is-it-reported/td-p/272033?trMode=source
但是我无法用这个 -2LL 公式重现 AICc。
感谢您的帮助!
基础数据分析和建模回复:正常 OLS 的对数似然你好@哈尔布沃尔:如果您有 AICc 或 BIC,代数(通过此处的公式https://www.jmp.com/support/help/en/15.1/index.shtml#page/jmp/likelihood-aicc-and-bic.shtml#ww293087 ) 将给出对数似然:
LL=(kln(n) - BIC)/2
或者
LL= (2k+2k(k+1)/(nk-1) - AICc)/2
回复:正常 OLS 的对数似然你好@MRB3855 ,
感谢您的回答! 确实 - 我已经用这种方法计算了 LL。 然而,我用其他软件/python 包仔细检查了 LL(使用完全相同的数据和模型参数)并得到了不同的 LL,尽管 R2、SSE、RMSE 等完全相同。 特别是当 k 数较高时,JMP 和 Python 包 Statsmodels (PpS) 之间的差异往往更大。
所以这就是让我困惑的地方,PpS 和 JMP 应该对 AICc 使用相同的公式,但我得到不同的结果(因为 LL 可能不同)。
回复:正常 OLS 的对数似然@哈尔布沃尔他们可能不使用相同的公式。 JMP 的版本是修改后的版本,用于针对小样本量进行调整。 既然你说“特别是当 k 的数量较多时,LL 往往在 JMP 和 Python 包 Statsmodels (PpS) 之间有更大的差异”,我怀疑 Python 使用的是未修改的版本;因此您可能需要检查您的假设,即它们使用相同的公式。
回复:正常 OLS 的对数似然你好@MRB3855 ! 当您谈到公式时,您指的是 AIC 的公式C,正确的? 我也检查过了。 我使用从 statsmodels 获得的 LL 在 Python 中重新实现了 JMPs AICc 公式。 但是,我得到的 AICc 与使用 statsmodels 中的 AICc 函数相同。 所以问题是,statsmodels 和 JMP 之间的 LL 不同,我想知道为什么。
或者你说的是LL公式吗? 如果是这样,我无法弄清楚 JMP 如何计算 LL,但这将是我问题的关键。
感谢您的帮助!
回复:正常 OLS 的对数似然@哈尔布沃尔,您是否尝试过拟合模型 -> 个性:广义线性模型,分布:正态,链接函数:恒等式?
输出报告包括完整模型和简化模型的 -(LL)。
希望这对您有帮助。
真挚地,
MG
回复:正常 OLS 的对数似然如何计算模型的 -2LL?
JMP 在优化参数估计时经常使用核密度函数。 这种方法是合理的,因为 -2LL 和 AICc 在任何绝对意义上都没有意义或解释。 它们是在相对的基础上用于比较模型的,因此内核就足够了。 尝试使用核密度代替。
回复:正常 OLS 的对数似然也许此页面可以提供帮助: https://www.jmp.com/support/help/en/15.1/index.shtml#page/jmp/likelihood-aicc-and-bic.shtml#ww293087
向下滚动到底部查看与最小二乘相关的公式。
注意三组公式中各部分之间的关系:
(1) 从该页的上半部分开始

(2) 从该页的下半部分开始

(3) 从您指向的线程

因此 (1) 中的 -2Loglikelihood 等于 (2) 中突出显示的两个部分。
(1) 和 (2) 中的 -2Loglikelihood 与 (3) 相差常数 N。
在其他文献中,您可能会看到 -2Loglikelihood = N*log(SSE/N)。 我很高兴您注意到其中的差异。 在文献中,对数似然常数的丢失是很常见的。
回复:正常 OLS 的对数似然感谢大家的支持!
感谢您指出了这一点@模型适合! 这就是我一直在寻找的选择。 对于我的数据,我得到与 statsmodels 相同的 LL - 这让我更加困惑。 也许我的问题通过我的问题的屏幕截图(我希望分辨率足够高)变得更加清晰:

因此,我根据 JMP 16.2.0 得到以下结果:
- -LL = 8.3501
- k = 3
- 人数 = 18
- AICc = 27.7869
但是,如果我使用 -LL、k 和 n 手动计算 AICc(公式(1)),我得到24.4243 -> 我使用 statsmodels 得到相同的结果。
如果我使用 JMP AICc 并将公式重新表述为 LL= (2k+2k(k+1)/(nk-1) - AICc)/2,我得到的 -LL 为 10.036。
有些东西没有加起来,或者我错过了什么?
回复:正常 OLS 的对数似然rmse = 0.421637;
k = 3;
n = 18;
mse = rmse^2;
SSE = mse * (n - k);
//all above uses k=3, for 3 regression coefficients.
k = k+1;
//the above increases the number of parameters by 1, which is the sigma.
AICc = n * log(SSE/n) + 2*k + 2*k*(k+1)/(n-k-1) + n*log(2*pi()) + n;
回复:正常 OLS 的对数似然谢谢@peng_liu !! 这是解决我的问题的缺失信息! 是否值得在这一点上增强 JMP 的文档? 因为在文档中 k 的描述如下“其中k是模型中估计参数的数量" ( https://www.jmp.com/support/help/en/17.1/index.shtml#page/jmp/likelihood-aicc-and-bic.shtml )这导致了我的困惑。
另外,在文档中引用的出版物中,我一直将 k 理解为参数的数量。 在实际的 AICc 计算之前,这个 k+1 从哪里来? 有具体的出版物描述此程序吗?
编辑:该公式是否是基于该出版物的? https://sites.warnercnr.colostate.edu/wp-content/uploads/sites/73/2017/05/Anderson-et-al-1994-Ecology.pdf
回复:正常 OLS 的对数似然你好@哈尔布沃尔:考虑完整的模型;除了回归系数之外,还有 Sigma (模型的一部分是误差项,分布 Normal[mean=0, Sigma] )。 因此,Sigma(由 RMSE 估计)是模型中的附加参数。
回复:正常 OLS 的对数似然@哈尔布沃尔和@MRB3855感谢您的后续讨论。
@哈尔布沃尔当我发布答案时,我也有同样的担忧。 @MRB3855 AICc 中最小二乘法的 sigma 不是 RMSE,我最初也对此感到困惑。 在与对该主题有更深入了解的开发人员进行交流后,我现在可以解释正在发生的事情,如下所示。
- 最小二乘法不会将 sigma 估计为自由参数。 因此,最小二乘法中的参数数量与回归系数的数量相同。
- Sigma 的最小二乘估计为 RMSE,即 sqrt(SSE/DF),其中 DF = 观测值数量 - 系数数量。 这个西格玛不是统计估计意义上的自由参数。
- AICc 公式使用似然度,该似然度基于 Sigma 的正态密度函数,其 MLE 为 sqrt(SSE/N)。 以下屏幕截图中的第一项是 Sigma 的 MLE 的贡献。 从这个意义上来说,这样计算AICc时,除了回归系数之外,参数的数量还必须计算Sigma。

我被指给了下面的文章来查看完整的证明和完整的推导。 如果您有兴趣,请参阅方程 6 之前的所有推导。
https://www.sciencedirect.com/science/article/pii/S0893965917301623?ref=cra_js_challenge&fr=RR-1
H T Banks 和 ML Joyner,2017 年,最小二乘估计框架下的 AIC,《应用数学快报》,第 74 卷。
我们将在文档的未来版本中进行澄清。 再次感谢!
回复:正常 OLS 的对数似然你好@peng_liu ,非常感谢您的详细解释和这篇文章,我直到现在才熟悉这篇论文。 感谢您将来更新文档!