Voglio condurre il test Ljung-Box sui residui del modello ARIMA con
Box.test(e, type = "Ljung-Box", fitdf = degrees_of_freedom)
dove N = 3064, con 8 variabili e 1 aggiustamento aggiuntivo da ar (1) nel modello ARIMA.
Ma ottengo risultati strani
Box-Ljung test
dati: e
X-squared = 20.134, df = -3055, p-value = NA
Ovviamente df e il valore p sono disattivati e so che ha a che fare con il parametro lag
nella funzione Box.test. Ma non so cosa faccia veramente questo parametro né come determinarlo.
Risposta
Il tuo problema è probabilmente con fitdf
, non lag
. Quando si applica il test Ljung-Box sui residui di un modello ARMA (p, q), fitdf
dovrebbe essere uguale a $ p + q $ . Il primo $ p + q $ le autocorrelazioni saranno stimate a zero per costruzione, quindi dovresti aggiustare la distribuzione asintotica della statistica del test sotto lipotesi nulla per questo. Questo è ciò che fa fitdf
. In combinazione con lag
, facilita limpostazione del parametro dei gradi di libertà della distribuzione asintotica $ \ chi ^ 2 $ su lag
– fitdf
. Quello che a quanto pare hai fatto è stato impostare fitdf
sulla lunghezza della serie meno il tuo parametro count, che ha dato come risultato lag
– fitdf
negativo e quindi una distribuzione nulla senza senso e nessun $ p $ -value.
La correzione dei gradi di libertà tramite fitdf
sembrerebbe far funzionare bene il test, ma a quanto pare funziona no, come spiegato nel thread " Test per lautocorrelazione: Ljung-Box contro Breusch-Godfrey " . Quindi non utilizzare il test Ljung-Box sui residui di un modello ARIMA in primo luogo; usa invece il test di Breusch-Godfrey.