2. 时间序列视角:平稳性 vs 非平稳性,单位根的概念

好,咱们进入第二个核心话题。上一章我聊了永久冲击和临时冲击的直观区别,那在时间序列分析里,怎么用数学语言把它们区分开?

答案就藏在「平稳性」和「非平稳性」这对概念里。说白了,一个时间序列是不是平稳,决定了你能不能拿传统统计工具去分析它。我在项目里见过太多人,拿到数据就咔咔跑回归,结果全是伪回归——嗯,那场面挺尴尬的。

2.1 什么是平稳性?

平稳性,简单讲就是:时间序列的统计性质不随时间变化

具体来说,一个序列如果是平稳的,它得满足三个条件:

  • 均值恒定:不管取哪一段,均值都差不多
  • 方差恒定:波动幅度不会越变越大或越变越小
  • 协方差只与时间间隔有关:两点的相关性只取决于它们隔多远,不取决于具体在哪个时间点

你想想看,如果一个序列的均值在飘、方差在变,那你怎么用历史数据去预测未来?没法预测。这就是为什么平稳性那么重要。

核心要点:平稳序列的冲击是「临时」的,它会慢慢回到均值。非平稳序列的冲击是「永久」的,它会一去不复返。

2.2 非平稳性与单位根

那非平稳性呢?最常见的非平稳形式就是——随机游走

咱们写个简单模型:

Y_t = Y_{t-1} + ε_t

这个模型里,今天的值等于昨天的值加上一个随机冲击。如果今天有个冲击 ε_t,它会永远留在序列里,因为明天的 Y_{t+1} 会带着它继续往下走。

这就是永久冲击的数学表达。

那「单位根」是什么?咱们把上面的模型改写一下:

Y_t = ρ * Y_{t-1} + ε_t

如果 ρ = 1,就是单位根过程。如果 |ρ| < 1,就是平稳过程。如果 ρ > 1,那就是爆炸性过程——现实中很少见。

我的经验:我在做宏观经济预测时,经常遇到GDP、CPI这些序列。你拿眼睛一看,它们明显在往上走,肯定不是平稳的。但很多人直接拿去做回归,结果R²高得吓人,其实全是假的。我曾经就踩过这个坑,后来学乖了,先做单位根检验。

2.3 单位根检验:ADF检验

怎么判断一个序列有没有单位根?最常用的方法是ADF检验(Augmented Dickey-Fuller Test)。

它的逻辑很简单:

  • 原假设 H₀:序列存在单位根(非平稳)
  • 备择假设 H₁:序列是平稳的

如果p值小于0.05,就拒绝原假设,认为序列平稳。否则,就是不平稳。

咱们看个代码示例:

# Python 示例:ADF检验
from statsmodels.tsa.stattools import adfuller
import numpy as np

# 生成一个随机游走序列(非平稳)
np.random.seed(42)
n = 100
y = np.cumsum(np.random.randn(n))

# 进行ADF检验
result = adfuller(y)
print(f'ADF统计量: {result[0]:.4f}')
print(f'p值: {result[1]:.4f}')

# 如果p值 > 0.05,不能拒绝原假设,序列非平稳
if result[1] > 0.05:
    print('结论:序列存在单位根,非平稳')
else:
    print('结论:序列平稳')

输出结果一般会告诉你:p值很大,比如0.5以上,那就说明这个随机游走确实是非平稳的。

注意:ADF检验对滞后阶数的选择比较敏感。我建议你用AIC或BIC自动选滞后阶数,别用手动指定。我曾经就因为这个吃过亏,选少了滞后阶数,结果把非平稳的序列误判成平稳的。

2.4 平稳性、非平稳性与冲击类型的关系

咱们把这两章的内容串起来,画个图就清楚了:

冲击类型与时间序列性质的关系 临时冲击 永久冲击 平稳序列 非平稳序列 |ρ| < 1,均值回归 冲击逐渐衰减 ρ = 1,单位根 冲击永久留存

这个图把逻辑理得很顺:临时冲击对应平稳序列,永久冲击对应非平稳序列。非平稳序列的核心特征就是存在单位根,ρ=1。

2.5 实际应用中的注意事项

在实际分析中,我建议你记住几点:

  1. 先检验,后建模:拿到时间序列数据,第一件事就是做单位根检验。别偷懒。
  2. 差分可以消除单位根:如果序列非平稳,通常一阶差分后就平稳了。差分后的序列代表「变化量」而不是「水平值」。
  3. 不要过度差分:差分一次就够了,差分太多次会丢失信息。我曾经见过有人差分三次,结果数据变成白噪声了,啥也分析不出来。
  4. 结构突变要小心:如果序列在某个时间点发生了结构性变化(比如政策调整、金融危机),传统的ADF检验可能失效。这时候要用带结构突变的单位根检验。

避坑指南:我曾经在分析某国GDP数据时,ADF检验显示序列平稳,但直觉告诉我GDP应该是非平稳的。后来发现,是因为样本期太短(只有10年),检验功效不足。所以,样本量太小的时候,单位根检验的结果要谨慎解读。

好了,这一章的核心就这些。记住:平稳性 = 临时冲击,非平稳性 = 永久冲击,单位根就是那个分水岭


公众号:蓝海资料掘金营,微信deep3321