My IBM Accedi Iscriviti

Che cos'è l'autocorrelazione?

24 maggio 2024

Autori

Joshua Noble

Data Scientist

Eda Kavlakoglu

Program Manager

L'autocorrelazione fornisce l'analisi dei dati per le serie temporali e la modellazione. È ampiamente utilizzata nell'econometria, nell'elaborazione dei segnali e nella previsione della domanda.

L'autocorrelazione, o correlazione seriale, analizza i dati delle serie temporali per cercare correlazioni nei valori in punti diversi di una serie temporale. Questo metodo di analisi chiave misura il modo in cui un valore è correlato a se stesso. Invece di calcolare il coefficiente di correlazione tra diverse variabili, come X1 e X2, calcoliamo il grado di correlazione di una variabile stessa a fasi temporali in tutto il set di dati. Quando si costruisce un modello di regressione lineare, uno dei presupposti principali è che gli errori nella previsione della variabile indipendente in quel modello siano indipendenti. Spesso, quando si lavora con dati di serie temporali, si riscontrano errori dipendenti dal tempo. Cioè la dipendenza negli errori appare a causa di una componente temporale. I termini di errore correlati nel tempo sono chiamati errori autocorrelati. Questi errori causano problemi con alcuni dei modi più comuni di creare una regressione lineare, ad esempio i minimi quadrati ordinari. Il modo per risolvere questi problemi è quello di far regredire la variabile dipendente su se stessa utilizzando i ritardi temporali identificati da un test di autocorrelazione. Il "ritardo" è semplicemente un valore precedente della variabile dipendente. Se si dispone di dati mensili e si desidera prevedere il mese successivo, è possibile utilizzare i valori dei due mesi precedenti come input. Ciò significa che si stanno regredendo i due ritardi precedenti rispetto al valore corrente.

Allo stesso modo in cui la correlazione misura una relazione lineare tra due variabili, l'autocorrelazione misura la relazione tra i valori ritardati di una serie temporale attraverso un modello lineare. Quando i dati hanno una tendenza, le autocorrelazioni per piccoli ritardi tendono ad essere ampie e positive perché anche le osservazioni vicine nel tempo hanno un valore prossimo. Quindi la funzione di autocorrelazione, spesso chiamata ACF, di una serie temporale con tendenza tende ad avere valori positivi che diminuiscono lentamente all'aumentare dei ritardi.

Quando i dati presentano fluttuazioni o modelli stagionali, le autocorrelazioni saranno maggiori per i ritardi stagionali (a multipli del periodo stagionale) rispetto agli altri ritardi. Quando i dati sono sia di tendenza che stagionali, si verifica una combinazione di questi effetti. Le serie temporali che non mostrano alcuna autocorrelazione sono processi veramente casuali e si chiamano rumore bianco. L'ACF è un coefficiente di correlazione tra due valori in una serie temporale.

Esistono alcuni modi chiave per testare l'autocorrelazione:

È possibile calcolare i residui e tracciare quegli errori standard al tempo t, di solito scritti come et, rispetto a t. Eventuali cluster di residui che si trovano su un lato della linea dello zero possono indicare dove le autocorrelazioni sono presenti e significative.

L'esecuzione di un test di Durbin-Watson può aiutare a identificare se una serie temporale contiene autocorrelazione. Per fare ciò in R, bisogna creare una regressione lineare che regredisce la variabile dipendente nel tempo e poi passare quel modello per calcolare la statistica di Durbin-Watson. Per fare questo in Python, è possibile passare i residui da un modello di regressione lineare al test.

Un'altra opzione consiste nell'utilizzare un test di Ljung-Box e passare i valori delle serie temporali direttamente al test. Il test di Ljung-Box prevede l'ipotesi nulla che i residui siano distribuiti indipendentemente e l'ipotesi alternativa che i residui non siano distribuiti indipendentemente e mostrino autocorrelazione. Ciò significa in pratica che i risultati inferiori a 0,05 indicano che l'autocorrelazione esiste nella serie temporale. Entrambe le librerie Python e R forniscono metodi per eseguire questo test.

L'opzione più comune consiste nell'utilizzare una visualizzazione del correlogramma generata dalle correlazioni tra ritardi specifici nella serie temporale. Un modello nei risultati è un'indicazione dell'autocorrelazione. Questo viene tracciato mostrando la correlazione di diversi ritardi durante la serie temporale. Di seguito è riportato un grafico di esempio:

I dati non casuali hanno almeno un ritardo significativo. Quando i dati non sono casuali, è una buona indicazione che è necessario utilizzare un'analisi di serie temporali o incorporare ritardi in un'analisi di regressione per modellare i dati in modo appropriato.

Ci sono caratteristiche fondamentali di una serie temporale che possono essere identificate tramite l'autocorrelazione.

  • Stazionarietà
  • Tendenze
  • Stagionalità

Stazionarietà

Una serie temporale stazionaria ha proprietà statistiche che rimangono costanti nel tempo. Ciò significa che statistiche come media, varianza e autocorrelazione non cambiano nel corso dei dati. La maggior parte dei metodi di previsione, inclusi ARMA e ARIMA, si basa sul presupposto che le serie temporali possano essere rese approssimativamente stazionarie attraverso una o più trasformazioni. Una serie stazionaria è relativamente facile da prevedere perché puoi semplicemente prevedere che le proprietà statistiche saranno più o meno le stesse in futuro come lo erano in passato. Stazionarietà significa che la serie temporale non ha una tendenza, ha una varianza costante, un modello di autocorrelazione costante e nessun modello stagionale. L'ACF scende rapidamente vicino allo zero per una serie temporale stazionaria. Al contrario, l'ACF scende lentamente per una serie temporale non stazionaria.

