Test de saisonnalité des séries chronologiques

9

Quels sont les tests de saisonnalité les plus simples pour les séries chronologiques?

Étant plus précis, je veux tester si en specific time series the seasonal componentest significatif.

Quels sont les packages recommandés en Python / R?

Michael D
la source

Réponses:

5

Avant de tester la saisonnalité, vous devez réfléchir au type de saisonnalité dont vous disposez. Notez qu'il existe de nombreux types de saisonnalité différents:

  • Saisonnalité additive vs multiplicative
  • Saisonnalités simples ou multiples
  • Saisonnalité avec un nombre de périodes égal ou inégal. Chaque année a douze mois, mais 52,1429 semaines.
  • Tendance vs saisonnalité: un modèle de saisonnalité apparaît toujours au cours de la même période, mais une tendance peut apparaître un peu plus tard ou plus tôt et pas exactement tous les 5 ans. Les cycles économiques sont un exemple de tendance.

L'une des méthodes les plus courantes pour détecter la saisonnalité consiste à décomposer la série chronologique en plusieurs composants.

Dans R, vous pouvez le faire avec la decompose()commande du package de statistiques préinstallé ou avec la stl()commande du package de prévisions.

Le code suivant est tiré d' un petit livre de R pour les séries chronologiques

births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")
birthstimeseries <- ts(births, frequency = 12, start = c(1946,1))
birthstimeseriescomponents <- decompose(birthstimeseries)
plot(birthstimeseriescomponents)

entrez la description de l'image ici

Vous pouvez vérifier les composants individuels avec

  • birthstimeseriescomponents$seasonal

  • birthstimeseriescomponents$random

  • birthstimeseriescomponents$trend


Une autre méthode consiste à inclure des variables fictives saisonnières et à vérifier si elles ont des valeurs p significatives lorsque vous calculez la régression. Si les mois individuels ont des coefficients significatifs, votre série chronologique mensuelle est saisonnière.


Une autre méthode pour détecter la saisonnalité consiste à tracer les données elles-mêmes ou à tracer l'ACF (fonction d'autocorrélation). Dans notre cas, vous pouvez facilement remarquer qu'il existe une saisonnalité.

entrez la description de l'image ici

entrez la description de l'image ici


Enfin et surtout, il existe des tests d'hypothèse «formels» afin de détecter la saisonnalité tels que le test T de Student et le test de rang signé de Wilcoxon.

Ferdi
la source
dans mon cas, je ne sais pas par moi-même (additif vs multiplicatif, saisonnalité unique vs multiple saisonnalité avec un nombre de périodes pair ou inégal), j'ai beaucoup de séries chronologiques et j'aimerais avoir une approche aussi généreuse que possible. Pour commencer, je voudrais commencer par l' additif, la saisonnalité unique, même + pas même. @Ferdi
Michael D
vous devriez peut-être penser à vos données: s'agit-il de données quotidiennes, hebdomadaires, mensuelles ou trimestrielles? y a-t-il des chocs ou des irrégularités? qu'observez-vous lorsque vous le visualisez?
Ferdi
certaines séries chronologiques ont hebdomadaire, quotidienne, horaire. Et certains autres n'en ont pas du tout. Pour la première étape, je veux détecter si la composante saisonnière signifie pleine du tout. Pour votre deuxième exemple, il a Lag 3 et 12. Mais d'une manière ou d'une autre, je ne trouve aucune saisonnalité au lag 3. Est-il préférable de regarder pacf à la place? Si je regarde ACF ou PACF comment je distingue le modèle AR (p) (qui n'est pas saisonnier) d'un modèle saisonnier? @Ferdi
Michael D
Je ne connais aucun algorithme que vous pouvez exécuter aveuglément sur n'importe quel type de série chronologique pour tester la saisonnalité
Ferdi
1
Je suis ... AUTOBOX recherche automatiquement à la fois la structure stochastique, c'est-à-dire ARIMA et la structure déterministe (effets fixes comme le jour de la semaine, le mois de l'année, le jour du mois, le trimestre de la -year etc) tout en faisant face à des complications telles que les changements de pas / niveau, les tendances temporelles locales, les impulsions, les changements dans les deux paramètres et la variance des erreurs dans le temps. Il existe une version R. C'est une excroissance de ma thèse de doctorat pour automatiser l'identification de modèles de séries chronologiques dans des paramètres univariés et multivariés.
IrishStat
0

Mes pensées sont de vérifier l'amplitude des:

  • Fonction d'autocorrélation ACF
  • Fonction d'autocorrélation partielle PACF
  • Coefficients de Fourier

(Les coefficients de Fourier sont liés à ACF via le théorème de Wiener-Khinchin .)

Michael D
la source