乐趣区

关于数据挖掘:拓端tecdatR语言时间序列和ARIMA模型预测拖拉机销售的制造案例研究

原文链接:http://tecdat.cn/?p=5421

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

本文是咱们通过工夫序列和 ARIMA 模型预测拖拉机销售的制作案例钻研示例的连续。您能够在以下链接中找到以前的局部:

第 1 局部 :工夫序列建模和预测简介

第 2 局部 :在预测之前将工夫序列合成为解密模式和趋势

第 3 局部 :ARIMA 预测模型简介

ARIMA 模型 – 制作案例钻研示例

回到咱们的制作案例钻研示例,筹备好开始剖析,以预测将来 3 年的拖拉机销售状况。

步骤 1:将拖拉机销售数据绘制为工夫序列

首先,您已为数据筹备了工夫序列图。以下是您用于读取 R 中的数据并绘制工夫序列图表的 R 代码。

data = ts(data\[,2\],start = c(2003,1),frequency = 12)

plot(data, xlab='Years', ylab = 'Tractor Sales')

显然,下面的图表有拖拉机销售的回升趋势,还有一个季节性。

第 2 步:差分数据使数据在平均值上放弃不变(删除趋势)

用于绘制差别系列的 R 代码和输入显示如下:

plot(diff(data),ylab='Differenced Tractor Sales')

好的,所以下面的系列在方差上不是固定的,即随着咱们向图表右侧挪动,图中的变动也在减少。咱们须要使系列在方差上保持稳定,以通过 ARIMA 模型产生牢靠的预测。

步骤 3:记录变换数据以使数据在方差上放弃不变

使系列在方差上放弃静止的最佳办法之一是通过对数变换转换原始系列。

以下是与输入图雷同的 R 代码。请留神,因为咱们在没有差分的状况下应用原始数据,因而该系列不是平均值。

plot(log10(data),ylab='Log (Tractor Sales)')

当初方差上看起来很稳固。

步骤 4:差分对数变换数据使得数据在均值和方差上都是固定的

让咱们看一下对数变换序列的差分图。

plot(diff(log10(data)),ylab='Differenced Log (Tractor Sales)')

是的,当初这个系列在均值和方差上看起来都很稳固。

步骤 5:绘制 ACF 和 PACF 以辨认潜在的 AR 和 MA 模型

当初,让咱们创立自相干因子(ACF)和局部自相干因子(PACF)图来辨认上述数据中的模式,这些模式在均值和方差上都是固定的。该想法是辨认残差中 AR 和 MA 组分的存在。以下是生成 ACF 和 PACF 图的 R 代码。

因为,在有效区域(虚线水平线)之外的图中有足够的尖峰,咱们能够得出结论,残差不是随机的。这意味着 AR 和 MA 模型能够提取残差中的果汁或信息。此外,在滞后 12 处的残差中存在可用的季节性重量(由滞后 12 处的尖峰示意)。这是有情理的,因为咱们正在剖析因为拖拉机销售模式而往往具备 12 个月季节性的月度数据。

步骤 6:确定最佳拟合 ARIMA 模型

R 中的预测包中的主动动静性能有助于咱们即时辨认最适宜的 ARIMA 模型。以下是雷同的代码。请在执行此代码之前在 R 中装置所需的“预测”包。

 ARIMAfit = auto.arima(log10(data), approximation=FALSE,trace=FALSE)

summary(ARIMAfit)

工夫序列:log 10(拖拉机销售)最佳版型:ARIMA(0,1,1)(0,1,1)[12] MA1SMA1 系数:-0.4047-0.5529SE0.08850.0734 对数似然 = 354.4AIC = -702.79AICC = -702.6BIC = -694.17

基于 Akaike 信息准则(AIC)和贝叶斯信息准则(BIC)值抉择最佳拟合模型。咱们的想法是抉择具备最小 AIC 和 BIC 值的模型。咱们将在下一篇文章中探讨无关 AIC 和 BIC 的更多信息。在 R 中开发的最佳拟合模型的 AIC 和 BIC 值显示在以下后果的底部:

正如预期的那样,咱们的模型具备等于 1 的 I(或积分)重量。这示意阶数 1 的差分。在上述最佳拟合模型中存在滞后 12 的附加差分。此外,最佳拟合模型具备 1 阶的 MA 值。此外,存在具备阶数 1 的滞后 12 的季节性 MA。

第 6 步:应用最合适的 ARIMA 模型预测销售状况

下一步是通过上述模型预测将来 3 年(即 2015 年,2016 年和 2017 年)的拖拉机销量。以下 R 代码为咱们实现了这项工作。

 par(mfrow = c(1,1))

lines(10^(pred$pred-2*pred$se),col='orange')

以下是拖拉机销售预测值为蓝色的输入。此外,预测误差的范畴(即标准偏差的 2 倍)在预测蓝线的两侧显示橙色线。

当初,长达 3 年的预测是一项雄心勃勃的工作。这里的次要假如是工夫序列中的下划线模式将持续放弃与模型中预测的雷同。短期预测模型,比方几个营业季度或一年,通常是一个正当精确的预测。像上述那样的长期模型须要定期评估(比方 6 个月)。咱们的想法是将可用的新信息与模型中的时间推移相结合。

步骤 7:为 ACIM 和 PACF 绘制 ARIMA 模型的残差 

最初,让咱们创立一个 ACF 和 PACF 的最佳拟合 ARIMA 模型残差的图,即 ARIMA(0,1,1)(0,1,1)[12]。以下是雷同的 R 代码。

 pacf(ts(ARIMAfit$residuals),main='PACF Residual')

因为 ACF 和 PACF 图的有效区域之外没有尖峰,咱们能够得出结论,残差是随机的。


最受欢迎的见解 

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 模型进行工夫序列预测

退出移动版