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:
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.
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.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.