In der Praxis wird ncvTeststandardmäßig die linke Seite der Gleichung und bpteststandardmäßig die rechte Seite verwendet.
Dies bedeutet, dass in einem Fall von Y ~ Xbeide Tests die gleichen Ergebnisse liefern (in Bezug auf die studentize = FOption von bptest). Bei einer multivariaten Analyse wie Y ~ X1 + X2sind 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 stat500aus farawayPaket):
> 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 hwVariable:
> 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 bptestmit studentize = TRUE(Standard) und varformula = ~ fitted.values(my.lm)als Optionen für einen ersten Ansatz zur Homoskedastizität vor.
ncvTestundbptestverschiedene Variablen verwenden , um die Residuen zu erklären, siehe Argumentevar.formulaundvarformulasind. Die Ergebnisse weichen voneinander ab, sobald Sie Ihrem Beispiel einen weiteren Regressor hinzufügen.