Chci provést test Ljung-Box na zbytcích modelu ARIMA s
Box.test(e, type = "Ljung-Box", fitdf = degrees_of_freedom)
kde N = 3064, s 8 proměnné a další 1 úprava z ar (1) v modelu ARIMA.
Mám ale divné výsledky
Box-Ljungův test
data: e
X-squared = 20.134, df = -3055, p-value = NA
Je zřejmé, že df a hodnota p jsou vypnuty a vím, že to musí něco udělat s parametrem lag
ve funkci Box.test. Ale nevím, co tento parametr skutečně dělá, ani jak jej určit.
Odpověď
Váš problém je pravděpodobný u fitdf
, ne lag
. Při použití testu Ljung-Box na rezidua modelu ARMA (p, q), fitdf
by se mělo rovnat $ p + q $ . První $ p + q $ autokorelace budou konstrukčně odhadovány na nulu, takže byste měli upravit asymptotické rozdělení statistiky testu podle nulové hypotézy. To je to, co fitdf
dělá. V kombinaci s lag
, usnadňuje nastavení parametru stupňů volnosti asymptotické distribuce $ \ chi ^ 2 $ na lag
– fitdf
. To, co jste místo toho zjevně udělali, je nastaveno fitdf
na délku série minus váš parametr count, což vedlo k tomu, že lag
– fitdf
je záporný a produkuje tak nesmyslnou nulovou distribuci a $ p $ -hodnota.
Zdá se, že oprava stupňů volnosti pomocí fitdf
dělá test v pořádku, ale zjevně ano ne, jak je vysvětleno ve vlákně " Testování autokorelace: Ljung-Box versus Breusch-Godfrey " . Proto byste měli ne používat test Ljung-Box na zbytky modelu ARIMA na prvním místě; místo toho použijte test Breusch-Godfrey.