Olin hieman hämmentynyt tulkinnasta bptest
ryhmässä R (library(lmtest)
). bptest
: n nullhypoteesi on, että jäännöksillä on jatkuva varianssi. Joten p-arvo, joka on alle 0,05, tarkoittaisi, että homoscedasticity-oletus olisi hylättävä. Tällä verkkosivustolla:
Löysin seuraavat tulokset, jotka hämmentävät minua:
data: lmMod BP = 3.2149, df = 1, p-value = 0.07297
A-arvo> 0,05 osoittaa, että nollahypoteesi (varianssi on muuttumaton jäännöksessä) voidaan hylättiin, ja siksi hetersedastisuus on olemassa. Tämä voidaan vahvistaa suorittamalla lineaarisen mallin oletusten (gvlma) globaali validointi lm-objektilla.
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!
Miksi näin on että p-arvo> 0,05 tarkoittaa, että sinun on hylättävä nollahypoteesi, vaikka itse asiassa alle 0,05 oleva p-arvo osoittaa, että sinun on hylättävä nollahypoteesi?
Vastaa
Tämän pitäisi olla kirjoitusvirhe rstatistics.net-sivustossa. Olet oikeassa, että Breusch-Pagan-testin nollahypoteesi on homoskedastisuus (= varianssi ei riipu apuregressoreista). Jos $ p $ -arvosta tulee ”pieni”, nollahypoteesi hylätään.
Suosittelen ottamaan yhteyttä rstatistics.netin kirjoittajiin tässä asiassa selvittääkseen, ovatko he samaa mieltä ja korjaavatko ne. >
Huomaa lisäksi, että glvma()
käyttää oletusarvoisesti eri apuregresoria kuin bptest()
ja kytkee opiskelijan pois päältä. Tarkemmin sanottuna näet erot, jos kopioit tulokset asettamalla bptest()
-argumentit yksiselitteisesti.
Mallin antaa:
data("cars", package = "datasets") lmMod <- lm(dist ~ speed, data = cars)
Oletusarvo, jota bptest()
käyttää, käyttää sitten samoja apuregressoreita kuin malli, eli speed
tässä tapauksessa. Lisäksi se käyttää oppilasversiota, jolla on parannetut rajallisen otoksen ominaisuudet, mikä antaa ei-merkittävän tuloksen.
library("lmtest") bptest(lmMod, ~ speed, data = cars, studentize = TRUE) ## studentized Breusch-Pagan test ## ## data: lmMod ## BP = 3.2149, df = 1, p-value = 0.07297
Sen sijaan glvma()
kytkee opiskelijan pois päältä ja tarkistaa varianssien lineaarisen trendin.
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
Kuten näette, molemmat $ p $ -arvot ovat melko pieniä, mutta eri puolilla 5%. Opiskelijoiden versiot ovat molemmat hieman yli 5%.
glvma
sanoo " Oletukset EI täyty! " viimeisellä rivillä, tosiasiallisesti perustuenbptest()
oletuksen pitäisi olla tyydyttävä.glvma
-tunnisteista, nämä ovat huonompia kuin merkitsevyystähdet ja osoittavat, että p-arvo 5,1% on olennaisesti erilainen kuin 4,9%.