全文链接:https://tecdat.cn/?p=33838
相关视频
另一方面,回归模型允许客户从预测变量中包含大量相关信息,但不允许处理ARIMA模型中可以处理的细微时间序列动态。在本文中,我们帮助客户考虑如何扩展ARIMA模型,以便允许其他信息被纳入模型中。
我们考虑了以下形式的回归模型:
在本文中,我们允许回归中的误差包含自相关。例如,如果ηt'遵循ARIMA(1,1,1)模型,我们可以写成:
其中εt'是一个白噪声序列。
估计
在估计带有ARMA误差的回归模型时,一个重要的考虑因素是模型中的所有变量必须首先是平稳的。因此,我们首先必须检查yt'和所有预测变量(x1,t,...,xk,t)(β,...,γ)是否呈现出平稳性。
因此,我们首先对模型中的非平稳变量进行差分处理。
如果模型中的所有变量都是平稳的,那么我们只需要考虑残差的ARMA误差。我们得到如下模型:
其中y′t=yt−yt−1,x′t,i=xt,i−xt−1,i,β′=β−β−1,η′t=ηt−ηt−1,这是一个带有ARMA误差的差分模型。
R中ARIMAX回归
以下R命令:
fit
将拟合模型y′t=β1x′t+η′t,其中η′t=ϕ1η′t−1+εt是一个AR(1)误差。这等同于带有ARIMA误差的差分模型。
其中ηt是一个ARIMA(1,1,0)误差。由于进行差分,常数项消失。如果要在差分模型中包含常数项,需要指定include.drift=TRUE。
最终模型的AICc将被计算,并且该值可用于确定最佳预测变量。也就是说,应对要考虑的所有预测变量子集重复此过程,并选择AICc值最小的模型。
示例:个人消费和收入
图1显示了1970年至2016年第3季度个人消费支出和个人可支配收入的季度变化。我们希望根据收入变化来预测支出变化。
autoplot(uschange[,1:2],
.......
income")
图1:1970年至2016年第三季度个人消费支出和可支配个人收入的季度百分比变化。
(fit
"Income"]))
数据已经是平稳的了(我们考虑的是百分比变化而不是原始支出和收入),因此不需要进行差分处理。拟合的模型是
我们可以使用residuals()函数来恢复对于ηt和εt序列的估计值。
cbind("Regression Errors" = residuals.......
autoplot(facets=TRUE)
图2:从拟合模型中获取的回归误差(ηt)和ARIMA误差(εt)。
应该看出ARIMA误差类似于一个白噪声序列。
图3: 残差(即ARIMA误差)与白噪声没有显著差异。
fcast
xreg
fit
xreg = xreg)
fcast
autoplot(austa) + xlab("Year").......
)
trend
rend))
(fit2
, d=1))
fc1
guides(colour=guide_legend(t)
领取专属 10元无门槛券
私享最新 技术干货