Comment interpréter les résultats du modèle TBATS et les diagnostics du modèle


11

J'ai une demi-heure de données sur la demande, qui est une série chronologique multi-saisonnière. J'ai utilisé tbatsdans le forecastpackage en R, et obtenu des résultats comme celui-ci:

TBATS(1, {5,4}, 0.838, {<48,6>, <336,6>, <17520,5>}) 

Cela signifie-t-il que la série ne doit pas nécessairement utiliser la transformation de Box-Cox et que le terme d'erreur est ARMA (5, 4) et que les termes 6, 6 et 5 sont utilisés pour expliquer la saisonnalité? Que signifie ce paramètre amorti 0.8383, est-ce aussi pour la transformation?

Voici le graphique de décomposition du modèle:

entrez la description de l'image ici

Je me demande quoi faire levelet slopedire sur le modèle. La «pente» indique la tendance, mais qu'en est-il level? Comment obtenir un tracé plus clair pour session 1et session 2, qui sont respectivement saisonniers quotidiens et hebdomadaires.

Je dois également savoir comment faire des diagnostics de modèle pour tbatsévaluer le modèle, à l'exception de la valeur RMSE. La manière normale consiste à vérifier si l'erreur est du bruit blanc, mais ici l'erreur est supposée être une série ARMA. Je trace 'acf' et 'pacf' de l'erreur, et je ne pense pas que cela ressemble à ARMA (5,4). Est-ce à dire que mon modèle n'est pas bon?

acf(resid(model1),lag.max = 1000)
pacf(resid(model1),lag.max=1000)

entrez la description de l'image ici

La dernière question RMSEest calculée en utilisant la valeur ajustée et la valeur vraie. Et si j'utilise la valeur prédite fc1.week$meanet la valeur réelle pour évaluer le modèle, est-il toujours appelé RMSE? Ou, il y a un autre nom pour cela?

fc1.week <-forecast(model1,h=48*7)
fc1.week.demand<-fc1.week$mean

Réponses:


8

Dans la page d'aide de ?tbats, nous constatons que:

Le modèle ajusté est désigné TBATS (oméga, p, q, phi,, ...,) où oméga est le paramètre Box-Cox et phi est le paramètre d'amortissement; l'erreur est modélisée comme un processus ARMA (p, q) et m1, ..., mJ énumèrent les périodes saisonnières utilisées dans le modèle et k1, ..., kJ sont le nombre correspondant de termes de Fourier utilisés pour chaque saisonnalité.

Donc:

  • oméga = 1, ce qui signifie qu'en effet, il n'y a pas eu de transformation Box-Cox .
  • ϕ=0ϕ=1use.damped.trendtbats()
  • Vous avez trois cycles saisonniers différents, un de longueur 48 = 24 * 2 (quotidien), un de longueur 336 = 7 * 24 * 2 (hebdomadaire) et un de longueur 17520 = 365 * 24 * 2 (annuel). tbatsadapte le premier en utilisant six termes de Fourier, le second avec six, le dernier avec cinq.

Le document TBATS original de De Livera, Hyndman & Snyder (2011, JASA ) est bien sûr utile.

Prochain:

  • Le "niveau" est le niveau local de la série chronologique.
  • La «tendance» est la tendance locale.

Celles-ci sont analogues à la décomposition de tendance saisonnière plus courante utilisant le Lowess (STL) . Jetez un oeil à la stl()commande.

Pour obtenir un tracé plus clair pour la saison 1 et la saison 2, vous pouvez consulter les valeurs numériques des composants séparés de votre modèle TBATS. Regardez str(tbats.components(model1))et summary(tbats.components(model1)). tbats.components()vous donne un mtsobjet série temporelle multiple ( ), qui est essentiellement une matrice - une des colonnes vous donnera chaque composante saisonnière.

residuals()devrait fonctionner comme il fonctionne partout dans R; c'est-à-dire qu'il doit renvoyer les résidus finaux . Il s'agit en effet de bruit blanc, car ce sont les résidus après application d'un ARMA (5,4). Les pics de votre ACF semblent être réguliers - il semble qu'il y ait une saisonnalité restante. Pouvez-vous en déduire leur périodicité? (Cela n'aide pas vraiment que les retards soient comptés en multiples du cycle saisonnier le plus long.)

Enfin, oui, l'erreur quadratique moyenne, qui est une mesure courante de précision des prévisions , a le même acronyme hors échantillon: RMSE.


1
Merci beaucoup! Oui, le pic d'ACF est régulier, un pic en 48 décalages. Le problème est que j'en ai déjà inclus 48 comme saisonniers dans ma série chronologique. Comment procédez-vous normalement pour fixer le résiduel saisonnier? Autre chose à essayer?
Jeannie

1
Fredonner. Malheureusement, je ne vois pas de moyen de forcer tbats()à inclure plus de termes de Fourier pour des saisonnalités spécifiques. Désolé ...
Stephan Kolassa
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.