Test di Dickey-Fuller, problema

luca0052
Ciao a tutti.
Devo verificare la stazionarietà di due serie storiche, e per fare questo mi baso sul grafico ACF e sull'utilizzo del test di Dickey-Fuller. Il tutto lo eseguo tramite il software statistico R.
Vi espongo le due serie storiche con questi grafici:

1) questo è il grafico della prima serie storica



Visivamente sembra non esserci stazionarietà (presenza di trend decrescente) e questo è confermato dal grafico ACF che ho ottenuto tramite questo comando in R: acf(mia_serie)



poi sono andato ad eseguire il test ADF con il seguente comando: adf.test(mia_serie) e questo è il risultato

Augmented Dickey-Fuller Test

data: tserie
Dickey-Fuller = -4.5442, Lag order = 6, p-value = 0.01
alternative hypothesis: stationary

Warning message:
In adf.test(tserie) : p-value smaller than printed p-value

In pratica mi rifiuta l'ipotesi H0 e quindi mi dice che è stazionario! p-value = 0.01
Come mai?


2) questa seconda serie il problema è ancora piu evidente:



presenza sia di stagionalità che di trend evidente. Questo è il grafico ACF ottenuto con il solito comando:



e ho eseguito il test ADF con il medesimo comando di prima, ottenendo:

data: tserie
Dickey-Fuller = -7.3186, Lag order = 5, p-value = 0.01
alternative hypothesis: stationary

Warning message:
In adf.test(tserie) : p-value smaller than printed p-value

quindi mi rifiuta di nuovo H0 e mi dice che la serie è stazionaria.


Sbalgio qualcosa? Tra l'altro compare in entrambi i casi un warning.

Grazie a tutti.

Luca

Risposte
Rule30
Ciao Luca,

un paio di idee: so che l'ADF test è molto sensibile al numero di lags che inserisci nella regressione ausiliaria. Se la funzione lo permette, prova ad aumentarli. Inoltre potresti provare ad eseguire anche un test KPSS, per conferma.

luca0052
grazie della risposta!
si in effetti è sensibile al numero di lag. La funzione di r che utilizzo mi permettet di impostare un numero di lag che preferisco. Come faccio a sapere che valore di lag inserire? E' sufficiente che sia un numero elevato oppure c'è un modo per calcolare un valore 'ottimale'?

Grazie!

Rule30
La mia docente suggeriva di usare i criteri di Akaike o Schwartz o di testare la significatività dei lags.
Prima di imbarcarti in queste operazioni, potresti provare con un numero di lags coerente con la serie: se si tratta di dati giornalieri, puoi provare con 7 lags (la settimana), se sono dati mensili provare con 12 e via così.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.