Interpretazione del test di Breusch-Pagan bptest () in R

Ero un po confuso riguardo allinterpretazione di bptest in R (library(lmtest)). Lipotesi nulla di bptest è che i residui abbiano varianza costante. Quindi, un valore p inferiore a 0,05 significherebbe che lipotesi di omoschedasticità dovrebbe essere respinta. Tuttavia su questo sito web:

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

Ho trovato il i seguenti risultati che mi confondono:

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

Un valore p> 0,05 indica che lipotesi nulla (la varianza è immutabile nel residuo) può essere rifiutato e quindi esiste eterodasticità. Ciò può essere confermato eseguendo una convalida globale delle ipotesi del modello lineare (gvlma) sulloggetto 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! 

Allora perché è così che un valore p> 0,05 significa che devi rifiutare lipotesi nulla, quando in realtà un valore p inferiore a 0,05 indica che devi rifiutare lipotesi nulla?

Risposta

Questo dovrebbe essere un errore di battitura su rstatistics.net. Hai ragione dicendo che lipotesi nulla del test di Breusch-Pagan è lomoscedasticità (= la varianza non dipende dai regressori ausiliari). Se $ p $ -value diventa “piccolo”, lipotesi nulla viene rifiutata.

Consiglierei di contattare gli autori di rstatistics.net riguardo a questo problema per vedere se sono daccordo e risolverlo.

Inoltre, nota che glvma() utilizza un regressore ausiliario diverso da bptest() per impostazione predefinita e disattiva la studentizzazione. Più precisamente, puoi vedere le differenze se replichi i risultati impostando gli argomenti di bptest() in modo esplicito.

Il modello è dato da:

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

Limpostazione predefinita utilizzata da bptest() utilizza quindi gli stessi regressori ausiliari del modello, ad esempio speed in questo caso. Inoltre utilizza la versione studentizzata con proprietà di campioni finiti migliorate che producono un risultato non 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 

Al contrario, glvma() disattiva la studentizzazione e controlla una tendenza lineare nelle varianze.

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 

Come puoi vedere entrambi i valori $ p $ sono piuttosto piccoli ma su diversi lati del 5%. Le versioni studentizzate sono entrambe leggermente superiori al 5%.

Commenti

  • È strano però che glvma dice " Presupposti NON soddisfatti! " nellultima riga, quando in realtà si basa sul valore p di bptest() il presupposto dovrebbe essere soddisfatto.
  • ' ho aggiornato la mia risposta per spiegare che ' s variazioni leggermente diverse del test di Breusch-Pagan che portano a valori di p leggermente diversi su lati diversi del 5%. ' non mi piacciono le etichette di decisione in glvma, queste sono peggiori delle stelle significative e indicano che il valore p del 5,1% è fondamentalmente diverso dal 4,9%.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *