首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言非线性动态回归模型ARIMAX、随机、确定性趋势时间序列预测个人消费和收入、用电量、国际游客数量

全文链接: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)

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OEcQtGmwd497dH1seCWtd7AA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券