回歸診斷
來自專欄 R語言學習歷程
本次學習針對的是R語言實戰,第8章第二節的學習總結。
下面開始我們的學習之旅
首先使用的是函數confint:這個函數是列出置信區間95%
針對這個問題函數的具體含義,我理解是在保持其他變數不變的情況下,如果這個變數改變1%,那麼預測變數在置信區間內的改變情況。
具體例子如下:
> states <- as.data.frame(state.x77[,c("Murder", "Population",+ "Illiteracy", "Income", "Frost")])> fit <- lm(Murder ~ Population + Illiteracy + Income + Frost, data=states)> confint(fit) 2.5 % 97.5 %(Intercept) -6.552191e+00 9.0213182149Population 4.136397e-05 0.0004059867Illiteracy 2.381799e+00 5.9038743192Income -1.312611e-03 0.0014414600Frost -1.966781e-02 0.0208304170
這裡只有Illiterate(文憑)的值不是近似為0,其他Population,Income,Frost,在置信區間內的變化都近似為0,所以可以推測Frost,Income,population對murder的影響無關。
不過,書中也提及這些結果,都只建立在你的數據滿足統計假設的前提之上。
接下來引入回歸診斷技術向你提供了評價回歸模型適用性的必要工具,它能幫助發現並糾正問題。
- 標準方法
最常見的方法就是對lm()函數返回的對象使用plot()函數,可以生成評價模型擬合情況的四幅圖形。例如
fit <- lm(weight ~ height, data=women)par(mfrow=c(2,2))plot(fit)
圖形如下:
這四副圖從上往下,從左往右依次是:
residuals vs Fitted:殘差與擬合圖,看到一個曲線關係,這暗示著你可能需要對回
歸模型加上一個二次項。
normal Q~Q:正態Q-Q圖,針對QLS的統計假設中的正態性,圖上的點應該落在呈45度角的直線上;若不是如此,那麼就違反了正態性的假設
Scale-Location:尺寸位置圖,滿足同方差性要求在水平線周圍的點是隨機分布的,這個圖基本滿足
Residuals vs Leverage(殘差與槓桿圖):提供了你可能關注的單個觀測點的信息。從圖形可以鑒別出離群點、高槓桿值點和強影響點
下面詳細介紹這幾個概率
- 離群點:
表明擬合回歸模型對其預測效果不佳(產生了巨大的或正或負的殘差)。
- 高槓桿值點:
表明它是一個異常的預測變數值的組合。也就是說,在預測變數空間中,它是一個離群點。因變數值不參與計算一個觀測點的槓桿值
- 強影響點:
表明它對模型參數的估計產生的影響過大,非常不成比例。強影響點可以通過Cook距離即Cook』s D統計量來鑒別
從另外一個例子來看
newfit <- lm(weight ~ height + I(height^2), data=women)par(opar)par(mfrow=c(2,2))plot(newfit)par(opar)
相比與前一幅圖,Q~Q的點更多的落在45%的直線上,說明更加符合正態性。
另外第4附圖,觀測點15,13距離Cook『s distance的距離最遠,屬於離群點。
對離群點的處理,刪除這兩個觀測點
code修改:
newfit <- lm(weight ~ height + I(height^2), data=women[-c(13,15),])par(mfrow=c(2,2))plot(newfit)
圖形為:
最後針對多元回歸問題
library(car)states <- as.data.frame(state.x77[,c("Murder", "Population", "Illiteracy", "Income", "Frost")])fit <- lm(Murder ~ Population + Illiteracy + Income + Frost, data=states)par(mfrow=c(2,2))plot(fit)
繪製圖形為:
在這個圖中發現neveda這組觀測值是一個離群點。
推薦閱讀:
※讀懂回歸分析結果-SPSS為例
※第二十一章 regression演算法——線性回歸&局部加權回歸演算法(上)
※分類分析 & 回歸分析
※總是忘做檢驗的線性回歸(1)--內部檢驗