在拟合 GLM(并檢查殘差)之後,可以使用 z 檢驗一一檢驗估計參數的顯着性,即将估計值與其标準誤差進行比較。
GLM 模型拟合和分析示例
示例 1. 小鼠資料的 GLM 模組化(劑量和反應)
a) 我們輸入資料并拟合邏輯回歸模型。
> summary(it1.lt)
1-pchisq(17.6,24)
模型:
可以與完整模型進行比較。與偏內插補點 17.639 相關的 P 值 0.82(> 0.10)意味着沒有顯着證據拒絕拟合模型。
anova(fi.lgi)
1-pchisq(35.8-17.69, 25-24)
空模型不包含預測變量,在 25 個自由度 (df) 上的偏差為 35.89。當協變量 x 添加到空模型時,偏差的變化是 35.890-17.639=18.25。與自由度為 25-24=1 的卡方分布相比,其 P 值為 1.93 × 10 -5 非常顯着。
是以模型不能通過删除 x 來簡化。x 的系數的 t 檢驗也很重要(P 值 0.0065<0.01)。
截距呢?可以删掉嗎?
> plotx, itte(fi1log,typ"
> pot(,y
圖 1:邏輯回歸的小鼠資料和拟合值。
b)我們拟合一個帶有機率連結的模型。
> summary()
配套模型:
同樣,這兩個參數都很重要(P 值<0.01)
> anova
> 1 - pchisq(35.89-17.49 25-24)
> lines(x, fitte
添加 x 時偏差的變化是顯着的(P 值 =
)。
模型不能通過删除 x 來簡化。
圖 2:小鼠資料和拟合值(虛線:機率連結)。
使用 probit 連結的模型略好于使用 logit 連結的模型,因為偏差更小。在兩個模型中,x 的系數都很顯着(P 值<0.01),這意味着效果随着劑量的增加而增加。
示例 2. 臨床試驗資料(劑量和反應)的 GLM 模組化。
a) 我們輸入資料,然後拟合邏輯回歸模型
> summary(it2.it)
1-pchisq(13.63,6)
與偏內插補點 13.633 相關的 P 值為 0.034<0.05。5% 的水準拒絕拟合模型。
針對 x 繪制殘差揭示了一種依賴模式。
> plot(x, reid(it2.it))
圖 3:僅帶有 x 的拟合模型的殘差圖。
plt(fitdft2lit reid(fi2lot))
是以我們将 x2 添加到模型中。
> summary(ft2qlt)
> 1-pchisq(5.1, 5)
偏差從 13.633 減少到 5.107,不顯着(P 值=0.403>0.05)。
是以,我們不能通過偏差的證據來拒絕這個模型。
plot(fitted(fit2logit), resid(.logit))
圖 4:帶有 x2 的拟合模型的殘差圖。
殘差現在看起來是随機的。
拟合模型為
并且所有參數估計值都很顯着(5%)。對數幾率
以二次方式依賴于 x。
示例 3. 艾滋病資料,泊松
a) 我們輸入資料并使用預設對數連結拟合泊松回歸模型。
> smary(fit.lg)
> 1-pchisq
偏差 29.654 的 P 值為 0.005<0.01 ⇒ 模型被拒絕。
plot(fit3esuals)
圖 5:拟合模型 3
的殘差圖 b) 針對年份指數 x 的殘差圖顯示了依賴模式。是以我們添加
.
> summary(fi3.lg)
> 1-pchisq
[1] 0.1279
16.371 的偏差(P 值為 0.1279>0.10)并不顯着。拟合模型
不能以偏差為由拒絕。但殘差圖隻顯示了比以前稍微随機的模式。
圖 6:拟合模型 3 與 x2 的殘差圖
該模型可以通過使用非規範連結進行改進。
> summary(ft3st)
> 1 - pchisq(16.9, 12)
[1] 0.153
拟合模型的殘差 y = (-0.27571 +0.49277x)2 + e 顯示出更加随機的模式。12 df 上的偏差 16.905 略高于之前模型的 16.371(df=11),但仍然不顯着(P 值=0.1532>0.10)。AIC 較小,為 73.833<75.298。是以,具有平方根連結的模型是首選。
可以删除常數項(“截距”)嗎?
還可以使用哪些其他連結功能?
自測題:
Twenty tobacco budworm moths of each sex were exposed to different doses of the insecticide trans-cypermethrin. The numbers of budworm moths killed during a 3-day exposure were as follows for each sex (male, female) and dose level in mg’s.
Type the data into R as follows. Press Enter at the end of each line including blank lines.
num.killed <- scan()
1 4 9 13 18 20 0 2 6 10 12 16
sex <- scan()
0 0 0 0 0 0 1 1 1 1 1 1
dose <- scan()
1 2 4 8 16 32 1 2 4 8 16 32
Fit two models by doing the following.
ldose <- log(dose)/log(2) #convert to base-2 log dose
ldose #have a look
y <- cbind(num.killed, 20-num.killed) #add number survived
fit1 <- glm(y ~ ldose * sex, family=binomial(link=probit))
fit2 <- glm(y ~ sex + ldose, family=binomial(link=probit))
You may also run the following lines and refer to the chi-square distribution table
anova(fit1,test="Chisq")
summary(fit2)
1. What model is fitted in fit1? Write it formally and define all the terms.
2. How is the model in fit2 differ from that in fit1?
3. Does the model in fit1 fit the data adequately? Use deviance to answer this question.
4. Can the model in fit1 be simplified to the model in fit2? Use change in deviance to answer
this question.
5. Can sex be removed from the model in fit2? Use change in deviance to answer this ques
tion.
6. What are the maximum likelihood estimates of the parameters of the additive model? What
are their standard errors? Test the significance of each parameter using its estimate and
standard error.
7. How does the probability of a kill change with log dose and sex of the budworm moth accord
ing to the additive model?