Ik wil de Ljung-Box-test uitvoeren op residuen van het ARIMA-model met
Box.test(e, type = "Ljung-Box", fitdf = degrees_of_freedom)
waarbij N = 3064, met 8 variabelen en 1 aanvullende aanpassing van ar (1) in ARIMA-model.
Maar ik krijg rare resultaten
Box-Ljung-test
data: e
X-squared = 20.134, df = -3055, p-value = NA
Uiteraard df en p-waarde zijn uitgeschakeld en ik weet dat het iets te maken heeft met de parameter lag
in de functie Box.test. Maar ik weet niet wat deze parameter echt doet en ook niet hoe ik deze moet bepalen.
Antwoord
Uw probleem is waarschijnlijk met fitdf
, niet lag
. Bij het toepassen van de Ljung-Box-test op residuen van een ARMA (p, q) -model, fitdf
moet gelijk zijn aan $ p + q $ . De eerste $ p + q $ autocorrelaties worden op basis van constructie op nul geschat, dus het is de bedoeling dat je de asymptotische verdeling van de teststatistiek aanpast onder de nulhypothese. Dit is wat fitdf
doet. In combinatie met lag
, het vergemakkelijkt het instellen van de parameter voor vrijheidsgraden van de $ \ chi ^ 2 $ asymptotische distributie naar lag
– fitdf
. Wat u in plaats daarvan blijkbaar deed, is fitdf
instellen op de lengte van de reeks minus uw parameter count, wat ertoe leidde dat lag
– fitdf
negatief was en dus een onzin-null-distributie produceerde en geen $ p $ -waarde.
De correctie van de vrijheidsgraden via fitdf
lijkt de test goed te laten werken, maar blijkbaar is dat zo niet, zoals uitgelegd in de thread " Testen op autocorrelatie: Ljung-Box versus Breusch-Godfrey " . Daarom moet u niet de Ljung-Box-test op residuen van een ARIMA-model gebruiken; gebruik in plaats daarvan de Breusch-Godfrey-test.