我正在进行预测练习。首选模型是ARIMA(0,0,1)(0,1,1)4,其中有三个外生变量(Forestalling.1,Forestalling.2,Break)。
我的因变量是Pmean
,平均房价,外生变量是虚拟变量,表示立法和财产危机的变化(这些变量由以下值0,1,-1组成) )。
我最初的方法是区分原始和适合Arima模型;然而,当试图预测系列时,这会给我带来麻烦,因为预测是在静止系列上完成的 - diff(log(x$Pmean),4)
fit = Arima(diff(log(x$Pmean),4),
order=c(1,0,0),
seasonal=list(order=c(0,0,1), period =4),
xreg=xregvariables)
Estimate Std. Error z value Pr(>|z|)
ar1 0.686212 0.128593 5.3363 9.485e-08 ***
sma1 -0.583000 0.110908 -5.2566 1.467e-07 ***
intercept 0.101515 0.010318 9.8386 < 2.2e-16 ***
Forestalling 1 0.035008 0.011365 3.0804 0.002067 **
Forestalling 2 -0.033731 0.013151 -2.5649 0.010320 *
Break -0.087386 0.013113 -6.6640 2.664e-11 ***
AIC=-216.75
我试图选择一个替代模型,其中包含了季节性差异,但结果不是最优的,我的估计并不重要。他们甚至为一些参数返回不同的方向(Forestalling2);它在原始模型中具有负面影响,在第二个模型中具有正(空)效果。
fit = Arima(log(x$Pmean)
order=c(1,0,0),
seasonal=list(order=c(0,1,1), period =4),
xreg=xregvariables ,
include.drift = TRUE)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.97042096 0.03430919 28.2846 < 2.2e-16 ***
sma1 -0.53044592 0.13689248 -3.8749 0.0001067 ***
drift 0.01407096 0.01016345 1.3845 0.1662158
Forestalling 1 0.03475176 0.01210626 2.8706 0.0040974 **
Forestalling 2 0.00094803 0.01343471 0.0706 0.9437434
Break -0.01077423 0.02376049 -0.4535 0.6502236
AIC=-206.84
有人知道是否可以在我的第一个模型中重新转换系列,以便我可以使用模型估算来预测原始系列log(x$Pmean)
或x$Pmean
?
如果不可能,是否可以将第二个Arima模型中的差分内化并且具有与第一个模型相同的结果模型?
由于
答案 0 :(得分:0)
在第一个第一个Arima模型中,
fit=Arima(diff(log(x$Pmean),4),
order=c(1,0,0),
seasonal=list(order=c(0,0,1), period =4),
xreg=xregvariables)
看起来您手动获取第一个季节性差异。这应该等同于Arima模型,
fit=Arima(log(x$Pmean),
order=c(1,0,0),
seasonal=list(order=c(0,1,1), period =4),
xreg=xregvariables)
采取季节性的第一个区别。然后,您可以使用“fpp”包自动形成记录数据的预测。
library(fpp)
forecast(fit,h=12,xreg=x_test)