A Breusch-Pagan teszt bptest () értelmezése az R

Kicsit zavarban voltam a bptest értelmezésével kapcsolatban R-ben (library(lmtest)). A bptest nullhipotézise az, hogy a maradványoknak állandó szórása van. Tehát a 0,05-nél kisebb p-érték azt jelentené, hogy a homoszkedaszticitási feltételezést el kell utasítani. Ezen a webhelyen azonban:

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

a következő eredmények, amelyek megzavarnak:

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

A p-érték> 0,05 azt jelzi, hogy a nullhipotézis (a variancia változatlan a maradékban) lehet elutasították, ezért létezik heterszedaszticitás. Ezt meg lehet erősíteni a lineáris modellfeltevések (gvlma) globális validálásával az lm objektumon.

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! 

Miért van ez így hogy a p-érték> 0,05 azt jelenti, hogy el kell utasítania a nullhipotézist, miközben valójában egy 0,05-nél kisebb p-érték azt jelzi, hogy el kell utasítania a null-hipotézist?

Válasz

Ennek elírásnak kell lennie az rstatistics.net oldalon. Abban igazad van, hogy a Breusch-Pagan teszt nullhipotézise a homoszkedaszticitás (= a variancia nem függ a segédregresszoroktól). Ha a $ p $ -érték “kicsi” lesz, akkor a nullhipotézist elvetjük.

Javasoljuk, hogy vegye fel a kapcsolatot az rstatistics.net szerzőivel ebben a kérdésben, hátha egyetértenek és kijavítják.

Ezenkívül vegye figyelembe, hogy a glvma() alapértelmezés szerint más segédregresszort alkalmaz, mint alapértelmezés szerint az bptest() és kikapcsolja a hallgatózást. Pontosabban, akkor láthatja a különbségeket, ha megismétli az eredményeket az bptest() argumentumának kifejezett megadásával.

A modellt a következő adja:

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

A bptest() által használt alapértelmezett érték ezután ugyanazokat a kiegészítő regresszorokat használja, mint a modell, azaz speed ebben az esetben. Ugyancsak a továbbfejlesztett véges minta tulajdonságokkal rendelkező tanulói verziót használja, amely nem szignifikáns eredményt hoz.

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

Ezzel szemben a glvma() kikapcsolja a hallgatózást és ellenőrzi a varianciák lineáris trendjét.

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 

Mint láthatja, a $ p $ -értékek meglehetősen kicsiek, de különböző oldalán 5%. A hallgatói verziók valamivel meghaladják az 5% -ot.

Megjegyzések

  • Furcsa, hogy glvma mondja " A feltételezések NEM teljesülnek! " az utolsó sorban, bár valójában a a feltételezésnek teljesülnie kell.
  • I ' frissítettem a válaszomat, hogy elmagyarázzam, hogy ' s a Breusch-Pagan teszt kissé eltérő variációi, amelyek kissé eltérő p-értékekhez vezetnek az 5% különböző oldalain. Nem ' nem szeretem a glvma döntési címkéit, ezek rosszabbak, mint a szignifikancia csillagok, és azt sugallják, hogy az 5,1% -os p-érték alapvetően különbözik a 4,9% -tól.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük