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.