原文鏈接:http://tecdat.cn/?p=14874
通常,GLM的連接函數可能比分布更重要。為了說明,考慮以下數據集,其中包含5個觀察值
-
x = c(1,2,3,4,5)
-
y = c(1,2,4,2,6)
-
base = data.frame(x,y)
然后考慮具有不同分布的幾個模型,以及一個鏈接
-
regNId = glm(y~x,family=gaussian(link="identity"),data=base)
-
regNlog = glm(y~x,family=gaussian(link="log"),data=base)
-
regPId = glm(y~x,family=poisson(link="identity"),data=base)
-
regPlog = glm(y~x,family=poisson(link="log"),data=base)
-
regGId = glm(y~x,family=Gamma(link="identity"),data=base)
-
regGlog = glm(y~x,family=Gamma(link="log"),data=base)
-
regIGId = glm(y~x,family=inverse.gaussian(link="identity"),data=base)
-
regIGlog = glm(y~x,family=inverse.gaussian(link="log"),data=base
還可以考慮一些Tweedie分布,甚至更一般
考慮使用線性鏈接函數在第一種情況下獲得的預測
-
-
plot(x,y,pch=19)
-
abline(regNId,col=darkcols[1])
-
abline(regPId,col=darkcols[2])
-
abline(regGId,col=darkcols[3])
-
abline(regIGId,col=darkcols[4])
-
abline(regTwId,lty=2)
這些預測非常接近。在指數預測的情況下,我們獲得
我們實際上可以近距離看。例如,在線性情況下,考慮使用Tweedie模型獲得的斜率(實際上將包括此處提到的所有參數famile)
這里的坡度總是非常接近,如果我們添加一個置信區間,則
對於Gamma回歸或高斯逆回歸,由於方差是預測的冪,因此,如果預測較小,則方差應該較小。因此,在圖的左側,誤差應該較小,並且方差函數的功效更高。
-
-
-
-
-
plot(Vgamma,Verreur,type="l",lwd=3,ylim=c(-.1,.04),xlab="power",ylab="error")
-
abline(h=0,lty=2)
當然,我們可以對指數模型做同樣的事情
或者,如果我們添加置信區間,我們將獲得
因此,這里的“斜率”也非常相似...如果我們看一下在圖表左側產生的誤差,可以得出
-
-
plot(Vgamma,Verreur,type="l",lwd=3,ylim=c(.001,.32),xlab="power",ylab="error")
因此,分布通常也不是GLM上最重要的一點。