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


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

다음과 같이 계산됩니다.

잔차 = 관측값 – 예측값

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

통계 잔차의 예

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

다음과 같이 계산됩니다.

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

금:

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

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

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

1단계: 데이터 입력

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

 import pandas as pd

#create dataset
df = pd. DataFrame ({' x ': [8, 12, 12, 13, 14, 16, 17, 22, 24, 26, 29, 30],
                   ' y ': [41, 42, 39, 37, 35, 39, 45, 46, 39, 49, 55, 57]})

2단계: 회귀 모델 적합

다음으로 간단한 선형 회귀 모델을 피팅하겠습니다.

 import statsmodels. api as sm

#define response variable
y = df[' y ']

#define explanatory variable
x = df[' x ']

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

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

다음으로 모델의 표준화된 잔차를 계산합니다.

 #create instance of influence
influence = model. get_influence ()

#obtain standardized residuals
standardized_residuals = influence. reside_studentized_internal

#display standardized residuals
print (standardized_residuals)

[ 1.40517322 0.81017562 0.07491009 -0.59323342 -1.2482053 -0.64248883
  0.59610905 -0.05876884 -2.11711982 -0.066556 0.91057211 1.26973888]

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

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

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

 import matplotlib. pyplot as plt

plt. scatter (df.x, standardized_residuals)
plt. xlabel (' x ')
plt. ylabel (' Standardized Residuals ')
plt. axhline (y=0, color=' black ', linestyle=' -- ', linewidth=1)
plt. show ()

추가 리소스

잔류물이란 무엇입니까?
표준화 잔차란 무엇입니까?
R에서 표준화 잔차를 계산하는 방법
Excel에서 표준화 잔차를 계산하는 방법

의견을 추가하다

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