2017-12-10 2 views
1

Ich verwende library(forecast), um vierteljährliche Prognosen basierend auf vierteljährlichen Daten zu erstellen. Meine Prognosen werden in einem forecast Objekt gespeichert. Ich versuche, eine elegante und einfache Art zu finden, diese auf die entsprechenden Jahreswerte umzurechnen, wobei ich den Mittelwert aller 4 Viertel gut finde.Konvertieren vierteljährliche Prognose r in jährliche

Gibt es eine Option im forecast Paket, die dies erlaubt? Oder alternativ, wenn es eine Möglichkeit gibt, die vierteljährlichen Werte zu transformieren?

Ich habe versucht, das forecast Objekt in ein timeseries Objekt zu konvertieren und es mit der ursprünglichen Zeitreihe zusammenzuführen, die ich verwendet habe, um die Prognosen zu erstellen, aber das hat nicht funktioniert.

Unten ist ein Beispiel:

library('quantmod') 
library('xts') 
library('forecast') 
library(zoo) 
library(tis) 
library(astsa) 
library(xts) 
GDP_SAAR<-getSymbols('A191RL1Q225SBEA',src='FRED', auto.assign=FALSE) 
GDP_SAAR <- ts(GDP_SAAR , start=c(1947, 2), end=c(2017, 3), frequency=4) 
fit <- auto.arima(GDP_SAAR) 
x<-forecast(fit,h=7) 
+1

schön wäre, eine Probe auf Ihre Daten zu sehen .. – Heikki

Antwort

0

Ich weiß nicht, ob es noch für Sie von Interesse ist, aber hier ist eine Lösung, die 12 Stufen (Viertel) voraus, um unter Beteiligung von mindestens 3 Jahre umfassen von aggregierten Prognosen:

GDP_SAAR<-getSymbols('A191RL1Q225SBEA',src='FRED', auto.assign=FALSE) 
fit <- auto.arima(GDP_SAAR) 
x<-forecast(fit,h=12) 
DateTime=as.Date(seq(from=tail(index(GDP_SAAR),1),by="quarter",length.out = length(x$mean)+1)) 
myresult=tibble(Forecasts=x$mean,DateTime=DateTime[-1])%>%mutate(DateTime=year(DateTime))%>% 
    group_by(DateTime)%>%summarize(Forecasts=sum(Forecasts,na.rm=T)) 
> myresult 
# A tibble: 3 x 2 
    DateTime Forecasts 
    <int>  <dbl> 
1  2018  10.5 
2  2019  10.6 
3  2020  10.6 

hoffe, das hilft

Verwandte Themen