R에서 표준화 잔차를 계산하는 방법


잔차는 회귀 모델 에서 관찰된 값과 예측된 값 간의 차이입니다.

다음과 같이 계산됩니다.

잔차 = 관측값 – 예측값

관측값을 플로팅하고 적합 회귀선을 겹쳐 놓으면 각 관측치 의 잔차는 관측치와 회귀선 사이의 수직 거리가 됩니다.

통계 잔차의 예

회귀 모델에서 이상값을 식별하기 위해 자주 사용하는 잔차 유형 중 하나를 표준화된 잔차 라고 합니다.

다음과 같이 계산됩니다.

r i = ei / s( ei ) = ei / RSE√ 1-h ii

금:

  • e i : i 번째 잔기
  • RSE: 모델의 잔차 표준 오차
  • h ii : i번째 관측치의 상승

실제로는 절댓값이 3보다 큰 표준화 잔차를 이상값으로 간주하는 경우가 많습니다.

이 튜토리얼에서는 R에서 표준화된 잔차를 계산하는 방법에 대한 단계별 예를 제공합니다.

1단계: 데이터 입력

먼저 R에서 작업할 작은 데이터 세트를 만듭니다.

 #create data
data <- data.frame(x=c(8, 12, 12, 13, 14, 16, 17, 22, 24, 26, 29, 30),
                   y=c(41, 42, 39, 37, 35, 39, 45, 46, 39, 49, 55, 57))

#viewdata
data

    xy
1 8 41
2 12 42
3 12 39
4 13 37
5 14 35
6 16 39
7 17 45
8 22 46
9 24 39
10 26 49
11 29 55
12 30 57

2단계: 회귀 모델 적합

다음으로 간단한 선형 회귀 모델을 맞추기 위해 lm() 함수를 사용합니다.

 #fit model
model <- lm(y ~ x, data=data)

#view model summary
summary(model) 

Call:
lm(formula = y ~ x, data = data)

Residuals:
    Min 1Q Median 3Q Max 
-8.7578 -2.5161 0.0292 3.3457 5.3268 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 29.6309 3.6189 8.188 9.6e-06 ***
x 0.7553 0.1821 4.148 0.00199 ** 
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.442 on 10 degrees of freedom
Multiple R-squared: 0.6324, Adjusted R-squared: 0.5956 
F-statistic: 17.2 on 1 and 10 DF, p-value: 0.001988

3단계: 표준화된 잔차 계산

다음으로 내장 함수 rstandard()를 사용하여 모델의 표준화된 잔차를 계산합니다.

 #calculate the standardized residuals
standard_res <- rstandard(model)

#view the standardized residuals
standard_res

          1 2 3 4 5 6 
 1.40517322 0.81017562 0.07491009 -0.59323342 -1.24820530 -0.64248883 
          7 8 9 10 11 12 
 0.59610905 -0.05876884 -2.11711982 -0.06655600 0.91057211 1.26973888

원하는 경우 표준화된 잔차를 원본 데이터 프레임에 추가할 수 있습니다.

 #column bind standardized residuals back to original data frame
final_data <- cbind(data, standard_res)

#view data frame
    xy standard_res
1 8 41 1.40517322
2 12 42 0.81017562
3 12 39 0.07491009
4 13 37 -0.59323342
5 14 35 -1.24820530
6 16 39 -0.64248883
7 17 45 0.59610905
8 22 46 -0.05876884
9 24 39 -2.11711982
10 26 49 -0.06655600
11 29 55 0.91057211
12 30 57 1.26973888

그런 다음 표준화된 잔차를 기준으로 각 관측치를 가장 큰 것부터 가장 작은 것까지 정렬하여 어떤 관측치가 이상치에 가장 가까운지 알아볼 수 있습니다.

 #sort standardized residuals descending
final_data[ order (-standard_res),]

    xy standard_res
1 8 41 1.40517322
12 30 57 1.26973888
11 29 55 0.91057211
2 12 42 0.81017562
7 17 45 0.59610905
3 12 39 0.07491009
8 22 46 -0.05876884
10 26 49 -0.06655600
4 13 37 -0.59323342
6 16 39 -0.64248883
5 14 35 -1.24820530
9 24 39 -2.11711982

결과에서 표준화된 잔차 중 어느 것도 절대값 3을 초과하지 않는다는 것을 알 수 있습니다. 따라서 어떤 관측값도 이상값으로 나타나지 않습니다.

4단계: 표준화된 잔차 시각화

마지막으로, 표준화된 잔차에 대한 예측 변수의 값을 시각화하기 위해 산점도를 만들 수 있습니다.

 #plot predictor variable vs. standardized residuals
plot(final_data$x, standard_res, ylab=' Standardized Residuals ', xlab=' x ') 

#add horizontal line at 0
abline(0, 0)

추가 리소스

잔류물이란 무엇입니까?
표준화 잔차란 무엇입니까?
다중 선형 회귀 소개

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다