Comment comparer statistiquement deux séries chronologiques?

44

J'ai deux séries chronologiques, montrées dans l'intrigue ci-dessous:

Série chronologique

Le graphique montre les détails complets des deux séries chronologiques, mais je peux facilement le réduire aux observations coïncidentes si nécessaire.

Ma question est la suivante: quelles méthodes statistiques puis-je utiliser pour évaluer les différences entre les séries chronologiques?

Je sais que la question est assez large et vague, mais je ne trouve pas beaucoup de matériel d’introduction à ce sujet où que ce soit. Comme je peux le voir, il y a deux choses distinctes à évaluer:

1. Les valeurs sont-elles les mêmes?

2. Les tendances sont-elles les mêmes?

Quel type de tests statistiques suggéreriez-vous de regarder pour évaluer ces questions? Pour la question 1, je peux évidemment évaluer les moyennes des différents jeux de données et rechercher des différences significatives dans les distributions, mais existe-t-il un moyen de prendre en compte la nature chronologique des données?

Pour la question 2 - y a-t-il quelque chose comme les tests de Mann-Kendall qui recherche la similitude entre deux tendances? Je pourrais faire le test Mann-Kendall pour les deux jeux de données et comparer, mais je ne sais pas si c'est une façon valable de faire les choses ou s'il existe une meilleure façon?

Je fais tout cela en R, donc si les tests que vous suggérez ont un paquet R, faites-le moi savoir.

Robintw
la source
9
L'intrigue semble masquer ce qui pourrait constituer une différence cruciale entre ces séries: elles pourraient être échantillonnées à des fréquences différentes. La ligne noire (Aeronet) ne semble avoir été échantillonnée que 20 fois environ et la ligne rouge (visibilité) des centaines de fois ou plus. Un autre facteur critique peut être la régularité de l'échantillonnage ou son absence: les délais entre les observations Aeronet semblent varier légèrement. En général, il est utile d’ effacer les lignes de connexion et d’afficher uniquement les points correspondant aux données réelles, afin que le téléspectateur puisse déterminer ces éléments visuellement.
whuber
Voici une bibliothèque Python pour l'analyse de séries temporelles irrégulièrement espacées.
kjetil b halvorsen

Réponses:

28

Comme d’autres l’ont dit, vous devez avoir une fréquence de mesure commune (c’est-à-dire le temps entre les observations). Cela étant fait, j’identifierais un modèle commun qui décrirait raisonnablement chaque série séparément. Il peut s'agir d'un modèle ARIMA ou d'un modèle de régression à tendances multiples, avec des décalages de niveau possibles, ou d'un modèle composite intégrant des variables de mémoire (ARIMA) et factices. Ce modèle commun pourrait être estimé globalement et séparément pour chacune des deux séries, puis on pourrait construire un test F pour tester l'hypothèse d'un ensemble commun de paramètres.

IrishStat
la source
1
Eh bien, vous n'avez pas vraiment besoin d'avoir la même fréquence pour les deux séries. C’est la raison pour laquelle il existe peu de logiciels pour les autres cas, mais voir traces.readthedocs.io/en/latest . Il semble que beaucoup d'articles soient publiés dans des revues d'astronomie, ainsi que dans les domaines des finances et de la géophysique ... voir les références en en.wikipedia.org/wiki/Unevenly_spaced_time_series
kjetil b halvorsen
12

Considérez le grangertest()dans la bibliothèque lmtest .

C'est un test pour voir si une série temporelle est utile pour en prévoir une autre.

Quelques références pour vous aider à démarrer:

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

fionn
la source
1
Sa taille d'échantillon serait trop petite avec <10 points de données par rapport à la quantité de paramètres dont vous avez besoin pour tenir dans Granger.
Jase
1
@fionn, les liens dans votre réponse sont morts. Pouvez-vous mettre à jour votre réponse?
Davor Josipovic
0

Je viens de découvrir cela. Votre première réponse consiste à tracer les deux ensembles sur la même échelle (dans le temps) pour voir les différences visuellement. Vous l'avez fait et vous pouvez facilement voir qu'il existe des différences criantes. L'étape suivante consiste à utiliser une analyse de corrélation simple ... et à voir dans quelle mesure ils sont liés à l'aide du coefficient de corrélation (r). Si le nombre de r est faible, votre conclusion serait qu'ils sont faiblement liés et donc aucune comparaison souhaitable et une valeur plus grande si r suggèrent de bonnes comparaisons entre les deux séries. La troisième étape où il existe une bonne corrélation consiste à tester la signification statistique de r. Ici, vous pouvez utiliser le test de Shapiro Welch qui supposerait que les deux séries sont normalement distribuées (hypothèse nulle) ou non (hypothèse alternative). Il y a d'autres tests que vous pouvez faire mais laissez-moi espérer que ma réponse aidera.

Richard
la source
1
Lors de la comparaison de séries chronologiques, il s'agit d'une autocorrélation et éventuellement de l'ajustement de modèles de séries chronologiques. tels que les modèles ARIMA qui peuvent aider à déterminer leur similitude. Deux réalisations du même processus stochastique ne se ressemblent pas nécessairement lorsque vous les tracez.
Michael R. Chernick
-2

Ajustez une ligne droite aux deux signaux de la série chronologique à l’aide de polyfit. Ensuite, calculez l'erreur quadratique moyenne (RMSE) pour les deux lignes. La valeur obtenue pour la ligne rouge serait assez inférieure à celle obtenue pour la ligne grise.

Faites également des lectures sur une fréquence commune.

M. Ejaz Ahmed
la source
2
Bienvenue dans Cross Validated et merci pour votre première réponse! Je crains toutefois que vous ne répondiez pas directement à la question: comment l'approche proposée aiderait-elle exactement le demandeur à évaluer si les valeurs et / ou les tendances sont similaires?
Martin Modrák