13--廣義線性模型和 glm()函式介紹
1 廣義線性模型和 glm()函式
廣義線性模型擴充套件了線性模型的框架,它包含了非正態因變數的分析。重點關注該框架中兩種流行的模型:Logistic迴歸(因變數為類別型),比如多分類變數(比如差/良好/優秀)和泊松迴歸(因變數為計數型),比如一週交通事故的數目,每日酒水消耗的數量。
1.1 glm()函式
R中可通過glm()函式(還可用其他專門的函式)擬合廣義線性模型。它的形式與lm()類似,只是多了一些引數。函式的基本形式為:
glm(formula, family=family(link=function), data=)
下表列出了概率分佈(family)和相應預設的連線函式(function
假設你有一個響應變數(Y)、三個預測變數(X1、X2、X3)和一個包含資料的資料框(mydata)。Logistic迴歸適用於二值響應變數(0和1)。模型假設Y服從二項分佈,線性模型的擬合形式為:
其中π=μY是Y的條件均值(即給定一系列X的值時Y=1的概率),(π/1–π)為Y=1時的優勢比,log(π/1–π)為對數優勢比,或logit。本例中,log(π/1–π)為連線函式,概率分佈為二項分佈,可用如下程式碼擬合Logistic迴歸模型:
glm(Y~X1+X2+X3, family=gaussian(link="identity"), data=mydata)
總之,廣義線性模型通過擬合響應變數的條件均值的一個函式(不是響應變數的條件均值),
假設響應變數服從指數分佈族中的某個分佈(並不僅限於正態分佈),極大地擴充套件了標準線性模型。模型引數估計的推導依據的是極大似然估計,而非最小二乘法。
1.2 連用的函式
與分析標準線性模型時lm()連用的許多函式在glm()中都有對應的形式,其中一些常見的函
數見下表所示:
1.3 模型擬合和迴歸診斷
當評價模型的適用性時,你可以繪製初始響應變數的預測值與殘差的圖形。例如,如下程式碼
可繪製一個常見的診斷圖:
plot(predict(model, type="response"),
residuals(model, type= "deviance"))
其中,model為glm()函式返回的物件。
R將列出帽子值(hat value)、學生化殘差值和Cook距離統計量的近似值。不過,對於識別異常點的閾值,現在並沒統一答案,它們都是通過相互比較來進行判斷。其中一個方法就是繪製各統計量的參考圖,然後找出異常大的值。例如,如下程式碼可建立三幅診斷圖:
plot(hatvalues(model))
plot(rstudent(model))
plot(cooks.distance(model))
你還可以用其他方法,程式碼如下:
library(car)
influencePlot(model)
它可以建立一個綜合性的診斷圖。在後面的圖形中,橫軸代表槓桿值,縱軸代表學生化殘差
值,而繪製的符號大小與Cook距離大小成正比。
當響應變數有許多值時,診斷圖非常有用;而當響應變數只有有限個值時(比如Logistic回
歸),診斷圖的功效就會降低很多。
本文來自部落格園,作者:zhang-X,轉載請註明原文連結:https://www.cnblogs.com/YY-zhang/p/15137793.html