2013-05-14 1 views
0

Simple question - je veux extraire les valeurs ajustées et d'une prévision moyenne ARIMA comme une seule série chronologique, en utilisant R. En ce moment, j'utilise ce code lent et lourd:Existe-t-il un moyen plus simple d'extraire les valeurs ajustées combinées et les valeurs de prévision d'un ARIMA dans R?

x<-auto.arima(y) 
z<-forecast(x, 365) 

fitted<-z$fitted 
mean<-z$mean 
merged<-merge.zoo(fitted, mean) 
merged$fitted[is.na(merged$fitted)]<-0 
merged$mean[is.na(merged$mean)]<-0 

finalforecast<-merged$fitted+ merged$mean 

Il doit y avoir un Pour le faire, mais en regardant la documentation, je dessine un blanc. Je veux vraiment éviter les tracas de fusionner la série temporelle, puis de faire des zéros (pour remplir les NA), puis faire l'addition. Je sais que je peux créer ma propre fonction, mais je serais surpris s'il n'y a pas quelque chose de simple qui soit pré-cuit.

Pensées?

+0

Je ne suis pas surpris qu'il n'y a rien précuite. Pourquoi diable voudriez-vous faire cela? Les valeurs ajustées sont des prévisions en une étape et vous les joignez à des prévisions multi-étapes hors échantillon. –

+0

Je combine les deux pour les utilisations de stockage de données, principalement. Mais, comme mon collègue qui se concentre sur le travail transversal a souligné, avoir un ensemble de valeurs ajustées combinées avec la prévision peut être utile lorsque vous décomposez une série de données, pour voir combien de données peuvent être expliquées par votre modèle (et combien vous attendez d'expliquer sortir). Compte tenu de cela, que suggérez-vous comme une meilleure façon de le faire? Peut-être un back-test des valeurs anticipées de l'ARIMA au fil du temps? Appréciez votre temps et votre livre. – Bryan

+0

Vous pouvez utiliser les valeurs MASE, dans l'échantillon et hors échantillon. Voir http://otexts.com/fpp/2/5/ –

Répondre

3

Pourquoi ne pas simplement c(z$fitted, z$mean)?

EDIT: Si vous avez besoin d'un objet ts: ts(c(z$fitted, z$mean), start=start(y), frequency=frequency(y))

+0

Merci - cela est parfaitement logique. Encore, un peu de travail pour obtenir ces données ... – Bryan

Questions connexes