1. 程式人生 > 其它 >13--廣義線性模型和 glm()函式介紹

13--廣義線性模型和 glm()函式介紹

1 廣義線性模型和 glm()函式

廣義線性模型擴充套件了線性模型的框架,它包含了非正態因變數的分析。重點關注該框架中兩種流行的模型:Logistic迴歸(因變數為類別型),比如多分類變數(比如差/良好/優秀)和泊松迴歸(因變數為計數型),比如一週交通事故的數目,每日酒水消耗的數量

1.1 glm()函式

R中可通過glm()函式(還可用其他專門的函式)擬合廣義線性模型。它的形式與lm()類似,只是多了一些引數。函式的基本形式為:

glm(formula, family=family(link=function), data=)

表列出了概率分佈(family)和相應預設的連線函式(function

假設你有一個響應變數(Y)、三個預測變數(X1X2X3)和一個包含資料的資料框(mydata)。Logistic迴歸適用於二值響應變數(01)。模型假設Y服從二項分佈,線性模型的擬合形式為:

其中π=μYY的條件均值(即給定一系列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"))

其中,modelglm()函式返回的物件。

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