Chcę przeprowadzić test Ljung-Boxa na resztach modelu ARIMA z
Box.test(e, type = "Ljung-Box", fitdf = degrees_of_freedom)
gdzie N = 3064, z 8 zmienne i dodatkowe 1 korekta z ar (1) w modelu ARIMA.
Ale otrzymuję dziwne wyniki
Test Box-Ljung
dane: e
X-kwadrat = 20,134, df = -3055, p-value = NA
Oczywiście df i wartość p są wyłączone i wiem, że ma to coś wspólnego z parametrem lag
w funkcji Box.test. Ale nie wiem, co naprawdę robi ten parametr ani jak go określić.
Odpowiedź
Twój problem prawdopodobnie dotyczy fitdf
, a nie lag
. Stosując test Ljung-Boxa na resztach modelu ARMA (p, q), fitdf
powinno być równe $ p + q $ . Pierwszy $ p + q $ autokorelacje zostaną oszacowane na zero przez konstrukcję, więc w tym celu należy dostosować asymptotyczny rozkład statystyki testowej w ramach hipotezy zerowej. To właśnie robi fitdf
. W połączeniu z lag
, ułatwia ustawienie parametru stopni swobody $ \ chi ^ 2 $ asymptotycznego rozkładu na lag
– fitdf
. Najwyraźniej zamiast tego ustawiłeś fitdf
na długość serii pomniejszoną o Twój parametr count, co spowodowało, że lag
– fitdf
było ujemne, a tym samym generowało nonsensowny rozkład zerowy i brak $ p $ -value.
Wydaje się, że korekta stopni swobody przez fitdf
sprawia, że test działa dobrze, ale najwyraźniej tak nie, jak wyjaśniono w wątku " Testowanie autokorelacji: Ljung-Box kontra Breusch-Godfrey " . Dlatego w pierwszej kolejności nie należy używać testu Ljung-Boxa na resztach modelu ARIMA; zamiast tego użyj testu Breuscha-Godfreya.