R에서 breusch-pagan 테스트를 수행하는 방법


Breusch-Pagan 테스트는 회귀 분석에 이분산성이 존재하는지 여부를 확인하는 데 사용됩니다.

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

예: R의 Breusch-Pagan 테스트

이 예에서는 mtcars 내장 R 데이터 세트를 사용하여 회귀 모델을 맞춘 다음 lmtest 라이브러리의 bpttest 함수를 사용하여 Breusch-Pagan 테스트를 수행하여 이분산성이 존재하는지 확인합니다.

1단계: 회귀 모델을 피팅합니다.

먼저 mpg를 응답 변수로 사용하고 disphp를 두 설명 변수로 사용하여 회귀 모델을 피팅합니다.

 #load the dataset
data(mtcars)

#fit a regression model
model <- lm(mpg~disp+hp, data=mtcars)

#view model summary
summary(model)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.735904 1.331566 23.083 < 2nd-16 ***
available -0.030346 0.007405 -4.098 0.000306 ***
hp -0.024840 0.013385 -1.856 0.073679 .  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.127 on 29 degrees of freedom
Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 
F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09

2단계: Breusch-Pagan 테스트를 수행합니다.

다음으로 이분산성이 존재하는지 확인하기 위해 Breusch-Pagan 테스트를 수행합니다.

 #load lmtest library
library(lmtest)

#perform Breusch-Pagan Test
bptest(model)

	studentized Breusch-Pagan test

data: model
BP = 4.0861, df = 2, p-value = 0.1296

검정 통계량은 4.0861 이고 해당 p-값은 0.1296 입니다. p-값이 0.05 이상이므로 귀무가설을 기각할 수 없습니다. 회귀 모델에 이분산성이 존재한다고 주장할 수 있는 충분한 증거가 없습니다.

다음에 무엇을할지

Breusch-Pagan 검정의 귀무가설을 기각하지 못하면 이분산성이 존재하지 않으며 계속해서 원래 회귀의 결과를 해석할 수 있습니다.

그러나 귀무 가설을 기각하면 데이터에 이분산성이 존재한다는 의미입니다. 이 경우 회귀 출력 테이블에 표시되는 표준 오류는 신뢰할 수 없습니다.

이 문제를 해결하는 몇 가지 일반적인 방법은 다음과 같습니다.

1. 반응 변수를 변환합니다. 반응 변수에 대한 변환을 시도할 수 있습니다. 예를 들어 원래 응답 변수 대신 로그 응답 변수를 사용할 수 있습니다. 일반적으로 반응 변수의 로그를 취하는 것은 이분산성을 제거하는 효과적인 방법입니다. 또 다른 일반적인 변환은 반응 변수의 제곱근을 사용하는 것입니다.

2. 가중 회귀를 사용하십시오. 이 유형의 회귀는 적합치의 분산을 기반으로 각 데이터 포인트에 가중치를 할당합니다. 본질적으로 이는 분산이 높은 데이터 포인트에 낮은 가중치를 부여하여 잔차 제곱을 줄입니다. 적절한 가중치를 사용하면 이분산성 문제를 해결할 수 있습니다.

의견을 추가하다

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