2017-06-18 67 views
0

我試圖應用一個假抽樣方法來預測使用auto.arima()的GDP增長數據。 我有一個.csv數據,從1996Q1到2016Q4,我想從2000Q1開始提前一年預測,這意味着我的第一個預測應該基於1996Q1-1999Q1,我的第二個預測應該基於1996Q2-1999Q2等等,我最近的預測(2016Q4)應該基於2011Q4-2015Q4。R一次預測多個ARIMA模型,用於僞抽樣

我想通了,如何申請我的子集的ARIMA模型和存儲提前預測一年保修期:

data = read.csv2(choose.files()) #loading file 
data$Euroraum <- ts(data$Euroraum, start=c(1996, 1), end=c(2016, 4), frequency=4) #make it a time series 
GDP_1999Q1 <- window(data$Euroraum, start=c(1996, 1), end=c(1999, 1)) #generate first subset for producing first forecast 
fit_GDP2000Q1 = auto.arima(GDP_1999Q1, ic=c("aic")) 
Forecast_GDP2000Q1 = forecast(fit_GDP2000Q1,h=4) 

但很明顯,我想這個自動化和存儲我的所有的預測作爲另一個時間序列。 對不起,如果這有一個明顯的解決方案,或已在其他地方解釋,盡我所能,谷歌適當的解決方案。

我的.csv看起來是這樣的:

GEOTIME Euroraum 
1996Q1 1,1 
1996Q2 1,4 
1996Q3 2,1 
1996Q4 1,7 
1997Q1 1 
1997Q2 3,1 
1997Q3 2,6 
1997Q4 3,5 
1998Q1 4,2 
1998Q2 2,4 
1998Q3 2,8 
1998Q4 2,1 
1999Q1 2,2 
1999Q2 2,6 
1999Q3 2,9 
1999Q4 4,1 
2000Q1 4,9 
2000Q2 4,3 
2000Q3 3,4 
2000Q4 2,7 
2001Q1 3 
2001Q2 2,3 
2001Q3 1,8 
2001Q4 1,4 
2002Q1 0,1 
2002Q2 1,1 
2002Q3 1,5 
2002Q4 0,9 
2003Q1 0,9 
2003Q2 0 
2003Q3 0,4 
2003Q4 1,1 
2004Q1 2,2 
2004Q2 2,7 
2004Q3 2,2 
2004Q4 2 
2005Q1 0,9 
2005Q2 2 
2005Q3 1,8 
2005Q4 1,7 
2006Q1 3,6 
2006Q2 2,6 
2006Q3 3 
2006Q4 3,5 
2007Q1 3,4 
2007Q2 3,1 
2007Q3 3 
2007Q4 2,3 
2008Q1 1,7 
2008Q2 1,6 
2008Q3 0,6 
2008Q4 -2,1 
2009Q1 -5,5 
2009Q2 -5,9 
2009Q3 -4,3 
2009Q4 -2 
2010Q1 1,2 
2010Q2 2,5 
2010Q3 2,4 
2010Q4 2,3 
2011Q1 2,9 
2011Q2 1,8 
2011Q3 1,4 
2011Q4 0 
2012Q1 -0,2 
2012Q2 -1,2 
2012Q3 -1,2 
2012Q4 -1,1 
2013Q1 -1,8 
2013Q2 -0,3 
2013Q3 0,4 
2013Q4 0,6 
2014Q1 1,4 
2014Q2 0,9 
2014Q3 1,1 
2014Q4 1,3 
2015Q1 1,9 
2015Q2 2,1 
2015Q3 2 
2015Q4 2,3 
2016Q1 1,7 
2016Q2 2,2 
2016Q3 1,7 
2016Q4 1,4 

感謝您的幫助提前!

回答

0

我找到了一種方法,列出我所希望的一年,未來,預測直接使用一個for循環:

forecasts = numeric(length = 68) 

for (i in 1:68) { 
    forecasts[i]<-forecast(auto.arima(ts(data$Euroraum[i:(12+i)], frequency = 4)), h=4)$mean[4] 
    } 
forecasts