REF · 方法

AR(1) 与 OU 过程AR(1) AND THE ORNSTEIN-UHLENBECK PROCESS

一阶自回归(first-order autoregression, AR(1))与奥恩斯坦-乌伦贝克过程(Ornstein-Uhlenbeck process)——把"恢复得有多快"从噪声里读出来的最小工具

被引用于:Topic 36 临界慢化与早期预警

01它问的是什么问题(The Question It Poses)

一个稳定的系统被扰动之后会自己回来。回来得有多快,是判断它还剩多少余地的关键量——但现实里你几乎不可能为了测这个而定期去推它一下。湖不能推,市场不能推,一个正在正常运转的组织也不该随便推。

于是问题变成:系统一直在被环境的随机小事推来推去,能不能反过来,从它被推之后的抖动里,把"回来得有多快"算出来?这个工具给出的回答是:能,而且只需要一个数。

02规则本身(The Rules)

  1. 用一个量 x 表示"现在离基线有多远"(基线本身是多少不重要,只看偏离)。
  2. 每走一步:x(下一刻)= α · x(这一刻)+ ε
  3. ε 是每一步独立抽的一次随机推力,平均为 0,大小用 σ 表示。它就是环境噪声。
  4. α 取 0 到 1 之间:它是上一刻的偏离残留下来的比例。α = 0 表示转眼忘光,α 接近 1 表示几乎全留着。
  5. 连续时间的版本写作 dx = −λ·x·dt + σ·dW,这就是 1930 年 Uhlenbeck 与 Ornstein 为描述布朗运动中粒子速度写下的那个过程。两者是同一件事的两种记法:α = e−λΔt,其中 Δt 是你的采样间隔。
  6. 跑久了之后,两个量可以直接读出来:滞后 1 自相关正好等于 α方差 = σ² ⁄ (1 − α²)(连续版是 σ² ⁄ 2λ)。

第 6 条是这个工具的全部价值所在:α 是"恢复得多慢",而它可以直接从数据里估出来——把每个读数和它的下一个读数配成一对,做一次最简单的直线拟合,斜率就是 α。

03跑起来会看到什么(What You See When It Runs)

下面三行用的是完全相同的一串随机推力,只有 α 不一样。

同样大小的随机推力,只改一个数 α α = 0.2 摆幅 ×1.0 α = 0.7 ×1.4 α = 0.95 ×3.1 推力(噪声)三行完全一样 — 变宽变黏的原因只有 α,也就是恢复得有多慢
三行的推力一模一样。α 越大,线越宽也越"黏"——不再是一格一个样,而是连成一片一片的起伏。摆幅的理论比例是 1 ⁄ √(1−α²),即约 ×1.0、×1.4、×3.1。

这里有个容易被忽略的细节:α 大不只是"抖得更厉害",还是"抖得更慢"。两件事必然同时发生,因为它们都来自同一个原因——上一刻的偏离没消掉。所以在真实数据里,方差上升和自相关上升几乎总是结伴出现;只涨一个而另一个不动,通常说明你看到的是别的东西(比如噪声本身变大了)。

把"这一刻"和"下一刻"画成一个点,α 就直接现形了:

把「这一刻」和「下一刻」画成一个点,α 就是这团点的斜率 α = 0.2 · 恢复快 一团圆云:下一刻几乎不记得这一刻 这一刻 下一刻 α = 0.9 · 恢复慢 拉成斜条:下一刻基本延续这一刻 这一刻 下一刻
α 就是这团点的斜率。这也是估计它的标准做法——一次最小二乘直线拟合。

04它解释了现实中的什么(What It Explains)

早期预警信号的全部算术。逼近临界点时恢复速率 λ 趋于 0,于是 α 趋于 1,于是方差按 1 ⁄ (1−α²) 发散。Topic 36 里"方差上升、自相关上升"这两个指标,不是两条经验规律,而是这一行式子的两个直接推论。

生态学里的韧性度量。1995 年 Ives 提出:在一个被环境噪声持续驱动的生态系统里,"韧性"可以直接定义成种群密度的波动相对于环境波动的放大倍数——也就是上面那个 1 ⁄ (1−α²)。这把一个含糊的词变成了可以从时间序列里算出来的数。

均值回复的价格。两个高度相关资产的价差、期货与现货的基差,常常被当作 OU 过程来建模;交易者估的 λ 换算成半衰期 ln2 ⁄ λ——价差回到一半要多久——正是决定持仓周期的那个数。

物理与工程里的红噪声。布朗粒子的速度、RC 电路里的热噪声、气候序列的基线,都是这个过程。顺带一提:很多环境数据本身就是"红的"(相邻点相关),拿白噪声当零假设去做显著性检验,会系统性地高估显著性。

它不能解释什么(What It Cannot Explain)

延伸阅读(Further Reading)