No, los datos no son heteroscedastic (por la forma de cómo se simulado ellos). ¿Se nota el 0 grados de libertad de la prueba? Que es un indicio de que algo va mal aquí. El B-P de la prueba toma el cuadrado de los residuos del modelo y pruebas de si los predictores en el modelo (o cualquier otro predictores especifique) puede dar cuenta de la cantidad considerable de la variabilidad de estos valores. Dado que sólo el intercepto en el modelo, no toma en cuenta cualquier variabilidad por definición.
Echa un vistazo a: http://en.wikipedia.org/wiki/Breusch-Pagan_test
También, asegúrese de leer help(bptest)
. Que debe ayudar a clarificar las cosas.
Una cosa que va mal aquí es que el bptest()
función aparentemente no probar este errante caso y pasa a tirar una pequeña p-valor. De hecho, si se mira con detenimiento el código subyacente de la bptest()
función, fundamentalmente, de esto que está sucediendo:
format.pval(pchisq(0,0), digits=4)
que da "< 2.2e-16"
. Así, pchisq(0,0)
devuelve 0
y que se convirtió en "< 2.2e-16"
por format.pval()
. En una manera, que es del todo correcta, pero probablemente ayudaría a prueba de cero dfs en bptest()
para evitar este tipo de confusión.
EDITAR
Todavía hay mucha confusión sobre este asunto. Tal vez ayuda a mostrar realmente lo que el B-P de la prueba de realidad tiene. Aquí es un ejemplo. En primer lugar, vamos a simular algunos de los datos que se homoscedástica. A continuación, incluimos un modelo de regresión con dos variables dependientes. Y, a continuación, llevamos a cabo la B-P de la prueba con el bptest()
función.
library(lmtest)
n <- 100
x1i <- rnorm(n)
x2i <- rnorm(n)
yi <- rnorm(n)
mod <- lm(yi ~ x1i + x2i)
bptest(mod)
Así que, ¿qué está ocurriendo realmente? En primer lugar, tomar el cuadrado de los residuos basado en el modelo de regresión. A continuación, tome $n \times R^2$ cuando la regresión de estos cuadrados de los residuos en los predictores incluidos en el modelo original (tenga en cuenta que el bptest()
función utiliza la misma como predictores en el modelo original, pero también se pueden utilizar otros predictores aquí si uno sospecha que la heterocedasticidad es una función de otras variables). Que es el estadístico de prueba para el B-P de la prueba. Bajo la hipótesis nula de homoscedasticity, este estadístico de prueba sigue una distribución de la chi cuadrado con grados de libertad igual al número de predictores utilizados en la prueba (sin contar el intercepto). Por lo tanto, vamos a ver si podemos obtener el mismo resultado:
e2 <- resid(mod)^2
bp <- summary(lm(e2 ~ x1i + x2i))$r.squared * n
bp
pchisq(bp, df=2, lower.tail=FALSE)
Sí, eso funciona. Por casualidad, la prueba anterior puede llegar a ser importante (que es un error de Tipo I, ya que los datos simulados son homoscedástica), pero en la mayoría de los casos no es significativa.