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回
歸),診斷圖的功效就會降低很多。