1. 程式人生 > >迴歸模型中殘差的三種形式(轉)

迴歸模型中殘差的三種形式(轉)

原文: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化殘差執行結果