Tendenza

Una caratteristica chiave dei dati delle serie temporali è la presenza di una tendenza nei dati. Ad esempio, i prezzi dei prodotti di base in un negozio di alimentari degli ultimi 50 anni mostrerebbero una tendenza perché l'inflazione li spingerebbe al rialzo. Prevedere i dati che contengono tendenze può essere difficile perché la tendenza oscura gli altri modelli nei dati. Se i dati hanno una linea di tendenza stabile alla quale ritornano costantemente, possono essere stazionari per tendenza, nel qual caso la tendenza può essere rimossa semplicemente adattando una linea di tendenza e sottraendo la tendenza dai dati prima di adattarvi un modello. Se i dati non sono stazionari per tendenza, potrebbero essere stazionari per differenza, nel qual caso la tendenza può essere rimossa differenziando. Il modo più semplice per differenziare consiste nel sottrarre il valore precedente da ogni valore per ottenere una misura della quantità di variazione presente nei dati della serie temporale. Quindi, per esempio, se Yt è il valore della serie temporale Y nel periodo t, allora la prima differenza di Y nel periodo t è uguale a YYt-1. Quando le tendenze sono presenti in una serie temporale, i ritardi più brevi hanno in genere una forte correlazione positiva o forti valori di correlazione negativa nell'ACF perché le osservazioni più vicine nel tempo tendono ad avere valori simili. Le correlazioni nell'ACF diminuiranno lentamente con l'aumentare dei ritardi.

Stagionalità

La stagionalità si verifica quando una serie temporale contiene fluttuazioni o cambiamenti stagionali. Probabilmente dovremmo aspettarci che le vendite di gelati aumentino nei mesi estivi e diminuiscano nei mesi invernali, le vendite di sci potrebbero aumentare in modo affidabile nel tardo autunno e diminuire all'inizio dell'estate. La stagionalità può presentarsi in diversi intervalli di tempo, come giorni, settimane o mesi. La chiave per l'analisi delle serie temporali è capire come la stagionalità influenzi le nostre serie, facendoci quindi produrre previsioni migliori per il futuro. Quando sono presenti modelli stagionali, i valori ACF mostreranno un'autocorrelazione più positiva per i ritardi a multipli della frequenza stagionale rispetto agli altri ritardi.

Autocorrelazione parziale

La funzione di autocorrelazione parziale, spesso chiamata PACF, è simile all'ACF, tranne per il fatto che mostra solo la correlazione tra due osservazioni che i ritardi più brevi tra tali osservazioni non spiegano. Un grafico ACF mostra la relazione tra yt e yt−k per diversi valori di k. Se yt e yt−1 sono correlati tra loro, allora potremmo assumere che anche yt−1 e yt−2 saranno correlati perché sono entrambi collegati da un ritardo di 1. Tuttavia, è anche possibile che yt e yt−2 siano correlati semplicemente perché sono entrambi connessi a yt−1, piuttosto che perché ci sono nuove informazioni contenute in yt−2 che potrebbero essere utilizzate nella previsione di yt. Per aggirare questo problema, utilizziamo autocorrelazioni parziali per rimuovere una serie di osservazioni di ritardo. La PACF misura solo la relazione tra yt e yt−k rimuovendo gli effetti dei ritardi da 1 a k. La prima autocorrelazione parziale è sempre identica alla prima autocorrelazione perché non ci sono nuovi dati tra di loro da rimuovere. Tutti i ritardi successivi mostreranno solo la relazione tra i ritardi dopo aver rimosso tutti i ritardi intermedi. Questo può spesso fornire una stima più precisa di quali ritardi potrebbero contenere indicazioni di stagionalità osservando dove ci sono valori maggiori di autocorrelazione positiva o negativa.

In pratica, l'ACF aiuta a valutare le proprietà di una serie temporale. La PACF, d'altra parte, è più utile durante il processo di specificazione per un modello autoregressivo. I data scientist o gli analisti utilizzeranno grafici di autocorrelazione parziale per specificare modelli di regressione con dati di serie temporali, modelli Auto Regressive Moving Average (ARMA) o Auto Regressive Integrated Moving Average (ARIMA).

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Soluzioni correlate

Soluzioni correlate

Strumenti e soluzioni per l'analytics

Per prosperare, le aziende devono utilizzare i dati per fidelizzare i clienti, automatizzare i processi aziendali e innovare con soluzioni basate sull'AI.

Esplora le soluzioni di analytics
Servizi di consulenza per dati e analytics

Sblocca il valore dei dati aziendali con IBM Consulting e crea un'organizzazione basata su insight in grado di generare vantaggi aziendali.

Esplora i servizi di analytics
IBM Cognos Analytics

Introduzione a Cognos Analytics 12.0, insight basati sull'AI per prendere decisioni migliori.

Esplora Cognos Analytics
Fasi successive

Per prosperare, le aziende devono utilizzare i dati per fidelizzare i clienti, automatizzare i processi aziendali e innovare con soluzioni basate sull'AI.

Esplora le soluzioni di analytics Esplora i servizi di analytics