目前,回歸診斷不僅用于一般線性模型的診斷,還被逐漸推廣應用于廣義線性模型領域(如用于logistic回歸模型),但由于一般線性模型與廣義線性模型在殘差分布的假定等方面有所不同,是以推廣和應用還存在許多問題。鑒于此,本文使用圖表考察logistic模型的拟合優度。
如何處理從邏輯回歸中得到的殘差圖? 為了更好地了解,讓我們考慮以下資料集
glm(Y~X1+X2,family=binomial)
如果我們使用R的診斷圖,第一個是殘差的散點圖,對照預測值。
> plot(reg,which=1)
也可以
- > plot(predict(reg),residuals(reg))
- > abline(h=0,lty=2 )
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAnYldHL0FWby9mZvwFN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcV2Zh1Wa9M3clN2byBXLzN3btgHL9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yN0ADO2YTOlJTM0cTMhhjNzYzXwATMxQTM3AzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
為什麼我們會有這兩條線的點?因為我們預測了一個變量取值為0或1的機率。當我們使用彩色時,可以更清楚地看到,如果真值是0,那麼我們總是預測得更多,殘差必須是負的(藍點),如果真值是1,那麼我們就低估了,殘差必須是正的(紅點)。當然,還有一個單調的關系
> plot(predict(reg),residuals(reg) )
點正好在一條平滑的曲線上,是預測值的一個函數。
現在,從這個圖上看不出什麼。我們運作一個局部權重回歸,看看發生了什麼。
lowess(predict(reg),residuals(reg)
這是我們在第一個診斷函數中所得到的。但在這個局部回歸中,我們沒有得到置信區間。我們可以假設圖中水準線非常接近虛線嗎?
segments( fit+2* se.fit, fit-2* se.fit )
可以。這個圖表表明什麼?
事實上,該圖可能不是觀察殘差的唯一方法。如果不把它們與兩個解釋變量繪制在一起呢?例如,如果我們将殘差與第二個解釋變量作對比,我們會得到
> lines(lowess(X2,residuals(reg))
對照一下,該圖與我們之前的圖相似。
如果我們現在看一下與第一個解釋變量的關系:
> lines(lowess(X1,residuals(reg))
因為我們可以清楚地識别出二次方的影響。這張圖表明,我們應該對第一個變量的平方進行回歸。而且可以看出它是一個重要的影響因素。
現在,如果我們運作一個包括這個二次方效應的回歸,我們會得到什麼。
glm(Y~X1+I(X1^2)+X2,family=binomial)
- 圖形可以用來觀察可能出錯的地方,對可能的非線性轉換有更多的直覺判斷。
- 圖形不是萬能的,從理論上講,殘差線應該是一條水準的直線。但我們也希望模型盡可能的簡單。是以,在某個階段,我們也許應該依靠統計檢驗和置信區間。