Interpretace Breusch-Pagan testu bptest () v R

Byl jsem trochu zmatený ohledně interpretace bptest v R (library(lmtest)). Nulová hypotéza bptest je, že rezidua mají konstantní rozptyl. Takže p-hodnota menší než 0,05 by znamenala, že předpoklad homoscedasticity by musel být odmítnut. Na tomto webu však:

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

Našel jsem následující výsledky, které mě pletou:

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

Hodnota p> 0,05 naznačuje, že nulová hypotéza (odchylka se u zbytku nemění) může být odmítnuto, a proto existuje heterscedasticita. To lze potvrdit spuštěním globální validace předpokladů lineárního modelu (gvlma) na objektu 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! 

Proč tomu tak je že hodnota p> 0,05 znamená, že musíte odmítnout nulovou hypotézu, zatímco ve skutečnosti hodnota p menší než 0,05 znamená, že musíte odmítnout nulovou hypotézu?

Odpovědět

Toto by měl být překlep na rstatistics.net. Máte pravdu, že nulová hypotéza Breusch-Paganova testu je homoscedasticita (= rozptyl nezávisí na pomocných regresorech). Pokud se hodnota $ p $ stane „malou“, bude nulová hypotéza odmítnuta.

Doporučil bych kontaktovat autory rstatistics.net ohledně tohoto problému, zda souhlasí a napravit to.

Navíc si všimněte, že glvma() ve výchozím nastavení používá jiný pomocný regresor než bptest() a studentizaci vypne. Přesněji můžete vidět rozdíly, pokud replikujete výsledky explicitním nastavením argumentů bptest().

Model je dán:

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

Výchozí nastavení bptest() pak používá stejné pomocné regresory jako model, tj. speed v tomto případě. Používá také studentizovanou verzi se zlepšenými vlastnostmi konečných vzorků, což vede k nevýznamnému výsledku.

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

Naproti tomu glvma() vypne studentizaci a zkontroluje lineární trend v odchylkách.

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 

Jak vidíte, hodnoty $ p $ jsou poměrně malé, ale na různých stranách 5%. Studentizované verze jsou mírně nad 5%.

Komentáře

  • Je však zvláštní, že glvma říká " Předpoklady NENÍ splněny! " v posledním řádku, i když ve skutečnosti vychází z p-hodnoty bptest() předpoklad by měl být splněn.
  • Aktualizoval jsem svou odpověď, abych vysvětlil, že ' mírně odlišné variace Breusch-Paganova testu, které vedou k mírně odlišným hodnotám p na různých stranách 5%. ' Nemám rád rozhodovací etikety v glvma, jsou to horší hvězdy než význam a ukazují, že p-hodnota 5,1% se zásadně liší od 4,9%.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *