실제로 ncvTest
는 bptest
기본적으로 방정식의 왼쪽을 사용하고 오른쪽을 사용합니다.
의 경우 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에 대한 초기 접근 방식, 옵션으로.
ncvTest
와bptest
, 잔차를 설명 인수를보기 위해 다른 변수를 사용var.formula
하고varformula
각각. 예제에 다른 회귀자를 추가하면 결과가 달라집니다.