Interpretación de la prueba Breusch-Pagan bptest () en R

Estaba un poco confundido con respecto a la interpretación de bptest en R (library(lmtest)). La hipótesis nula de bptest es que los residuos tienen varianza constante. Entonces, un valor de p menor que 0.05 significaría que el supuesto de homocedasticidad tendría que ser rechazado. Sin embargo, en este sitio web:

http://rstatistics.net/how-to-test-a-regression-model-for-heteroscedasticity-and-if-present-how-to-correct-it/

Encontré el siguientes resultados que me confunden:

data: lmMod BP = 3.2149, df = 1, p-value = 0.07297 

Un valor p> 0.05 indica que la hipótesis nula (la varianza no cambia en el residual) puede ser rechazada y por tanto existe heterscedasticidad. Esto se puede confirmar ejecutando una validación global de los supuestos del modelo lineal (gvlma) en el objeto lm.

gvlma(lmMod) # validate if assumptions of linear regression holds true. # Call: gvlma(x = lmMod) Value p-value Decision Global Stat 15.801 0.003298 Assumptions NOT satisfied! Skewness 6.528 0.010621 Assumptions NOT satisfied! Kurtosis 1.661 0.197449 Assumptions acceptable. Link Function 2.329 0.126998 Assumptions acceptable. Heteroscedasticity 5.283 0.021530 Assumptions NOT satisfied! 

Entonces, ¿por qué es así? que un valor p> 0.05 significa que tiene que rechazar la hipótesis nula, cuando en realidad un valor p menor que 0.05 indica que tiene que rechazar la hipótesis nula?

Respuesta

Esto debería ser un error tipográfico en rstatistics.net. Tiene razón en que la hipótesis nula de la prueba de Breusch-Pagan es la homocedasticidad (= la varianza no depende de regresores auxiliares). Si el valor $ p $ se vuelve «pequeño», la hipótesis nula se rechaza.

Recomendaría contactar a los autores de rstatistics.net con respecto a este problema para ver si están de acuerdo y solucionarlo.

Además, tenga en cuenta que glvma() emplea un regresor auxiliar diferente al bptest() por defecto y desactiva la estudiantilización. Más precisamente, puede ver las diferencias si replica los resultados estableciendo los argumentos de bptest() explícitamente.

El modelo viene dado por:

data("cars", package = "datasets") lmMod <- lm(dist ~ speed, data = cars) 

El valor predeterminado empleado por bptest() usa los mismos regresores auxiliares que el modelo, es decir, speed en este caso. También utiliza la versión studentizada con propiedades de muestra finita mejoradas que arrojan un resultado no significativo.

library("lmtest") bptest(lmMod, ~ speed, data = cars, studentize = TRUE) ## studentized Breusch-Pagan test ## ## data: lmMod ## BP = 3.2149, df = 1, p-value = 0.07297 

Por el contrario, glvma() desactiva la studentización y comprueba si hay una tendencia lineal en las variaciones.

cars$trend <- 1:nrow(cars) bptest(lmMod, ~ trend, data = cars, studentize = FALSE) ## Breusch-Pagan test ## ## data: lmMod ## BP = 5.2834, df = 1, p-value = 0.02153 

Como puede ver, ambos valores de $ p $ son bastante pequeños pero en diferentes lados del 5%. Las versiones studentizadas están ligeramente por encima del 5%.

Comentarios

  • Aunque es extraño que glvma dice " ¡Supuestos NO satisfechos! " en la última fila, cuando de hecho se basa en el valor p de bptest() la suposición debe cumplirse.
  • Yo ' he actualizado mi respuesta para explicar que ' s variaciones ligeramente diferentes de la prueba de Breusch-Pagan que conducen a valores p ligeramente diferentes en diferentes lados del 5%. ' no me gustan las etiquetas de decisión en glvma, estas son peores que las estrellas de importancia y transmiten que el valor p de 5.1% es fundamentalmente diferente al 4,9%.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *