2016-07-23 56 views
0

我試圖來計算貝葉斯與結果從fit.m 根據維基百科,數似然可以近似(當噪聲~N(0,sigma^2))爲:MATLAB計算貝葉斯信息準則與fit.m導致

L = -(n/2)*log(2*pi*sigma^2) - (rss(2*sigma^2)) 

其中n爲樣本的數量,K爲自由參數的數目,和RSS作爲殘差平方和和BIC被定義爲:

-2*L + k*log(n) 

但是,這是從fitglm有點不同.m結果甚至對於簡單的多項式模型和差異似乎在使用高階條款時會增加。

因爲我想要擬合高斯模型並計算它們的BIC,所以我不能只使用fitglm.m或者,有沒有其他方法可以用威爾金森符號寫出高斯模型?我對符號不熟悉,所以我不知道是否可能。

回答

0

我不是100%確定這是您的問題,但我認爲您對BIC的定義可能會被誤解。

貝葉斯信息準則(BIC)是一種近似的日誌證據的,並且被定義爲:

其中 是數據, 是您的型號的自適應參數數量, 是數據大小,最重要的是 maximimum後驗估計模型/參數集。

例如比較與簡單得多赤池信息量準則(AIK):

其依賴於通常更簡單,以獲得最大似然估計 的 該模型取而代之。

你的 只是一個參數,它是受到估計。如果 你用這裏從樣本方差得到的,例如,然後簡單地對應於 估計,而不是 之一。

因此,您的差異可能源於使用「正確」估計的內建函數,而您在BIC的「手動」計算中使用了錯誤的函數。

+0

參考文獻:Bishop,C。(2006)「模式識別和機器學習」。 p217 –

+0

另外,歡迎社會:) –

+0

非常感謝Tasos!但我仍然不知道如何計算Pr(D | theta(或sigma?)_ MAP)。它可以通過平方殘差的總和除以樣本數來近似嗎? – user67633