8.10 ARIMA vs ETS

很多人认为index{ARIMA-ETS equivalences}ARIMA模型相较于指数平滑模型(ETS)更为一般化,这其实是一个较为普遍的错误认识。虽然线性指数平滑模型其实都是 ARIMA 模型的特例,但是非线性的指数平滑模型在 ARIMA 模型中并没有对应的部分。另一方面,也有很多 ARIMA 模型不包含指数平滑的部分。二者还有一个重要区别:所有指数平滑模型都是非平稳的,而有些ARIMA模型是平稳的。

拥有季节性或者非衰减趋势的指数平滑模型拥有两个单位根(即它们需要进行两次差分来实现平稳),其他所有指数平滑模型只有一个单位根(它们需要一次差分来实现平稳)。

8.3给出了 ARIMA 和指数平滑这两类模型的等价关系,对于季节性模型而言,ARIMA模型的系数的约束更多。

表 8.3: Equivalence relationships between ETS and ARIMA models.
ETS model ARIMA model Parameters
ETS(A,N,N) ARIMA(0,1,1) \(\theta_1=\alpha-1\)
ETS(A,A,N) ARIMA(0,2,2) \(\theta_1=\alpha+\beta-2\)
\(\theta_2=1-\alpha\)
ETS(A,A\(_d\),N) ARIMA(1,1,2) \(\phi_1=\phi\)
\(\theta_1=\alpha+\phi\beta-1-\phi\)
\(\theta_2=(1-\alpha)\phi\)
ETS(A,N,A) ARIMA(0,1,\(m\))(0,1,0)\(_m\)
ETS(A,A,A) ARIMA(0,1,\(m+1\))(0,1,0)\(_m\)
ETS(A,A\(_d\),A) ARIMA(0,1,\(m+1\))(0,1,0)\(_m\)

AICc 在选择同类模型时才能发挥作用。比如,我们可以用它在备选ARIMA模型16或者备选指数平滑模型中进行选择。然而,它不能被用于同时比较指数平滑模型和 ARIMA 模型,因为他们的模型种类不同而导致似然函数计算方式不同。下面的例子展示了如何在这些类别的模型中进行选择。

实例:比较同一非季节性数据的auto.arima()ets()模型

我们可以使用时间序列交叉验证来比较 ARIMA 模型和指数平滑模型。下列代码给出了使用auto.arima()ets()各自进行预测并返回预测对象的函数。

返回的对象可以被传递给tsCV()函数。 我们用虑7.2中的air数据来拟合 ARIMA 模型和指数平滑模型,这里的air <- window(ausair,start=1990)

在这个例子中,指数平滑模型在均方误差上拥有更小的 tsCV。下面我们使用指数平滑法预测未来五年的数据并作图:

实例:比较auto.arima()ets()在季节性数据上的应用

在这个例子中我们想要比较 ARIMA 模型和指数平滑法在水泥季度产量数据 qcement 上的应用,由于这个序列比较长,我们可以用一个训练集和一个测试集而不是交叉验证,这样做的好处是可以大大提高效率。我们用 1988 年初到 2007 年末的数据作为训练集输入auto.arima()ets()函数来得到一个 ARIMA 模型和一个指数平滑模型。

下面的输出结果显示的是auto.arima()选择的 ARIMA 模型,这个ARIMA模型在捕捉数据的信息方面做的不错,因为残差看起来是白噪声。

用季度水泥产量数据拟合的ARIMA模型的残差诊断图。

图 8.26: 用季度水泥产量数据拟合的ARIMA模型的残差诊断图。

#> 
#>  Ljung-Box test
#> 
#> data:  Residuals from ARIMA(1,0,1)(2,1,1)[4] with drift
#> Q* = 3.3, df = 3, p-value = 0.3
#> 
#> Model df: 6.   Total lags used: 9

下面的输出结果显示的是ets()选择的指数平滑模型。这个模型在捕捉数据的信息方面做的同样不错,因为残差看起来也是白噪声。

用季度水泥产量数据拟合的指数平滑模型的残差诊断图。

图 8.27: 用季度水泥产量数据拟合的指数平滑模型的残差诊断图。

#> 
#>  Ljung-Box test
#> 
#> data:  Residuals from ETS(M,N,M)
#> Q* = 6.3, df = 3, p-value = 0.1
#> 
#> Model df: 6.   Total lags used: 9

下面的输出结果显示的是两个模型在测试集上预测效果的比较。在这个例子中指数平滑模型在均方根误差(RMSE)、均方误差(MSE)和均值均方误差(MASE)上看起来都稍微好于 ARIMA 模型。

需要注意的是 ARIMA 模型在训练集上的拟合效果略微好于指数平滑模型,但是指数平滑模型在测试集上表现更好,在训练集上的好表现并不能代表这个模型拥有好的预测能力。

下面我们用ETS模型预测未来 3 年的数据并作图:

用季度水泥产量数据拟合的ETS模型的预测。

图 8.28: 用季度水泥产量数据拟合的ETS模型的预测。


  1. 之前提到过,比较信息准则只在 ARIMA 模型差分阶数相同时才有效。