J'ai des données qui ont deux comportements sous-jacents. Il y a d'abord une périodicité. Cela ressemble à une courbe sinusoïdale. Deuxièmement, les points de données connaissent une croissance constante. Donc, si j'ai 100 points de données sans croissance, cela ressemblera à une courbe sinusoïdale. Mais en raison du taux de croissance en elle. il y a une augmentation de grandeur allant du point 1 au point 100.
Je ne sais pas quel est le bon terme à rechercher dans google. Existe-t-il une méthode pour ce type d'analyse de données?
time-series
seasonality
trend
fourier-transform
user1243255
la source
la source
Réponses:
Le terme que vous recherchez est "décomposition des tendances et de la saisonnalité des séries chronologiques". Google cela.
Il existe de nombreuses approches. Si vous n'avez vraiment que 100 points, Fourier ne fonctionnera pas très bien. Les approches basées sur Yule-Walker peuvent mieux fonctionner. Il existe également des approches basées sur les filtres. Par exemple, les filtres passe-bande de Google tels que bpassm d'Atlanta Fed. L'idée est de filtrer les différentes composantes de fréquence de la série, de sorte que la basse fréquence soit la tendance, la fréquence moyenne du signal et la haute fréquence - la saisonnalité, etc.
Il y a un ensemble complet de code dans cet exemple matlab . Cela vous guide pas à pas dans le processus de désaisonnement, cela fonctionne assez bien pour les données économiques selon mon expérience
la source
Les modèles auto-régressifs classiques peuvent gérer les cycles! En remontant le temps, Yule (1927) et Walker (1931) ont modélisé la périodicité des taches solaires en utilisant une équation de la forme:
L'activité des taches solaires a tendance à fonctionner sur des cycles de 11 ans, et bien que ce ne soit pas immédiatement évident, l'inclusion de deux termes autorégressifs peut créer un comportement cyclique! Les modèles autorégressifs sont désormais omniprésents dans l'analyse moderne des séries chronologiques. Le US Census Bureau utilise un modèle ARIMA pour calculer la désaisonnalisation.
Plus généralement, vous pouvez adapter un modèle ARIMA qui implique:
Si vous plongez dans les mathématiques , il existe une relation entre les modèles ARIMA et les représentations dans le domaine fréquentiel avec une transformée de Fourier. Vous pouvez représenter un processus de série chronologique stationnaire à l'aide d'un modèle auto-régressif, d'un modèle à moyenne mobile ou de la densité spectrale.
Voie pratique à suivre:
Bien sûr, vous pouvez obtenir plus de fantaisie, mais souvent des choses simples peuvent fonctionner étonnamment bien. Il existe des packages bien développés pour l'analyse des séries temporelles dans R, EViews, Stata, etc ...
la source
Si vos données sont une série chronologique, vous voudrez peut-être examiner le lissage exponentiel triple, également connu sous le nom de méthode Holt-Winters. Cela peut s'adapter à la saisonnalité additive (où l'amplitude saisonnière ne croît pas avec la tendance à la hausse au fil du temps) et à la saisonnalité multiplicative. Voici la différence:
Cette section de manuel de prévision en ligne gratuit de Hyndman & Athanasopoulos explique Holt-Winters. Voici toute la taxonomie des méthodes de lissage exponentiel, basée sur Gardner (2006, International Journal of Forecasting ) . Pour modéliser en fait une telle série, la tendance de l' extrait, les composants saisonniers et d' erreur et de prévision, je recommande la
ets()
fonction dans leforecast
package R .la source