1. 程式人生 > 其它 >13--泊松迴歸

13--泊松迴歸

泊松迴歸

當通過一系列連續型和/或類別型預測變數來預測計數型結果變數時,泊松迴歸是一個非常有用的工具。為闡述泊松迴歸模型的擬合過程,並探討一些可能出現的問題,我們將使用robust包中的Breslow癲癇資料(Breslow1993)。特別地,我們將討論在治療初期的八週內,抗癲癇藥物對癲癇發病數的影響。

我們就遭受輕微或嚴重間歇性癲癇的病人的年齡和癲癇發病數收集了資料,包含病人被隨機分配到藥物組或者安慰劑組前八週和隨機分配後八週兩種情況。響應變數為sumY(隨機化後八週內癲癇發病數),預測變數為治療條件(Trt)、年齡(Age)和前八週內的基礎癲癇發病數(Base)。之所以包含基礎癲癇發病數和年齡,是因為它們對響應變數有潛在影響。在解釋這些協變數後,我們感興趣的是藥物治療是否能減少癲癇發病數。

首先,看看資料集的統計彙總資訊:

data(breslow.dat, package="robust") #載入資料集breslow.dat

names(breslow.dat)#檢視該資料集中的變數名字

summary(breslow.dat[c(6,7,8,10)])#列出需要的列之間的關係,R語言中索引從1開始

結果分析:基礎和隨機化後的癲癇發病數都有很高的偏度。現在,我們更詳細地考察響應變數。

opar <- par(no.readonly=TRUE)

par(mfrow=c(1,2))

attach(breslow.dat)

hist(sumY, breaks=20, xlab="Seizure Count", main="Distribution of Seizures")

#hist繪製柱狀圖,breaks是一個提供直方圖單元之間斷點的向量,為了使柱狀圖繪製的更好看。

boxplot(sumY ~ Trt, xlab="Treatment", main="Group Comparisons")

#boxplot繪製箱線圖

par(opar)

接下來擬合泊松迴歸:

fit <- glm(sumY ~ Base + Age + Trt, data=breslow.dat, family=poisson())

summary(fit)

結果分析:輸出結果列出了偏差、迴歸引數和引數為0的檢驗。注意,此處預測變數在p<0.05的水平下都非常顯著。

解釋模型引數

:使 coef() 函式可獲取模型係數,或者呼叫 summary() 函式的輸出結果中的Coefficients表格:

將係數進行指數化:

結果分析:現在可以看到,保持其他變數不變,年齡增加一歲,期望的癲癇發病數將乘以1.023。這意味著年齡的增加與較高的癲癇發病數相關聯。更為重要的是,一單位Trt的變化(即從安慰劑到治療組),期望的癲癇發病數將乘以0.86,也就是說,保持基礎癲癇發病數和年齡不變,服藥組相對於安慰劑組癲癇發病數降低了20%

本文來自部落格園,作者:zhang-X,轉載請註明原文連結:https://www.cnblogs.com/YY-zhang/p/15137860.html