正常 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 ,非常感謝您的詳細解釋和這篇文章,我直到現在才熟悉這篇論文。 感謝您將來更新文檔!