이 두 Breusch-Pagan 테스트의 차이점은 무엇입니까?


9

일부 데이터에서 R을 사용하고 내 데이터가 이분법 인지 여부를 확인하려고 시도하면서 Breusch-Pagan 테스트, bptest (package lmtest) 및 ncvTest (package car)의 두 가지 구현이 발견되었습니다 . 그러나 결과가 다릅니다. 둘의 차이점은 무엇입니까? 언제 하나를 사용해야합니까?

> model <- lm(y ~ x)
> bp <- bptest(model)
> bp
studentized Breusch-Pagan test

data:  model 
BP = 3.3596, df = 1, p-value = 0.06681

> ncvTest(model)
Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 3.858704    Df = 1     p = 0.04948855 

이 예제는 테스트에 따르면 내 데이터가 이분법 적이며 다른 경우에는 동성애 적이라는 것을 보여줍니다. 나는 이 질문을 여기에서 찾았 으므로 bptest는 학생 화되고 ncvTest는 그렇지 않을 수 있습니다. 그러나 이것이 무엇을 의미합니까?

답변:


9

귀하의 추측은 맞습니다 ncvTest. Breusch-Pagan 테스트의 원래 버전을 수행합니다. 실제로와 비교하여 확인할 수 있습니다 bptest(model, studentize = FALSE). @ Helix123이 지적했듯이 기본 인수와 같은 다른 측면에서도 두 가지 기능이 다르므로 패키지 설명서를 확인 lmtest하고 car자세한 내용을 확인해야합니다 .

학생 화 된 Breusch-Pagan 테스트는 R. Koenker가 그의 1981 년 기사 인 이분산성 테스트에 대한 노트 작성에서 제안했습니다 . 이 둘의 가장 분명한 차이점은 다른 테스트 통계를 사용한다는 것입니다. 즉, 학생 화 된 테스트 통계로, 원래의ξξ^

ξ^=λξ,λ=Var(ε2)2Var(ε)2.

다음은 방금 작성한 내용 ( faraway패키지 에서 가져온 데이터)을 보여주는 코드 스 니펫입니다 .

> mdl = lm(final ~ midterm, data = stat500)
> bptest(mdl)

    studentized Breusch-Pagan test

data:  mdl
BP = 0.86813, df = 1, p-value = 0.3515

> bptest(mdl, studentize = FALSE)

    Breusch-Pagan test

data:  mdl
BP = 0.67017, df = 1, p-value = 0.413

> ncvTest(mdl)
Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 0.6701721    Df = 1     p = 0.4129916 
> 
> n = nrow(stat500)
> e = residuals(mdl)
> bpmdl = lm(e^2 ~ midterm, data = stat500)
> lambda = (n - 1) / n * var(e^2) / (2 * ((n - 1) / n * var(e))^2)
> Studentized_bp = n * summary(bpmdl)$r.squared
> Original_bp = Studentized_bp * lambda
> 
> Studentized_bp
[1] 0.8681335
> Original_bp
[1] 0.6701721

원래 BP 테스트를 학생 화하려는 이유는 R. Koenker의 기사에서 직접 인용하면 도움이 될 수 있습니다.

...이 분석에서 두 가지 결론이 나옵니다.

  1. Breusch와 이교도 테스트의 점근 적 전력의 분포의 첨도에 매우 민감 하고,ε
  2. 검정의 점근선 크기는 가우시안 첨도의 특수한 경우에만 정확합니다.

이전의 결론은 Koenker and Bassett (1981)에서 이분산성에 대한 대안적이고 강력한 테스트가 제안 된 곳에서 확대되었다. 후자의 결론은 Breusch와 Pagan이 제안한 유의 수준이 가우스 조건에서만 정확함을 의미합니다 . 이러한 조건은 일반적으로 눈먼 믿음에 가정 및 확인 악명 어려운되기 때문에, Breusch와 이교도 시험의 수정에 대한 분배의 합리적 큰 클래스의 어떤 올바르게 "studentise"검정 통계량과 점근 적으로 정확한 유의 수준에 리드를 제안 .εε

요컨대, 학생 화 된 BP 테스트는 원래의 테스트보다 더 강력합니다.


2
그러나, 또 다른 차이 : ncvTestbptest, 잔차를 설명 인수를보기 위해 다른 변수를 사용 var.formula하고 varformula각각. 예제에 다른 회귀자를 추가하면 결과가 달라집니다.
Helix123

@ Helix123 : 고맙습니다.
Francis

2

실제로 ncvTestbptest기본적으로 방정식의 왼쪽을 사용하고 오른쪽을 사용합니다.

의 경우 Y ~ X두 테스트 모두의 studentize = F옵션에 관계없이 동일한 결과를 제공합니다 bptest. 그러나와 같은 다변량 분석 Y ~ X1 + X2에서는 결과가 달라집니다. (@ Helix123이 지적했듯이)

덕분 파일로부터 ncvTest : var.formula"오류 분산을위한 한면 화학식; 생략하면 에러 분산에 따라 피팅 된 값 ." 즉, 기본적으로 적합치가 사용되지만 독립 변수 (X1 + X2)의 선형 조합도 사용할 수 있습니다.

도움말 파일에서 bptest : varformula: "기본적으로 주 회귀 모델에서 와 동일한 설명 변수 가 사용됩니다."

@Francis의 동일한 예제 (data stat500, faraway패키지에서)를 계속하십시오 .

> mdl_t = lm(final ~ midterm + hw, data = stat500)

적합치를 사용한 BP 테스트 :

> ncvTest(mdl_t) # Default

Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 0.6509135    Df = 1     p = 0.4197863 

> bptest(mdl_t, varformula = ~ fitted.values(mdl_t), studentize = F)

Breusch-Pagan test

data:  mdl_t
BP = 0.65091, df = 1, p-value = 0.4198

예측 변수의 선형 조합을 사용한 BP 테스트 :

> ncvTest(mdl_t, var.formula = ~ midterm + hw)
Non-constant Variance Score Test 
Variance formula: ~ midterm + hw 
Chisquare = 0.7689743    Df = 2     p = 0.6807997 

> bptest(mdl_t, studentize = F) # Default

Breusch-Pagan test

data:  mdl_t
BP = 0.76897, df = 2, p-value = 0.6808

"선형 조합 옵션"을 사용하면 특정 독립 변수의 선형 의존성과 관련된 이분산성을 조사 할 수 있습니다. 예를 들어 hw변수 만 :

> ncvTest(mdl_t, var.formula = ~ hw)
Non-constant Variance Score Test 
Variance formula: ~ hw 
Chisquare = 0.04445789    Df = 1     p = 0.833004 

> bptest(mdl_t, varformula = ~ stat500$hw, studentize = F)

Breusch-Pagan test

data:  mdl_t
BP = 0.044458, df = 1, p-value = 0.833

@Francis가 요약 된 바와 같이 마지막으로, 나는 보통으로 이동, "즉, 스튜던트 BP 테스트는 원래보다 더 강력하다" bptest와, studentize = TRUE(기본값)와 varformula = ~ fitted.values(my.lm)homoskedasticity에 대한 초기 접근 방식, 옵션으로.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.