拓端tecdat|R語言中廣義線性模型(GLM)中的分布和連接函數分析


原文鏈接:http://tecdat.cn/?p=14874

 

通常,GLM的連接函數可能比分布更重要。為了說明,考慮以下數據集,其中包含5個觀察值

  1.  
    x = c(1,2,3,4,5)
  2.  
    y = c(1,2,4,2,6)
  3.  
    base = data.frame(x,y)

然后考慮具有不同分布的幾個模型,以及一個鏈接

  1.  
    regNId = glm(y~x,family=gaussian(link="identity"),data=base)
  2.  
    regNlog = glm(y~x,family=gaussian(link="log"),data=base)
  3.  
    regPId = glm(y~x,family=poisson(link="identity"),data=base)
  4.  
    regPlog = glm(y~x,family=poisson(link="log"),data=base)
  5.  
    regGId = glm(y~x,family=Gamma(link="identity"),data=base)
  6.  
    regGlog = glm(y~x,family=Gamma(link="log"),data=base)
  7.  
    regIGId = glm(y~x,family=inverse.gaussian(link="identity"),data=base)
  8.  
    regIGlog = glm(y~x,family=inverse.gaussian(link="log"),data=base

還可以考慮一些Tweedie分布,甚至更一般

考慮使用線性鏈接函數在第一種情況下獲得的預測

  1.  
     
  2.  
    plot(x,y,pch=19)
  3.  
    abline(regNId,col=darkcols[1])
  4.  
    abline(regPId,col=darkcols[2])
  5.  
    abline(regGId,col=darkcols[3])
  6.  
    abline(regIGId,col=darkcols[4])
  7.  
    abline(regTwId,lty=2)

 

 

這些預測非常接近。在指數預測的情況下,我們獲得

 

我們實際上可以近距離看。例如,在線性情況下,考慮使用Tweedie模型獲得的斜率(實際上將包括此處提到的所有參數famile)

 

這里的坡度總是非常接近,如果我們添加一個置信區間,則

 

對於Gamma回歸或高斯逆回歸,由於方差是預測的冪,因此,如果預測較小,則方差應該較小。因此,在圖的左側,誤差應該較小,並且方差函數的功效更高。

  1.  
     
  2.  
     
  3.  
     
  4.  
     
  5.  
    plot(Vgamma,Verreur,type="l",lwd=3,ylim=c(-.1,.04),xlab="power",ylab="error")
  6.  
    abline(h=0,lty=2)

 

 

當然,我們可以對指數模型做同樣的事情

 

 

或者,如果我們添加置信區間,我們將獲得

 

  

因此,這里的“斜率”也非常相似...如果我們看一下在圖表左側產生的誤差,可以得出

  1.  
     
  2.  
    plot(Vgamma,Verreur,type="l",lwd=3,ylim=c(.001,.32),xlab="power",ylab="error")

 

 

因此,分布通常也不是GLM上最重要的一點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM