许多时间序列模型,特别是我们将考察的经典统计模型,都依赖于数据随时间变化的表现的一个基本前提:平稳性。直观地说,如果一个时间序列的统计特性不依赖于观察序列的时间点,那么它就是平稳的。举个例子:如果你从序列的开头取一段,再从末尾取一段相同长度的序列,它们的基本统计特征(如平均值或数据的分散程度)应该大致相同。弱平稳性(或二阶平稳性)是一种常用的平稳性定义。一个时间序列{$Y_t$}是弱平稳的,如果它满足以下三个条件:均值不变: 序列的期望值(均值)随时间保持不变。 $$E[Y_t] = \mu \quad \text{对于所有 } t$$方差不变: 序列的方差随时间保持不变且有限。 $$Var(Y_t) = E[(Y_t - \mu)^2] = \sigma^2 < \infty \quad \text{对于所有 } t$$自协方差不变: 两个时间点的值之间的协方差仅取决于这些时间点之间的距离(滞后),而不取决于具体的时间点。 $$Cov(Y_t, Y_{t+h}) = E[(Y_t - \mu)(Y_{t+h} - \mu)] = \gamma_h \quad \text{对于所有 } t \text{ 和滞后 } h$$简单来说:序列的平均水平不会系统性地增加或减少(没有趋势)。平均水平周围的波动宽度一致(方差不变)。观测值与其滞后值之间的关系在序列中的任何位置都是一致的。思考与非平稳数据的对比。具有明显上升趋势的序列不满足均值不变的条件。波动随时间变宽的序列不满足方差不变的条件。具有明显季节性的数据通常不满足均值不变和自协方差不变的条件,因为平均水平和点之间的关系取决于一年中的时间。{"layout": {"title": "平稳与非平稳时间序列示例", "xaxis": {"title": "时间"}, "yaxis": {"title": "值", "domain": [0.55, 1]}, "xaxis2": {"title": "时间", "anchor": "y2"}, "yaxis2": {"title": "值", "domain": [0, 0.45], "anchor": "x2"}, "showlegend": false, "height": 450, "margin": {"l": 50, "r": 50, "t": 60, "b": 50}}, "data": [{"type": "scatter", "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "y": [0.1, -0.5, 0.3, 1.2, -0.8, 0.5, 0.2, -0.1, -0.9, 0.7, 1.5, -0.3, 0.6, -1.1, 0.9, 0.0, -0.2, 1.3, -0.6, 0.4, -0.7, 1.0, 0.1, -0.4, 0.8, 1.1, -0.9, 0.3, -1.0, 0.6, 0.2, 1.4, -0.5, 0.7, -0.8, 0.9, -0.1, 1.2, -1.3, 0.5, 0.0, -0.6, 1.1, 0.4, -0.3, 0.8, -1.2, 0.7, 1.0, -0.2], "mode": "lines", "name": "平稳", "line": {"color": "#1c7ed6"}, "yaxis": "y1"}, {"type": "scatter", "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "y": [1.1, 1.5, 2.3, 3.2, 2.2, 3.5, 3.2, 3.9, 3.1, 4.7, 5.5, 4.7, 5.6, 4.9, 6.9, 6.0, 6.8, 8.3, 7.4, 8.4, 8.3, 10.0, 10.1, 9.6, 10.8, 12.1, 11.1, 12.3, 12.0, 13.6, 14.2, 15.4, 14.5, 15.7, 15.2, 16.9, 16.9, 18.2, 16.7, 18.5, 18.0, 18.4, 20.1, 20.4, 19.7, 20.8, 19.8, 21.7, 23.0, 22.8], "mode": "lines", "name": "非平稳(趋势)", "line": {"color": "#fd7e14"}, "yaxis": "y2", "xaxis": "x2"}]}上方序列围绕恒定均值波动,方差不变,这是平稳数据的特点。下方序列呈现明显的上升趋势,不满足平稳性的均值不变条件。为什么平稳性对建模很重要?平稳性的前提很重要,因为它大大简化了建模过程。可预测性: 如果一个序列是平稳的,那么从历史数据中获得的其统计特性(均值、方差、相关性)更可能与未来相关。这使得预测更可靠,因为数据生成过程被假定随时间保持稳定。模型适用性: 许多基本的时间序列模型,如ARMA(自回归滑动平均),都是为平稳数据设计的。这些模型试图根据过去的值和过去的误差来解释围绕恒定均值的波动。直接将它们应用于非平稳数据可能导致无效的统计推断、模型拟合不佳以及不可靠的预测。估计的参数可能没有意义。避免虚假结果: 分析非平稳时间序列之间的关系时,可能会遇到“虚假回归”。这意味着你可能会发现变量之间存在统计上有意义的关系,而这些变量实际上是独立的,只是碰巧具有相似的趋势。使用平稳数据有助于避免这些误导性结果。识别非平稳性是处理它的第一步。我们将接下来介绍的分解等方法,有助于确定导致非平稳性的分量,如趋势和季节性。本章稍后,我们将讨论差分等方法,这些方法旨在将非平稳数据转换为适合ARIMA(自回归差分滑动平均)等模型的平稳形式,其中“差分”部分专门处理由趋势引起的非平稳性。