Corso
Se vuoi seguire il nostro corso Introduction to Time Series Analysis in R, ecco il link.
Calcolare le autocorrelazioni
Le autocorrelazioni o correlazioni ritardate si usano per valutare se una serie temporale dipende dal suo passato. Per una serie temporale x di lunghezza n consideriamo le n-1 coppie di osservazioni distanziate di un'unità di tempo. La prima coppia è (x[2],x[1]), la successiva è (x[3],x[2]). Ogni coppia è della forma (x[t],x[t-1]) dove t è l'indice dell'osservazione, che in questo caso varia da 2 a n. L'autocorrelazione di ordine 1 di x può essere stimata come la correlazione campionaria di queste coppie (x[t], x[t-1]).
In generale, possiamo creare manualmente queste coppie di osservazioni. Per prima cosa, crea due vettori, x_t0 e x_t1, entrambi di lunghezza n-1, in modo che le righe corrispondano alle coppie (x[t], x[t-1]). Poi applica la funzione cor() per stimare l'autocorrelazione di ordine 1.
Per fortuna, il comando acf() offre una scorciatoia. Applicare acf(..., lag.max = 1, plot = FALSE) a una serie x calcola automaticamente l'autocorrelazione di ordine 1.
Infine, nota che le due stime differiscono leggermente perché usano scalature leggermente diverse nel calcolo della covarianza campionaria, 1/(n-1) contro 1/n. Sebbene la seconda fornisca una stima distorta, è preferita nell'analisi delle serie temporali, e le stime di autocorrelazione risultanti differiscono solo per un fattore (n-1)/n.
In questo esercizio, farai pratica sia con il calcolo manuale sia con quello automatico di un'autocorrelazione di ordine 1. La serie temporale x e la sua lunghezza n (150) sono già state caricate. La serie è mostrata nel grafico a destra.
Istruzioni
- Crea due vettori,
x_t0ex_t1, entrambi di lunghezzan-1, in modo che le righe corrispondano alle coppie(x[t], x[t-1]). - Conferma che
x_t0ex_t1siano coppie(x[t], x[t-1])usando il codice precompilato. - Usa
plot()per visualizzare lo scatter plot dix_t0ex_t1. - Usa
cor()per visualizzare la correlazione trax_t0ex_t1. - Usa
acf()conxper calcolare automaticamente l'autocorrelazione di ordine 1. Imposta l'argomentolag.maxa1per ottenere un solo ritardo e imposta l'argomentoplotaFALSE. - Conferma che il fattore di differenza sia
(n-1)/nusando il codice precompilato.
Se tutto è chiaro, passa al prossimo esercizio! In caso contrario, ecco un video panoramico.
Video panoramico sull'autocorrelazione
La funzione di autocorrelazione
Le autocorrelazioni possono essere stimate a molti ritardi per valutare meglio come una serie temporale si relaziona al proprio passato. Di solito siamo più interessati a come una serie si relaziona con il suo passato più recente.
La funzione acf(..., lag.max = ..., plot = FALSE) stimerà tutte le autocorrelazioni da 0, 1, 2, ... fino al valore specificato dall'argomento lag.max. Nell'esercizio precedente ti sei concentrato sull'autocorrelazione di ordine 1 impostando l'argomento lag.max a 1.
In questo esercizio, esplorerai alcune applicazioni aggiuntive del comando acf(). Ancora una volta, la serie temporale x è stata precaricata per te ed è mostrata nel grafico a destra.
Istruzioni
- Usa
acf()per visualizzare le autocorrelazioni della seriexda 0 a 10. Imposta l'argomentolag.maxa10e mantieni l'argomentoplotaFALSE. - Copia e incolla la stima dell'autocorrelazione (ACF) al ritardo 10.
- Copia e incolla la stima dell'autocorrelazione (ACF) al ritardo 5.
Visualizzare la funzione di autocorrelazione
Stimare la funzione di autocorrelazione (ACF) a molti ritardi ci permette di valutare come una serie temporale x si relaziona al suo passato. Le stime numeriche sono importanti per calcoli dettagliati, ma è utile anche visualizzare l'ACF in funzione del ritardo.
Infatti, il comando acf() produce per impostazione predefinita una figura. Sceglie anche automaticamente un valore predefinito per lag.max, il numero massimo di ritardi da visualizzare.
Tre serie temporali x, y e z sono state caricate nel tuo ambiente R e sono tracciate a destra. La serie temporale x mostra una forte persistenza, cioè il valore corrente è strettamente correlato a quelli che lo precedono. La serie temporale y mostra un andamento periodico con un ciclo di circa quattro osservazioni, cioè il valore corrente è relativamente vicino all'osservazione di quattro passi prima. La serie temporale z non presenta alcun andamento evidente.
In questo esercizio, traccerai una funzione di autocorrelazione stimata per ciascuna serie. Nei grafici prodotti da acf(), il ritardo di ogni stima di autocorrelazione è indicato sull'asse orizzontale e ogni stima è rappresentata dall'altezza delle barre verticali. Ricorda che l'ACF al ritardo 0 è sempre 1.
Infine, ogni figura dell'ACF include una coppia di linee blu orizzontali tratteggiate che rappresentano gli intervalli di confidenza al 95% per ciascun ritardo, centrati su zero. Servono a determinare la significatività statistica di una singola stima di autocorrelazione a un dato ritardo rispetto a un valore nullo pari a zero, cioè assenza di autocorrelazione a quel ritardo.
Istruzioni
Usa tre chiamate della funzione acf() per visualizzare gli ACF stimati di ciascuna delle tre serie temporali (x, y e z). Non è necessario specificare argomenti aggiuntivi nelle chiamate a acf().
Se vuoi approfondire con questo corso, ecco il link.
Dai un'occhiata al nostro Time Series Analysis using R: Tutorial.

