0

我正在尝试使用 r auto.arima 预测一些宏观经济系列。这是我使用的代码:

model_fit = auto.arima(data, stepwise = FALSE, approximation = FALSE)
prediction = fitted(model_fit)
print(data)
print(prediction)

输出是:

> print(data)
       Qtr1       Qtr2       Qtr3       Qtr4
1999  0.9029963  1.0156890  1.1867020  1.5719140
2000  2.0067800  1.9615760  2.2470900  2.5198470
2001  2.1401040  2.9407880  2.4341130  2.1403400
2002  2.5637690  2.1126460  2.1070180  2.3041870
2003  2.3093520  1.9977380  2.0719100  2.0940880
2004  1.7487290  2.3240540  2.2922990  2.3406600
2005  2.0721600  2.0425360  2.3130890  2.3588480
2006  2.3445580  2.4853510  2.1981040  1.8023280
2007  1.8980200  1.9109010  1.9092900  2.9328540
2008  3.4199780  3.7011940  3.9163310  2.3477840
2009  1.0112570  0.2069567 -0.3620303  0.4282966
2010  1.1070920  1.5942610  1.7186250  2.0275400
2011  2.4790400  

> print(prediction)
       Qtr1       Qtr2       Qtr3       Qtr4
1999  1.3812718  1.0955290  1.3415711  1.6519519
2000  2.0552300  2.2757984  2.2110367  2.3541009
2001  2.5865675  2.3494052  2.8218531  2.3474635
2002  2.2046983  2.0644884  2.3801052  2.1063136
2003  2.0630790  2.2841777  2.1292972  1.8625121
2004  1.9513986  1.9568159  2.3676378  2.2579986
2005  2.4307846  1.7551040  2.0206889  2.2715579
2006  2.6566236  2.0881174  2.2141798  2.0744364
2007  1.8995575  1.5632795  2.0096422  2.1640363
2008  3.0225346  3.3082346  3.6079884  3.0474864
2009  1.6090527  0.1043498 -0.2002444  0.3544487
2010  1.3420635  1.7475707  2.2098229  1.9617557 
2011  2.3519234    

预测的时间戳对应于数据的时间戳。

现在,fitted产生领先一步的预测。我将其理解为:使用实时数据的真实值t产生对时间的预测t+1。例如1999Q1用于预测1999Q2。基于这个假设,我期望看到 的预测值2011Q2,但没有。

我的问题是:预测系列中的时间戳是否正确?是prediction[1999Q1],模型对 的估计data[1999Q1]

这也受不同顺序的影响D吗?如果时间戳是正确的,为什么没有预测2011Q1

我需要绘制真实值和预测值的图,并希望确保它们正确对齐。

4

1 回答 1

0
mydata <- read.xlsx("C:/../Data.xlsx")
data_ts <- ts(mydata$Data, start=c(1999,1), frequency = 4)
print(data_ts)
mydata_aa<- auto.arima(data_ts)
print(mydata_aa)
mydata_aa_pred <- forecast:::forecast.Arima(mydata_aa, h=10)
print(mydata_aa_pred)

使用了上述代码,我能够从 2011 年第二季度开始得到预测。由于我也是新手,我无法粘贴输出。希望上面的代码会有所帮助。您需要预测包来执行上述命令。如果您尚未下载或需要帮助,请使用以下代码。

install.packages("forecast", dependencies = TRUE)
library(forecast)
于 2018-02-26T21:51:21.760 回答