auto.arima预测与多变量xreg-意外结果

auto.arima预测与多变量xreg-意外结果,r,forecasting,R,Forecasting,在我的业余时间,我试图提高我的预测技巧,今天的问题集中在多元回归预测。我创建了一个受两个回归器影响的时间序列,但不知道如何使用它们进行预测 library(forecast) 我尝试了以下方法: 首先,我的时间序列: ts.series3 <- structure(c(313, 253, 230, 258, 261, 303, 266, 269, 245, 274, 346, 252, 283, 286, 260, 365, 295, 268, 301, 304, 353, 310,

在我的业余时间,我试图提高我的预测技巧,今天的问题集中在多元回归预测。我创建了一个受两个回归器影响的时间序列,但不知道如何使用它们进行预测

library(forecast)
我尝试了以下方法:

首先,我的时间序列:

ts.series3 <- structure(c(313, 253, 230, 258, 261, 303, 266, 269, 245, 274, 
346, 252, 283, 286, 260, 365, 295, 268, 301, 304, 353, 310, 313, 
285, 319, 403, 294, 330, 333, 303, 425, 343, 312, 350, 354, 411, 
361, 366, 333, 469, 380, 346, 487, 394, 359, 404, 511, 372, 418
), .Tsp = c(2003.08333333333, 2007.08333333333, 12), class = "ts")
具有两个回归器的多元时间序列:

modifiers <- structure(c(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 
0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 
0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 
1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 
1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), .Dim = c(60L, 
2L), .Dimnames = list(NULL, c("Adjust1", "Adjust2")), .Tsp = c(2003.08333333333, 
2008, 12), class = c("mts", "ts"))

当我不使用任何回归变量时,预测图如下所示。我对这一预测比对上图中的预测更有信心。我使用以下代码行生成图表:

fit.series3clean <- auto.arima(ts.series3)
fcast.series3clean <- forecast(fit.series3clean)
plot(fcast.series3clean)

fit.series3clean看看您的贴合型:

> fit.series3
Series: ts.series3 
ARIMA(0,1,1)(0,1,0)[12]                    

Coefficients:
          ma1  Adjust1   Adjust2
      -0.7586  80.1919  285.6239
s.e.   0.0832   0.0842       NaN

sigma^2 estimated as 71.55:  log likelihood=-128.38
AIC=264.76   AICc=266.05   BIC=271.09
Warning message:
In sqrt(diag(x$var.coef)) : NaNs produced
Adjust2
的系数有问题,因为标准误差为
NaN

以下代码显示了该问题:

> window(diff(diff(modifiers[,2],12)),end=2007.16)
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2004           0   0   0   0   0   0   0   0   0   0
2005   0   0   0   0   0   0   0   0   0   0   0   0
2006   0   0   0   0   0   0   0   0   0   0   0   0
2007   0   0                                        

在拟合期间,两次差分
Adjust2
始终为零,使得系数基本上未定义(且具有无限方差).

我怀疑CrossValidated上的这篇文章将帮助我更深入地理解这个问题:我试图理解发生这种情况的逻辑,但我很难理解为什么
Adjust2
中的
s.e.
结果是
NaN
。在这种情况下,
NaN
表示
Inf
fit.series3clean <- auto.arima(ts.series3)
fcast.series3clean <- forecast(fit.series3clean)
plot(fcast.series3clean)
> fit.series3
Series: ts.series3 
ARIMA(0,1,1)(0,1,0)[12]                    

Coefficients:
          ma1  Adjust1   Adjust2
      -0.7586  80.1919  285.6239
s.e.   0.0832   0.0842       NaN

sigma^2 estimated as 71.55:  log likelihood=-128.38
AIC=264.76   AICc=266.05   BIC=271.09
Warning message:
In sqrt(diag(x$var.coef)) : NaNs produced
> window(diff(diff(modifiers[,2],12)),end=2007.16)
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2004           0   0   0   0   0   0   0   0   0   0
2005   0   0   0   0   0   0   0   0   0   0   0   0
2006   0   0   0   0   0   0   0   0   0   0   0   0
2007   0   0