In der Praxis wird ncvTest
standardmäßig die linke Seite der Gleichung und bptest
standardmäßig die rechte Seite verwendet.
Dies bedeutet, dass in einem Fall von Y ~ X
beide Tests die gleichen Ergebnisse liefern (in Bezug auf die studentize = F
Option von bptest
). Bei einer multivariaten Analyse wie Y ~ X1 + X2
sind die Ergebnisse jedoch unterschiedlich. (Wie @ Helix123 hervorhob)
Aus der Hilfedatei von ncvTest : var.formula
: "Eine einseitige Formel für die Fehlervarianz; wenn weggelassen, hängt die Fehlervarianz von den angepassten Werten ab ." Dies bedeutet, dass standardmäßig die angepassten Werte verwendet werden, aber auch eine lineare Kombination der unabhängigen Variablen (X1 + X2) verwendet werden kann.
Aus der Hilfedatei von bptest : varformula
: "Standardmäßig werden die gleichen erklärenden Variablen wie im Hauptregressionsmodell verwendet."
Fortsetzung des gleichen Beispiels von @Francis (Daten stat500
aus faraway
Paket):
> mdl_t = lm(final ~ midterm + hw, data = stat500)
BP-Test unter Verwendung angepasster Werte:
> 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-Test unter Verwendung einer linearen Kombination von Prädiktoren:
> 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
Die "lineare Kombinationsoption" ermöglicht die Untersuchung der Heteroskedastizität, die mit der linearen Abhängigkeit einer bestimmten unabhängigen Variablen verbunden ist. Zum Beispiel nur die hw
Variable:
> 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
Wie @Francis zusammenfasste: "Kurz gesagt, der studentisierte BP-Test ist robuster als der ursprüngliche", gehe ich normalerweise bptest
mit studentize = TRUE
(Standard) und varformula = ~ fitted.values(my.lm)
als Optionen für einen ersten Ansatz zur Homoskedastizität vor.
ncvTest
undbptest
verschiedene Variablen verwenden , um die Residuen zu erklären, siehe Argumentevar.formula
undvarformula
sind. Die Ergebnisse weichen voneinander ab, sobald Sie Ihrem Beispiel einen weiteren Regressor hinzufügen.