乐趣区

关于数据挖掘:视频ARIMA时间序列模型原理和R语言ARIMAX预测实现案例

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

原文出处:拓端数据部落公众号

分析师:Feier Li

ARIMA 是能够拟合工夫序列数据的模型,依据本身的过来值 (即本身的滞后和滞后的预测误差)“解释”给定的工夫序列,因而能够应用方程式预测将来价值。任何具备模式且不是随机白噪声的“非季节性 ” 工夫序列都能够应用 ARIMA 模型进行建模。

模型辨认

模型步骤

结构 arima 模型须要四个步骤:

  • 平稳性测验
  • 模型辨认
  • 参数估计
  • 模型测验

平稳性测验

图测验

  • 时序图

趋势特色

●周期特色

●以上均无

  • 自相干图

单位根测验

若序列是安稳的,那么该序列的所有特色根都应该在单位圆内。
若序列存在特色根在单位,上或单位圆外, 则该序列是非安稳序列。

差分安稳

差分通过从以后察看值中减去先前的察看值来执行求差。

模型辨认

参数估计及模型测验

模型的显著性测验

若残差序列为非白噪声序列,则意味着残差序列还有残留的相干信息未被提取,阐明拟合模型不够无效。

参数的显著性测验

测验每一个参数是否显著非零,若不显著非零, 即示意该参数所对应的自变量对因变量影响不显著,可将其剔除。

总结

利用场景:

  • 对销售数据进行剖析,以预测将来的销售情况
  • 能够用于预测将来的气候变化,用于钻研环境问题
  • 可剖析行业数据,以便预测行业的将来发展趋势和倒退方向。

    长处:

  • 实现简略、计算量小
  • 能够无效解决不平滑、不确定性较大的工夫序列数据

    毛病:

  • 模型容易受到异样值的影响
  • 实质上只能捕获线性关系,而不能捕获非线性关系。

R 语言用 ARIMA 模型,ARIMAX 模型预测冰淇淋生产工夫序列数据

规范的 ARIMA(挪动均匀自回归模型)模型容许只依据预测变量的过来值进行预测。该模型假设一个变量的将来的值线性地取决于其过来的值,以及过来(随机)影响的值。ARIMAX 模型是 ARIMA 模型的一个扩大版本。它还包含其余独立(预测)变量。该模型也被称为向量 ARIMA 或动静回归模型。

ARIMAX 模型相似于多变量回归模型,但容许利用回归残差中可能存在的自相干来进步预测的准确性。\
本文练习提供了一个进行 ARIMAX 模型预测的练习。还查看了回归系数的统计学意义。

\
这些练习应用了冰淇淋生产数据。该数据集蕴含以下变量。

  • 美国的冰淇淋生产(人均)
  • 每周的均匀家庭收入
  • 冰淇淋的价格
  • 平均温度。

观测数据的数量为 30 个。它们对应的是 1951 年 3 月 18 日至 1953 年 7 月 11 日这一时间段内的周围工夫。\
 

练习 1

加载数据集,并绘制变量 cons(冰淇淋生产)、temp(温度)和支出。

 ggplot(df, aes(x = X, y = income)) +
  ylab("支出") +
  xlab("工夫") +

grid.arrange(p1, p2, p3, ncol=1, nrow=3)

练习 2 

对冰淇淋生产数据预计 ARIMA 模型。而后将该模型作为输出传给预测函数,失去将来 6 个期间的预测数据。

auto.arima(cons)
fcast_cons <- forecast(fit_cons, h = 6)

练习 3

绘制失去的预测图。

练习 4

找出拟合的 ARIMA 模型的均匀绝对误差(MASE)。

accuracy

练习 5

为生产数据预计一个扩大的 ARIMA 模型,将温度变量作为一个额定的回归因子(应用 auto.arima 函数)。而后对将来 6 个期间进行预测(留神这个预测须要对冀望温度进行假如;假如将来 6 个期间的温度将由以下向量示意:

fcast_temp <- c(70.5, 66, 60.5, 45.5, 36, 28))

\
绘制取得的预测图。

练习 6

输入取得的预测摘要。找出温度变量的系数,它的标准误差,以及预测的 MASE。将 MASE 与初始预测的 MASE 进行比拟。

summary(fca)

 

温度变量的系数是 0.0028

该系数的标准误差为 0.0007

均匀相对比例误差为 0.7354048,小于初始模型的误差(0.8200619)。

 

练习 7

查看温度变量系数的统计意义。该系数在 5% 的程度上是否有统计学意义?

test(fit)

练习 8

预计 ARIMA 模型的函数能够输出更多的附加回归因子,但只能以矩阵的模式输出。创立一个有以下几列的矩阵。

温度变量的值。\
支出变量的值。\
滞后一期的支出变量的值。\
滞后两期的支出变量的值。\
输入该矩阵。\
留神:最初三列能够通过在支出变量值的向量中增加两个 NA 来创立,并将失去的向量作为嵌入函数的输出(维度参数等于要创立的列数)。


vars <- cbind(temp, income)
print(vars)

 

练习 9

应用取得的矩阵来拟合三个扩大的 ARIMA 模型,应用以下变量作为额定的回归因子。

温度、支出。\
温度、支出的滞后期为 0、1。\
温度,滞后期为 0、1、2 的支出。\
查看每个模型的摘要,并找到信息准则(AIC)值最低的模型。\
留神 AIC 不能用于比拟具备不同阶数的 ARIMA 模型,因为察看值的数量不同。例如,非差分模型 ARIMA(p,0,q)的 AIC 值不能与差分模型 ARIMA(p,1,q)的相应值进行比拟。

auto.arima(cons, xreg = var)
print(fit0$aic)

 能够应用 AIC,因为各模型的参数阶数雷同(0)。

AIC 值最低的模型是第一个模型。

它的 AIC 等于 -113.3。

 

练习 10

应用上一练习中发现的模型对将来 6 个期间进行预测,并绘制预测图。预测须要一个将来 6 个期间的冀望温度和支出的矩阵;应用 temp 变量和以下冀望支出值创立矩阵:91, 91, 93, 96, 96, 96。\
找出该模型的均匀相对比例误差,并与本练习集中前两个模型的误差进行比拟。

带有两个内部回归因子的模型具备最低的 均匀相对比例误差 (0.528)


对于分析师

在此对 Feier Li 对本文所作的奉献示意诚挚感激,她实现了数据迷信与大数据技术学位,专一机器学习畛域。善于 Python、SPSS。

最受欢迎的见解

1. 在 python 中应用 lstm 和 pytorch 进行工夫序列预测

2.python 中利用长短期记忆模型 lstm 进行工夫序列预测剖析

3. 应用 r 语言进行工夫序列(arima,指数平滑)剖析

4.r 语言多元 copula-garch- 模型工夫序列预测

5.r 语言 copulas 和金融工夫序列案例

6. 应用 r 语言随机稳定模型 sv 解决工夫序列中的随机稳定

7.r 语言工夫序列 tar 阈值自回归模型

8.r 语言 k -shape 工夫序列聚类办法对股票价格工夫序列聚类

9.python3 用 arima 模型进行工夫序列预测

退出移动版