Quel est le meilleur, stl ou décomposer?

10

Je fais une analyse des séries chronologiques en utilisant R. Je dois décomposer mes données en composantes de tendance, saisonnières et aléatoires. J'ai des données hebdomadaires depuis 3 ans. J'ai trouvé deux fonctions dans R - stl()et decompose(). J'ai lu que ce stl()n'est pas bon pour la décomposition multiplicative. Quelqu'un peut-il me dire dans quel scénario ces fonctions peuvent être utilisées?

Arushi
la source
1
Vous devrez fournir un contexte à votre problème, sinon nous allons devoir migrer vers l' échange de pile ou à proximité avec la recommandation que vous essayez ?stlet ?decompose.
AdamO

Réponses:

4

Je dirais STL. STL fait tendance et saisonnier voir: http://www.wessa.net/download/stl.pdf

Décomposer uniquement saisonnier voir la documentation ici: http://stat.ethz.ch/R-manual/R-devel/library/stats/html/decompose.html

Lorsque vous travaillez avec eux, assurez-vous d'inclure votre type de tendance (multiplicatif, additif) et votre type de saison (multiplicatif, additif). Les tendances peuvent aussi parfois avoir un facteur d'amortissement.

Par décomposition multiplicative, je suppose que vous voulez dire dans le cas de la tendance. Il est peu probable que vous utilisiez la décomposition multiplicative, sauf si vous décomposez une fonction de croissance exponentielle.

ccsv
la source
La décomposition multiplicative dans le cas simple est celle où le modèle sous-jacent est Y = tendance * erreur saisonnière *. Les modèles multiplicatifs apparaissent dans des contextes non exponentiels. Par exemple, avec les ventes, vous avez un certain niveau de trafic et un certain taux de conversion, et donc la composante saisonnière varie proportionnellement à la tendance. La solution est celle que Natalie décrit.
5

Inconvénients de la decomposefonction dans R:

  1. L'estimation de la tendance n'est pas disponible pour les premières et dernières observations.
  2. Il suppose que la composante saisonnière se répète d'année en année.

Je préférerais donc STL. Il est possible d'obtenir une décomposition multiplicative en prenant d'abord des journaux des données puis en retransformant les composants.

Natalie
la source
1

La STL est une technique plus avancée pour extraire la saisonnalité, dans le sens où elle permet à la saisonnalité de varier, ce qui n'est pas le cas decompose.

Pour comprendre comment fonctionne STL:

  • l'algorithme estime chaque sous-série saisonnière (dans une saisonnalité de 7 jours, il estimera 7 sous-séries: la série du lundi, la série du mardi, etc.),
  • il estimera ensuite la saisonnalité locale en exécutant une régression de loess sur chaque sous-série.

Cela permet de saisir l'effet variable de la saisonnalité. Si vous ne voulez pas que votre saisonnalité varie (en d'autres termes, l'effet estimé de chaque sous-série restera constant tout au long de la série), vous pouvez spécifier que la fenêtre saisonnière doit être infinie ou "périodique". Cela équivaut à faire la moyenne de chaque sous-série et à donner un poids égal à tous les points (vous n'avez plus d'effet "local"). decomposeest essentiellement le même, car les sous-composants saisonniers resteront constants sur toute votre série de temps, qui est une configuration spéciale de STL.

Ceci est assez bien expliqué ici: https://www.otexts.org/fpp/6/1 .

STL estime la saisonnalité de manière additive. Comme expliqué quelques pages plus loin dans la source précédente, vous pouvez estimer la saisonnalité de manière multiplicative en recourant à la transformation logarithmique (ou transformation Cox-Box).

Tanguy
la source