R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据

全文链接:http://tecdat.cn/?p=22521

最近我们被客户要求撰写关于ARIMAX的研究报告,包括一些图形和统计输出。

在大数据的趋势下,我们经常需要做预测性分析来帮助我们做决定。其中一个重要的事情是根据我们过去和现在的数据来预测未来。这种方法我们通常被称为预测

许多情况下都需要预测:决定是否在未来五年内再建一座发电站需要对未来的需求进行预测;安排下周呼叫中心的工作人员需要对呼叫量进行预测;储备库存需要对库存需求进行预测。一个事件的可预测性取决于几个因素,包括。

  • 我们对造成这种情况的因素了解得如何。
  • 有多少数据可用。
  • 预测是否能影响我们试图预测的事物。

ARIMA

差分整合自回归移动平均模型(ARIMA)(p,d,q)是自回归(AR)、移动平均(MA)和自回归移动平均(ARMA)模型的扩展版本。ARIMA模型是应用于时间序列问题的模型。ARIMA将三种类型的建模过程结合到一个建模框架中。

  • I:差分是用d表示的。它告诉我们在连续的观察样本中,被差分的序列对于原始序列的变化数量。
  • AR:自回归用p表示,它告诉我们为适应平稳序列的AR过程所需的滞后期数。ACF和PACF帮助我们确定AR过程的最佳参数集。
  • MA:移动平均阶数用q表示。它告诉我们要回归的序列中的误差项的数量,以便将差分的AR过程残差减少为白噪声。

关于ARIMAX

ARIMAX或回归ARIMA是ARIMA模型的一个扩展。在预测中,这种方法也涉及自变量。ARIMAX模型表示输出时间序列由以下部分组成:自回归(AR)部分,移动平均(MA)部分,差分整合(I)部分,以及属于外生输入(X)的部分。外生部分(X)反映了将外生输入的现值图片和过去值图片包括到ARIMAX模型中。

多元回归模型公式:

图片

其中Y是xi预测变量的因变量,ε通常被认为是一个不相关的误差项(即是白噪声)。我们考虑了诸如Durbin-Watson检验等检验方法来评估ε是否有显著的相关性。我们将在方程中用nt代替ε。误差序列图片被假定为遵循ARIMA模型。例如,如果 nt 遵循一个 ARIMA(1,1,1)模型,我们可以写成

图片

其中εt是一个白噪声序列。ARIMAX模型有两个误差项,一个是回归模型的误差,我们用jt表示,另一个是ARIMA模型的误差,我们用εt表示。只有ARIMA模型的误差被认为是白噪声。

实例探究

我们将使用经济序列数据。数据是一个五个季度的经济序列,包含以下数字变量:季度失业率、国民生产总值、消费、政府投资和私人投资。有161个观测点。

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第1张图片

季节性成分已经从数据中去除。集中在失业率(Ut)、国民生产总值(Gt)和消费(Ct)上,首先对每个序列进行记录,然后去掉线性趋势,对数据拟合一个向量ARMA模型。也就是说,对xt=(x1t,x2t,x3t)t拟合一个向量ARMA模型,例如,x1t=log(Ut)-β0^-β1^t,其中β0^和β1^是log(Ut)对时间t的回归的最小二乘估计。对残差运行一套完整的诊断方法。

数据探索

grid.arrange(p1,p2,p3,ncol=2)

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第2张图片

从图中可以看出,国民生产总值和消费可以作为回归使用。我们可以用时间、国民生产总值和消费来预测失业率。


点击标题查阅往期内容

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第3张图片

R语言ARIMA集成模型预测时间序列分析

图片

左右滑动查看更多

图片

01

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第4张图片

02

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第5张图片

03

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第6张图片

04

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第7张图片

ARIMAX模型拟合

summary(varma)

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第8张图片

plot(df,aes(t,res))+line(col=colpla[2]) 
acf_pacf(res_= acf(x, plot= F)
                        , label= "ACF")
plot(df, aes(x=res)) + 
  histogram(aes(y=..density..)

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第9张图片

我们的残差在大多数情况下是正态分布的,ACF图中没有明显的尖峰。Ljung-Box检验在5%的水平上有0.05297的p值,所以数据是独立分布的,在任何滞后期都没有明显的自相关。这是一个理想的结果。

预测

我们随机生成log(g)和log(c)的向量,作为我们预测模型的输入值。两个向量的长度都是8,所以我们的目标是预测未来8个季度的log(u)值。请注意,对于多个回归因子,我们必须将这些向量合并成一个矩阵,以便我们进行预测工作。

forecast(m,x=logfc+logc )
plot(yfor)

R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第10张图片

ARIMA模型

通过使用ARIMA,我们只根据连续的时间数据来预测未来。它忽略了可能影响消费变化的其他因素。

ARIMAX优点缺点

要使用ARIMAX模型,有几个可能的优点和缺点。

优点

使用ARIMAX的好处是我们可以将回归和时间序列部分结合在一个模型中,命名为ARIMAX。与回归模型或ARIMA模型相比,这个模型可以优化我们的误差。

缺点

一个缺点是,协变量系数很难解释。斜率的值不是xt增加1时对Yt的影响(就像回归中那样)。方程右侧存在因变量的滞后值,这意味着斜率β只能以因变量以前的值为条件进行解释,这很不直观。


R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据_第11张图片

点击文末 “阅读原文”

获取全文完整代码和数据资料。

本文选自《R语言使用ARIMAX预测失业率经济时间序列数据》。

图片

点击标题查阅往期内容

R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
【视频】时间序列分析:ARIMA-ARCH / GARCH模型分析股票价格
时间序列GARCH模型分析股市波动率
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
Garch波动率预测的区制转移交易策略
金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测R语言GARCH-DCC模型和DCC(MVT)建模估计
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
R语言多元Copula GARCH 模型时间序列预测
R语言使用多元AR-GARCH模型衡量市场风险
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用Garch模型和回归模型对股票价格分析
GARCH(1,1),MA以及历史模拟法的VaR比较
matlab估计arma garch 条件均值和方差模型R语言POT超阈值模型和极值理论EVT分析

你可能感兴趣的:(数据挖掘深度学习机器学习)