実際には、ncvTest
方程式の左辺を使用し、bptest
デフォルトでは、右辺を使用します。
これは、の場合Y ~ X
、両方のテストで同じ結果が得られることを意味します(のstudentize = F
オプションに関してbptest
)。ただし、などの多変量解析Y ~ X1 + X2
では、結果が異なります。(@ Helix123が指摘したように)
ヘルプファイルからncvTest : var.formula
:「エラー分散の片側式。省略した場合、エラー分散は近似値によって異なります。」つまり、デフォルトでは、フィットされた値が使用されますが、独立変数(X1 + X2)の線形結合を使用することもできます。
bptest : varformula
「デフォルトでは、メインの回帰モデルと同じ説明変数が使用されます。」のヘルプファイルから。
@Francisの同じ例を続ける(パッケージ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テストは、元の1よりも堅牢である」bptest
と、studentize = TRUE
(デフォルト)とvarformula = ~ fitted.values(my.lm)
homoskedasticityための最初のアプローチのためのオプションとして。
ncvTest
とbptest
引数を参照、残差を説明するために別の変数を使用var.formula
し、varformula
それぞれを、。例に別のリグレッサを追加すると、結果は分岐します。