Python에서 durbin-watson 테스트를 수행하는 방법


선형 회귀의 가정 중 하나는 잔차 간에 상관 관계가 없다는 것입니다. 즉, 잔차는 독립적인 것으로 가정됩니다.

이 가정이 충족되는지 확인하는 한 가지 방법은 회귀 잔차에서 자기상관의 존재를 감지하는 데 사용되는 Durbin-Watson 테스트를 수행하는 것입니다. 이 테스트에서는 다음과 같은 가정을 사용합니다.

H 0 (귀무가설): 잔차 간에 상관관계가 없습니다.

H A (대립 가설): 잔차는 자기상관되어 있습니다.

검정 통계량은 대략 2*(1-r)과 같습니다. 여기서 r은 잔차의 표본 자기상관입니다. 따라서 테스트 통계량은 다음과 같이 해석하면 항상 0과 4 사이입니다.

  • 검정 통계량 2 는 계열 상관이 없음을 나타냅니다.
  • 검정 통계량이 0 에 가까울수록 양의 계열 상관 관계가 있다는 증거가 더 많습니다.
  • 검정 통계량이 4 에 가까울수록 음의 계열 상관 관계가 있다는 증거가 더 많습니다.

일반적으로 1.5에서 2.5 사이의 테스트 통계 값은 정상으로 간주됩니다. 그러나 이 범위를 벗어난 값은 자기상관에 문제가 있음을 나타낼 수 있습니다.

이 튜토리얼에서는 Python에서 Durbin-Watson 테스트를 수행하는 방법을 설명합니다.

예: Python의 Durbin-Watson 테스트

10명의 농구 선수의 속성을 설명하는 다음과 같은 데이터 세트가 있다고 가정합니다.

 import numpy as np
import pandas as pd

#create dataset
df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view dataset
df

	rating points assists rebounds
0 90 25 5 11
1 85 20 7 8
2 82 14 7 10
3 88 16 8 6
4 94 27 5 6
5 90 20 7 9
6 76 12 6 6
7 75 15 9 10
8 87 14 9 10
9 86 19 5 7

등급을 반응 변수로 사용하고 다른 세 변수를 예측 변수로 사용하여 다중 선형 회귀 모델을 적합하다고 가정합니다.

 from statsmodels.formula.api import ols

#fit multiple linear regression model
model = ols('rating ~ points + assists + rebounds', data=df). fit ()

#view model summary
print(model.summary())

회귀 모델 잔차가 자기상관되어 있는지 여부를 확인하기 위해 statsmodels 라이브러리의 durbin_watson() 함수를 사용하여 Watson Durbin을 수행할 수 있습니다.

 from statsmodels.stats.stattools import durbin_watson

#perform Durbin-Watson test
durbin_watson(model.resid)

2,392

검정 통계량은 2.392 입니다. 이 값은 1.5에서 2.5 사이이므로 이 회귀 모델에서는 자기 상관이 문제가 되지 않는다고 간주합니다.

자기 상관을 처리하는 방법

귀무가설을 기각하고 잔차에 자기상관이 존재한다고 결론을 내리는 경우 문제가 충분히 심각하다고 판단되면 이 문제를 해결할 수 있는 몇 가지 옵션이 있습니다.

1. 양의 계열 상관관계를 얻으려면 종속변수 및/또는 독립변수의 시차를 모델에 추가하는 것을 고려하십시오.

2. 음의 계열 상관관계의 경우 변수가 과도 하게 지연되지 않았는지 확인하십시오.

3. 계절 상관관계를 확인하려면 모델에 계절 더미를 추가하는 것이 좋습니다.

의견을 추가하다

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