迴歸模型中殘差的三種形式(轉)
原文:https://baijiahao.baidu.com/s?id=1581878577084855837&wfr=spider&for=pc
殘差分析是迴歸診斷的方向之一。迴歸分析中常用的殘差有三種,分別為普通殘差、標準化殘差和學生化殘差。
1. 普通殘差(residual)
普通殘差等於y觀測值減去y擬合值的差值。R語言中可利用residuals( )呼叫迴歸模型的普通殘差。也可先用predict()函式呼叫迴歸模型的擬合值,然後計算觀測值與擬合值的差值。
x=c(274, 180, 375, 205, 86, 265, 98, 330, 195, 53, 430, 372, 236, 157, 370)
y=c(162, 120, 223, 131, 67, 169, 81, 192, 116, 55,252, 234, 144, 103, 212)
lm.reg<-lm(y~x)< span="">
residuals(lm.reg)
y-predict(lm.reg)
程式執行結果:
普通殘差執行結果
2. 標準化殘差(Standardized residual)
標準化殘差又叫內學生化殘差,是普通殘差的標準化形式。R語言中可利用rstandard( )呼叫迴歸模型的標準化殘差。其計算公式為:
標準化殘差公式
其中σ^為迴歸模型中的誤差均方的開平方,ε^為普通殘差。hii為帽子矩陣的對角線元素。
#直接呼叫
rstandard(lm.reg)
#呼叫帽子矩陣的對角線元素
h=hatvalues(lm.reg)
#計算MSE
mse=sum((residuals(lm.reg)-mean(residuals(lm.reg)))^2)/13
#用公式計算標準化殘差
standard_error= residuals(lm.reg)/(sqrt(mse*(1-h)))
standard_error
程式執行結果:
標準化殘差執行結果
標準化殘差執行結果
3. 學生化殘差(Studentized Residual)
學生化殘差又叫T化殘差或外學生化殘差。由於殘差計算為樣本資料,因此普通殘差標準化後並不服從標準正態分佈而是T分佈,故T化殘差是刪除第i個樣本資料後由餘下的資料計算的殘差。
R語言中可利用rstudent( )呼叫迴歸模型的T化殘差。其計算公式為:
T化殘差公式
T化殘差公式
σi^為刪除第i個數據後所擬合迴歸模型的誤差均方開平方。ε^為迴歸模型的普通殘差。
#直接呼叫
rstudent(lm.reg)
#計算刪除第i個數據後的σi^
data=data.frame(x,y)
mse_s=c()
for (i in 1:15) {
data1=data[-i,]
lm.reg1=lm(y~x,data=data1)
mse_1=sum((residuals(lm.reg1)-mean(residuals(lm.reg1)))^2)/12
mse_s=c(mse_s,mse_1)
}
#用公式計算T化殘差
student_error= residuals(lm.reg)/sqrt(mse_s*(1-h))
student_error
程式執行結果:
T化殘差執行結果