2017-09-08 7 views
0

J'ai simple série chronologique exemple:Pourquoi est-ce que j'obtiens des prévisions de séries chronologiques à plat de la plupart des techniques?

enter image description here

données:

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 
2000 200.1 199.5 199.4 198.9 199.0 200.2 198.6 200.0 200.3 201.2 201.6 201.5 
2001 201.5 203.5 204.9 207.1 210.5 210.5 209.8 208.8 209.5 213.2 213.7 215.1 
2002 218.7 219.8 220.5 223.8 222.8 223.8 221.7 222.3 220.8 219.4 220.1 220.6 
2003 218.9 217.8 217.7 215.0 215.3 215.9 216.7 216.7 217.7 218.7 222.9 224.9 
2004 222.2 220.7 220.0 218.7 217.0 215.9 215.8 214.1 212.3 213.9 214.6 213.6 
2005 212.1 211.4 213.1 212.9 213.3 211.5 212.3 213.0 211.0 210.7 210.1 211.4 
2006 210.0 209.7 208.8 208.8 208.8 210.6 211.9 212.8 212.5 214.8 215.3 217.5 
2007 218.8 220.7 222.2 226.7 228.4 233.2 235.7 237.1 240.6 243.8 245.3 246.0 
2008 246.3 247.7 247.6 247.8 249.4 249.0 249.9 250.5 251.5 249.0 247.6 248.8 
2009 250.4 250.7 253.0 253.7 255.0 256.2 256.0 257.4 260.4 260.0 261.3 260.4 
2010 261.6 260.8 259.8 259.0 258.9 257.4 257.7 257.9 257.4 257.3 257.6 258.9 
2011 257.8 257.7 257.2 257.5 256.8 257.5 257.0 257.6 257.3 257.5 259.6 261.1 
2012 262.9 263.3 262.8 261.8 262.2 262.7      

J'ai alors couru 4 différents modèles de prévision des séries chronologiques: lissage Holt Winters, TBATS Lissage, Arima, et AR Neural Filets avec les fonctions suivantes: HoltWinters(), tbats(), auto.arima(), nnetar()

J'ai prévu 36 périodes (3 ans) à venir. Les résultats suivants:

enter image description here

enter image description here

enter image description here

enter image description here

Ma question est de savoir pourquoi les HoltWinters semblent être la seule prévision significative. J'ai assez de données pour que l'obtention de lignes plates pour toutes les autres prévisions semble étrange. Comme si quelque chose se brise ou que je ne comprends pas quelque chose. D'autant plus que TBATS est une forme généralisée de Holt Winters. Et juste en regardant la série ARIMA devrait sortir quelque chose de plus qu'une moyenne droite? Droite? Le (1,1,1) implique même de prendre en compte une différence. De plus, aucun des modèles ne semble échouer et retourner un modèle nul. Très curieux pourquoi je vois ces résultats et comment interpréter.

Toute aide ou explication est très appréciée! La demande est un objet ts d'ailleurs.

Ci-dessous mon code:

hw_test = HoltWinters(demand) 
hw_forecast = forecast(hw_test, h=36) 
plot(hw_forecast) 

arima_test = auto.arima(demand) 
arima_forecast = forecast(arima_test, h=36) 
plot(arima_forecast) 

tbats_test = tbats(demand) 
tbats_forecast = forecast(tbats_test, h=36) 
plot(tbats_forecast) 

nn_test = nnetar(demand) 
nn_forecast = forecast(nn_test, h=36) 
plot(nn_forecast) 
+1

Si vous avez des questions sur les modèles statistiques, vous devriez vous renseigner sur [stats.se]. Cette question ne semble pas être une question de programmation spécifique appropriée pour Stack Overflow. – MrFlick

+0

Juste déplacé, vous avez raison. –

+0

S'il vous plaît poster un lien vers la question CV, je suis curieux à ce sujet aussi bien. – mikeck

Répondre

0

Tout dépend de la façon dont une prévision est calculée pour un horizon donné. Par exemple, si la composante saisonnière dans Holt-Winters était 0, votre ligne bleue serait une ligne droite croissante. Ces cycles sont des ajustements causés par la composante saisonnière. Différents modèles sont plus appropriés pour une utilisation avec des petits horizons comme 1 ~ 10, car ils calculent une valeur qui représente une série temporelle (modèles basés sur des moyennes), ou subissent un petit ajustement en fonction de la façon dont les choses varient en utilisant l'équation une ligne (régression), etc. Avec de tels modèles, prévoir des horizons plus longs signifie extrapoler trop longtemps cette représentation des séries temporelles. Pour cette raison, vous devriez peut-être réduire l'horizon pour de meilleurs résultats avec ces modèles, ou compter sur Holt-Winters ou des modèles régressifs non linéaires qui ont suffisamment de composants pour ajuster les valeurs sur des horizons plus longs.