Come confrontare statisticamente due serie storiche?


44

Ho due serie storiche, mostrate nella trama qui sotto:

Grafico delle serie storiche

La trama mostra tutti i dettagli di entrambe le serie storiche, ma se necessario posso facilmente ridurla alle osservazioni coincidenti.

La mia domanda è: quali metodi statistici posso usare per valutare le differenze tra le serie storiche?

So che questa è una domanda piuttosto ampia e vaga, ma non riesco a trovare molto materiale introduttivo su questo da nessuna parte. Come posso vedere, ci sono due cose distinte da valutare:

1. I valori sono gli stessi?

2. Le tendenze sono le stesse?

Che tipo di test statistici suggeriresti di esaminare per valutare queste domande? Per la domanda 1 posso ovviamente valutare i mezzi dei diversi set di dati e cercare differenze significative nelle distribuzioni, ma c'è un modo per farlo che tenga conto della natura delle serie temporali dei dati?

Per la domanda 2 - c'è qualcosa come i test di Mann-Kendall che cercano la somiglianza tra due tendenze? Potrei fare il test di Mann-Kendall per entrambi i set di dati e confrontare, ma non so se questo è un modo valido per fare le cose o se esiste un modo migliore?

Sto facendo tutto questo in R, quindi se i test che suggerisci hanno un pacchetto R, per favore fatemelo sapere.


9
La trama sembra oscurare quella che potrebbe essere una differenza cruciale tra queste serie: potrebbero essere campionati a frequenze diverse. La linea nera (Aeronet) sembra essere campionata solo circa 20 volte e la linea rossa (Visibilità) centinaia di volte o più. Un altro fattore critico può essere la regolarità del campionamento o la sua mancanza: i tempi tra le osservazioni Aeronet sembrano variare leggermente. In generale, aiuta a cancellare le linee di connessione e visualizzare solo i punti corrispondenti ai dati effettivi, in modo che lo spettatore possa determinare visivamente queste cose.
whuber

Ecco una libreria Python per l'analisi delle serie temporali con spaziatura irregolare.
kjetil b halvorsen,

Risposte:


28

Come altri hanno affermato, è necessario disporre di una frequenza di misurazione comune (ovvero il tempo tra le osservazioni). Con quello in atto identificherei un modello comune che descriverebbe ragionevolmente ogni serie separatamente. Potrebbe essere un modello ARIMA o un modello di regressione a tendenza multipla con possibili spostamenti di livello o un modello composito che integra sia la memoria (ARIMA) che le variabili fittizie. Questo modello comune potrebbe essere stimato globalmente e separatamente per ciascuna delle due serie e quindi si potrebbe costruire un test F per testare l'ipotesi di un insieme comune di parametri.


1
Bene, non hai davvero bisogno di avere la stessa frequenza per entrambe le serie. Solo per questo motivo c'è poco software per altri casi, ma vedi traces.readthedocs.io/it/latest . Sembra che molto sia pubblicato su altri casi nelle riviste di astronomia e in finanza e geofisica ... vedi i riferimenti in en.wikipedia.org/wiki/Unevenly_spaced_time_series
kjetil b halvorsen

12

Prendi grangertest()in considerazione la libreria lmtest .

È un test per vedere se una serie storica è utile per prevederne un'altra.

Un paio di riferimenti per iniziare:

https://spia.uga.edu/faculty_pages/monogan/teaching/ts/

https://spia.uga.edu/faculty_pages/monogan/teaching/ts/Kgranger.pdf

http://en.wikipedia.org/wiki/Granger_causality


1
La sua dimensione del campione sarebbe troppo piccola con <10 punti dati rispetto alla quantità di parametri necessari per adattarsi a Granger.
Jase il

1
@fionn, i link nella tua risposta sono morti. Puoi aggiornare la tua risposta?
Assapora Josipovic il

0

Mi sono appena imbattuto in questo. La tua prima risposta ci sta tramando g i due imposta la stessa scala (nel tempo) per vedere visivamente le differenze. Hai fatto questo e puoi facilmente vedere che ci sono alcune differenze evidenti. Il prossimo passo è usare una semplice analisi di correlazione ... e vedere come sono correlati usando il coefficiente di correlazione (r). Se la r è piccola la tua conclusione sarebbe che sono debolmente correlati e quindi nessun confronto desiderabile e un valore più grande se r suggerisse buoni confronti s tra le due serie. Il terzo passo in cui esiste una buona correlazione è testare il significato statistico di r. Qui è possibile utilizzare il test di Shapiro Welch che presuppone che le due serie siano normalmente distribuite (ipotesi nulla) o meno (ipotesi alternativa). Ci sono altri test che puoi fare ma lasciami sperare che la mia risposta aiuti.


1
Quando si confrontano le serie temporali si tratta di autocorrelazione e possibilmente di adattamento di modelli di serie storiche. come i modelli ARIMA che possono aiutare a determinare quanto sono simili. Due realizzazioni dello stesso processo stocastico non hanno necessariamente lo stesso aspetto quando vengono tracciate.
Michael Chernick,

-2

Adatta una linea retta a entrambi i segnali delle serie temporali usando polyfit. Quindi calcola root-mean-square-error (RMSE) per entrambe le linee. Il valore ottenuto per la linea rossa sarebbe molto inferiore a quello ottenuto per la linea grigia.

Fai anche le letture su una frequenza comune.


2
Benvenuto in Cross Validated e grazie per la tua prima risposta! Tuttavia, sono preoccupato dal fatto che non risponda direttamente alla domanda: in che modo l'approccio proposto aiuterebbe il richiedente a valutare se i valori e / o le tendenze sono simili?
Martin Modrák,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.