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에서 표준화 잔차를 계산하는 방법