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 테스트를 수행하는 방법

의견을 추가하다

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