Funzioni > Elaborazione dei segnali > Analisi della serie temporale > Esempio: correlazione e autocorrelazione parziale
  
Esempio: correlazione e autocorrelazione parziale
Utilizzare le funzioni lcorr e plcorr per calcolare rispettivamente la correlazione di esempio con lag e l'autocorrelazione parziale.
Per definizioni ed esempi, vedere Time Series Analysis di Bowerman e O'Connell (Duxbury) e Forecasting Economic Time Series di Granger e Newbold (Academic Press).
lcorr
La funzione lcorr presuppone che i due input abbiano la stessa lunghezza.
Si supponga un segnale di input sotto forma di impulso a onda sinusoidale compreso in una finestra. Questo impulso potrebbe essere utilizzato, ad esempio, come segnale sonar di prova. Il segnale di ritorno percorre una certa distanza, rimbalza sull'oggetto esaminato e torna alla sorgente attenuato, con lag (a causa del tempo di percorrenza) e con rumore. Correlando il segnale ricevuto al segnale di prova, è possibile determinare il lag e pertanto la distanza all'oggetto sottoposto a verifica.
1. Definire il numero di punti di campionamento.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Definire la lunghezza dell'impulso.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
3. Utilizzare la funzione sin per definire il segnale.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
4. Utilizzare la funzione per hanning definire la funzione di finestra.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
La larghezza della finestra è 200.
La lunghezza del vettore x è 1000 elementi.
5. Tracciare il grafico del segnale di input x e utilizzare un indicatore verticale per mostrare la linea della lunghezza dell'impulso.
Fare clic per copiare questa espressione
6. Utilizzare la funzione rnd per definire il rumore casuale e quindi definire il lag e l'attenuazione del segnale di ritorno.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
7. Definire il segnale di ritorno insieme al segnale di input e tracciarne il grafico.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Se il tempo di lag non fosse noto, ad esempio nei casi in cui i segnali vengono misurati e non simulati, sarebbe difficile determinare la posizione dell'impulso di ritorno nel grafico del rumore illustrato in precedenza.
In corrispondenza o in prossimità del tempo di lag, la correlazione lineare di x e y sarà presumibilmente massima se confrontata con altri campioni correlati, in quanto la correlazione fa scorrere un segnale attraverso l'altro, moltiplicandoli e sommandoli per arrivare a ogni campione. Quando si raggiunge il tempo di lag, la sovrapposizione è massima.
8. Utilizzare le funzioni lcorr, max e match per verificare che la correlazione lineare di x e y sia massima in corrispondenza o in prossimità del tempo di lag.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Autocorrelazione tramite lcorr
Utilizzare l'autocorrelazione per stimare l'ordine di un processo di media mobile.
1. Utilizzare le funzioni rnd e movavg per eseguire lo smoothing di una sequenza casuale, con una finestra di larghezza N.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Tracciare il grafico della media mobile.
Fare clic per copiare questa espressione
3. Utilizzare la funzione lcorr per calcolare l'autocorrelazione di Y e per tracciarne il grafico.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
I primi N valori di autocorrelazione formano una linea più o meno retta inclinata fino a quasi 0 in corrispondenza di N. Se il valore di N non fosse noto, sarebbe possibile utilizzare questo comportamento per ottenere una stima corretta.
4. Come riferimento, utilizzare la funzione slope per calcolare il coefficiente angolare di questo segmento iniziale e confrontarlo con -1/N.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
L'autocorrelazione è una trasformata di Fourier dello spettro del segnale. È pertanto possibile calcolarla in modo efficiente utilizzando la funzione dft.
plcorr
La funzione plcorr consente di stimare l'ordine del modello più adatto per una serie temporale autoregressiva e di semplificare il calcolo del parametro del modello.
La sequenza di autocorrelazione parziale, nota anche come sequenza di coefficienti di riflessione, rappresenta la correlazione tra valori della serie temporale in corrispondenza dei tempi t e t-k, dopo che tali valori sono stati modificati sottraendo le predizioni in avanti e a ritroso. Le predizioni si basano sui valori della serie in corrispondenza dei tempi intermedi.
Per ulteriori dettagli tecnici, fare riferimento a D. B. Percival e A. T. Walden, "Spectral Analysis for Physical Applications", pagina 409, Cambridge University Press, 1993, in cui si descrive l'utilizzo della ricorsione di Levinson-Durban per modelli autoregressivi.
Per illustrare l'utilizzo della funzione plcorr di autocorrelazione parziale, utilizzare la procedura descritta di seguito per la costruzione di un processo autoregressivo.
1. Definire i coefficienti per il processo.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Utilizzare la funzione rnd per inizializzare la serie temporale.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
3. Generare il resto della serie utilizzando il segnale di autoregressione più il rumore casuale.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
4. Calcolare i primi 200 passaggi del processo e tracciarne il grafico.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Utilizzare le funzioni lcorr e plcorr per calcolare l'autocorrelazione e l'autocorrelazione parziale.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
6. Tracciare il grafico dei primi 30 elementi di ogni vettore di correlazione e utilizzare un indicatore verticale per contrassegnare il numero di coefficienti.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Per il processo autoregressivo b l'autocorrelazione oscilla, ma l'autocorrelazione parziale si interrompe essenzialmente dopo 6. In questo modo, la correlazione parziale fornisce informazioni sull'ordine del processo, che possono quindi essere utilizzate, ad esempio, con la funzione burg.
Le serie temporali economiche vengono spesso adattate e analizzate utilizzando modelli di ordine basso, per cui solo pochi tra i coefficienti plcorr sono diversi da zero. I dati i cui coefficienti plcorr non diminuiscono rapidamente potrebbero riflettere fenomeni non lineari. Una tecnica comune in questo caso consiste nel differenziare i dati e analizzare i dati differenziati per le correlazioni.