En términos prácticos, ncvTest
usa el lado izquierdo de la ecuación y bptest
usa el lado derecho, por defecto.
Significa que, en el caso de Y ~ X
, ambas pruebas proporcionarán los mismos resultados (con respecto a la studentize = F
opción de bptest
). Pero en un análisis multivariante como Y ~ X1 + X2
, los resultados serán diferentes. (Como señaló @ Helix123)
Del archivo de ayuda de ncvTest : var.formula
: "una fórmula unilateral para la varianza del error; si se omite, la varianza del error depende de los valores ajustados ". Lo que significa que, por defecto, se usarán los valores ajustados, pero también permite usar una combinación lineal de las variables independientes (X1 + X2).
Del archivo de ayuda de bptest : varformula
: "Por defecto , se toman las mismas variables explicativas que en el modelo de regresión principal".
Continuando con el mismo ejemplo de @Francis (datos stat500
, del faraway
paquete):
> mdl_t = lm(final ~ midterm + hw, data = stat500)
Prueba de BP, utilizando valores ajustados:
> 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
Prueba de PA, utilizando una combinación lineal de predictores:
> 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
La "opción de combinación lineal" permite investigar la heterocedasticidad asociada a la dependencia lineal de una variable independiente específica. Por ejemplo, solo la 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
Por último, como resumió @Francis, "en resumen, la prueba de BP estudiantilizada es más robusta que la original", generalmente utilizo bptest
, con studentize = TRUE
(por defecto) y varformula = ~ fitted.values(my.lm)
como opciones, un enfoque inicial para la homocedasticidad.
ncvTest
ybptest
usar diferentes variables para explicar los residuos, ver argumentosvar.formula
yvarformula
, respectivamente. Los resultados serán diferentes una vez que agregue otro regresor a su ejemplo.