R에서 breusch-godfrey 테스트를 수행하는 방법
선형 회귀의 주요 가정 중 하나는 잔차 사이에 상관 관계가 없다는 것입니다. 즉, 잔차는 독립적입니다.
1차 자기상관을 테스트하기 위해 Durbin-Watson 테스트를 수행할 수 있습니다. 그러나 더 높은 차수에서 자기 상관을 테스트하려면 Breusch-Godfrey 테스트를 수행해야 합니다.
이 테스트에서는 다음과 같은 가정을 사용합니다.
H 0 (귀무가설): p 보다 작거나 같은 차수에 대한 자기상관이 없습니다.
HA (대립가설): p 보다 작거나 같은 특정 차수의 자기상관이 존재합니다.
검정 통계량은 자유도가 p 인 카이제곱 분포를 따릅니다.
이 검정 통계량에 해당하는 p-값이 특정 유의 수준(예: 0.05)보다 낮으면 귀무 가설을 기각하고 특정 낮은 차수 또는 p 와 동일한 잔차 사이에 자기 상관이 존재한다는 결론을 내릴 수 있습니다.
R에서 Breusch-Godfrey 테스트를 수행하려면 lmtest 라이브러리의 bgtest(y ~ x, order = p) 함수를 사용할 수 있습니다.
이 튜토리얼에서는 R에서 이 구문을 사용하는 예를 제공합니다.
예: R의 Breusch-Godfrey 테스트
먼저 두 개의 예측 변수(x1 및 x2)와 응답 변수(y)가 포함된 가짜 데이터 세트를 만들어 보겠습니다.
#create dataset df <- data. frame (x1=c(3, 4, 4, 5, 8, 9, 11, 13, 14, 16, 17, 20), x2=c(7, 7, 8, 8, 12, 4, 5, 15, 9, 17, 19, 19), y=c(24, 25, 25, 27, 29, 31, 34, 34, 39, 30, 40, 49)) #view first six rows of dataset head(df) x1 x2 y 1 3 7 24 2 4 7 25 3 4 8 25 4 5 8 27 5 8 12 29 6 9 4 31
다음으로 lmtest 패키지의 bgtest() 함수를 사용하여 Breusch-Godfrey 테스트를 수행할 수 있습니다.
이 예에서는 차수 p = 3에서 잔차 간의 자기 상관을 테스트합니다.
#load lmtest package library (lmtest) #perform Breusch-Godfrey test bgtest(y ~ x1 + x2, order= 3 , data=df) Breusch-Godfrey test for serial correlation of order up to 3 data: y ~ x1 + x2 LM test = 8.7031, df = 3, p-value = 0.03351
결과에서 검정 통계량은 자유도가 3인 X2 = 8.7031 임을 알 수 있습니다. 해당 p-값은 0.03351 입니다.
이 p-값이 0.05보다 작기 때문에 귀무가설을 기각하고 3보다 작거나 같은 잔차 사이에 자기상관이 있다는 결론을 내릴 수 있습니다.
자기 상관을 처리하는 방법
귀무가설을 기각하고 잔차에 자기상관이 존재한다고 결론을 내리는 경우 문제가 충분히 심각하다고 판단되면 이 문제를 해결할 수 있는 몇 가지 옵션이 있습니다.
- 양의 계열 상관관계를 얻으려면 종속변수 및/또는 독립변수의 시차를 모델에 추가하는 것을 고려하십시오.
- 음의 계열 상관관계의 경우 변수가 과도 하게 지연되지 않았는지 확인하세요.
- 계절 상관관계를 확인하려면 모델에 계절 모형을 추가하는 것이 좋습니다.
추가 리소스
R에서 단순 선형 회귀를 수행하는 방법
R에서 다중 선형 회귀를 수행하는 방법
R에서 Durbin-Watson 테스트를 수행하는 방법