泊松回歸中的對數似然函數
在泊松回歸中,我需要計算偏差,為此我需要計算對數似然函數。這似乎並不難,因為我有估計的模型和我的數據集,我只需要應用維基百科中給出的下一個公式。
但是我需要將這個模型與飽和模型進行比較,即具有 61 個參數的回歸,即觀察數,而空模型是僅具有截距的模型。
在這兩種情況下,如何計算對數似然函數?
另外,我很困惑,因為我試圖在 excel 中復制對數似然函數的計算,在 RI 中使用了該函數在 excel 上面給出的公式中,但是當我求和時,我得到了完全不同的值。如何復制 R 估計器?
在泊松回歸中有兩個偏差。
Null Deviance顯示僅包含截距(大均值)的模型預測響應變量的效果如何。
並且殘差是最大似然估計 (MLE) 評估的對數似然與“飽和模型”的對數似然之間差異的 -2 倍(每個觀測值具有單獨參數的理論模型,因此是完美的合身)。
現在讓我們寫下這些似然函數。
認為具有泊松分佈,其均值取決於向量,為簡單起見,我們假設只有一個預測變量。我們寫
對於泊松回歸,我們可以選擇對數或恆等鏈接函數,我們在這裡選擇對數鏈接。
是截距。
帶參數的似然函數和是
對數似然函數是:
當我們計算零偏差時,我們將插入進入.將通過僅截距回歸計算,將被設置為零。我們寫
接下來我們需要計算“飽和模型”的對數似然(一個理論模型,每個觀察都有一個單獨的參數),因此,我們有參數在這裡。 (注意,在,我們只有兩個參數,即只要主體對我們認為它們相同的預測變量具有相同的值)。
“飽和模型”的對數似然函數是
那麼它可以寫成:
(筆記,, 什麼時候和,這將在以後有用,而不是現在)
設置為零,我們得到
現在放 進入, 從何時起我們可以看到將為零。 現在對於似然函數我們只能關心的“飽和模型”, 我們寫
從你可以看到我們為什麼需要自從當
現在讓我們計算偏差。
殘餘偏差=
零偏差=
好的,接下來讓我們用 R 計算兩個偏差,然後用“手”或 excel 計算。
x<- c(2,15,19,14,16,15,9,17,10,23,14,14,9,5,17,16,13,6,16,19,24,9,12,7,9,7,15,21,20,20) y<-c(0,6,4,1,5,2,2,10,3,10,2,6,5,2,2,7,6,2,5,5,6,2,5,1,3,3,3,4,6,9) p_data<-data.frame(y,x) p_glm<-glm(y~x, family=poisson, data=p_data) summary(p_glm)
你可以看到,零偏差=48.31,殘餘偏差=27.84。
這是僅攔截模型
p_glm2<-glm(y~1,family=poisson, data=p_data) summary(p_glm2)
你可以看到
現在讓我們手動(或通過 excel)計算這兩個偏差
l_saturated<-c() l_regression<-c() l_intercept<-c() for(i in 1:30){ l_regression[i]<--exp( 0.30787 +0.07636 *x[i])+y[i]*(0.30787+0.07636 *x[i])- log(factorial(y[i]))} l_reg<-sum(l_regression) l_reg # -60.25116 ###log likelihood for regression model for(i in 1:30){ l_saturated[i]<-y[i]*try(log(y[i]),T)-y[i]-log(factorial(y[i])) } #there is one y_i=0 need to take care l_sat<-sum(l_saturated,na.rm=T) l_sat #-46.33012 ###log likelihood for saturated model for(i in 1:30){ l_intercept[i]<--exp(1.44299)+y2[i]*(1.44299)-log(factorial(y[i])) } l_inter<-sum(l_intercept) l_inter #-70.48501 ##log likelihood for intercept model only -2*(l_reg-l_sat) #27.84209 ##Residual Deviance -2*(l_inter-l_sat) ##48.30979 ##Null Deviance
您可以看到使用這些公式並手動計算,您可以獲得與 R 的 GLM 函數計算的完全相同的數字。