Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R一次预测多个ARIMA模型,用于伪抽样外_R_Statistics_Time Series_Forecasting - Fatal编程技术网

R一次预测多个ARIMA模型,用于伪抽样外

R一次预测多个ARIMA模型,用于伪抽样外,r,statistics,time-series,forecasting,R,Statistics,Time Series,Forecasting,我试图使用auto.arima()将一种伪抽样方法应用于预测GDP增长数据。 我有一个从1996年第一季度到2016年第四季度的.csv数据,我想从2000年第一季度开始生成一年前预测,这意味着我的第一个预测应该基于1996年第一季度到1999年第一季度,我的第二个预测应该基于1996年第二季度到1999年第二季度等,我的最后一个预测(2016年第四季度)应该基于2011年第四季度到2015年第四季度 我想出了如何为我的子集应用ARIMA模型,并提前一年存储预测: data = read.csv

我试图使用auto.arima()将一种伪抽样方法应用于预测GDP增长数据。 我有一个从1996年第一季度到2016年第四季度的.csv数据,我想从2000年第一季度开始生成一年前预测,这意味着我的第一个预测应该基于1996年第一季度到1999年第一季度,我的第二个预测应该基于1996年第二季度到1999年第二季度等,我的最后一个预测(2016年第四季度)应该基于2011年第四季度到2015年第四季度

我想出了如何为我的子集应用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)

提前谢谢你的帮助

我找到了一种方法,可以直接使用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
预测=数值(长度=68)
(我在1:68){
预测[i]
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