02 长记忆与 Hurst 指数核心概念


文档摘要

第 2 章 长记忆与 Hurst 指数核心概念 本章建立 DFA 所需的数学底座:什么是长记忆?Hurst 指数如何刻画标度?为什么 DFA 要对累积和做分析? 2.1 从白噪声到长记忆过程 2.1.1 白噪声(White Noise) 若增量序列 {x(t)} 独立同分布、均值为 0、方差有限,则: 自相关函数 ρ(k) ≈ 0(k > 0) Hurst 指数 H ≈ 0.5 累积和 Y(t) = Σ x(i) 的行为类似随机游走 白噪声是 DFA 的零假设基准:F(n) n^0.5。 2.1.

第 2 章 长记忆与 Hurst 指数核心概念

本章建立 DFA 所需的数学底座:什么是长记忆?Hurst 指数如何刻画标度?为什么 DFA 要对累积和做分析?

2.1 从白噪声到长记忆过程

2.1.1 白噪声(White Noise)

若增量序列 {x(t)} 独立同分布、均值为 0、方差有限,则:

  • 自相关函数 ρ(k) ≈ 0(k > 0)
  • Hurst 指数 H ≈ 0.5
  • 累积和 Y(t) = Σ x(i) 的行为类似随机游走

白噪声是 DFA 的零假设基准:F(n) ~ n^0.5。

2.1.2 长记忆过程(Long-Memory Process)

当自相关函数以幂律衰减:

[
\rho(k) \sim k^{-\gamma}, \quad 0 < \gamma < 1
]

序列具有长记忆: distant 过去仍对 present 有显著影响。

与 Hurst 指数的关系(高斯平稳过程):

[
H = \frac{1 + \gamma}{2}
]

过程类型 H 自相关 典型例子
白噪声 ≈ 0.5 快速衰减 高频金融噪声
持久性 (0.5, 1) 缓慢正相关 河流流量、某些 EEG
反持久性 (0, 0.5) 负相关 某些控制回路误差

2.1.3 分数布朗运动(Fractional Brownian Motion, fBm)

fBm B_H(t) 是 H ∈ (0,1) 的连续高斯过程,满足:

[
\text{Var}[B_H(t) - B_H(s)] \sim |t - s|^{2H}
]

fBm 的增量(分数高斯噪声 fGn)是研究 DFA 的标准合成数据:理论 H 已知,可验证算法。

2.2 为什么 DFA 分析累积和 profile?

DFA 不直接对原始增量 {x(t)} 做分析,而是对积分/profile

[
Y(t) = \sum_{i=1}^{t} [x(i) - \bar{x}]
]

原因有三:

  1. 消除均值:减去均值使 profile 从 0 附近出发,避免常数偏移干扰波动计算。
  2. 放大长记忆:持久性增量使 profile 呈现「超扩散」随机游走形态;反持久性则「亚扩散」。
  3. 与 R/S 分析等价框架:DFA 可视为改进的 R/S 分析,profile 是共同起点。

fathon 中这一步由 fathonUtils.toAggregated 完成(第 8 章详解)。

2.3 Hurst 指数的几何含义

在 DFA 框架下,窗口大小为 n 时,去趋势后的均方波动:

[
F(n) = \sqrt{\frac{1}{N_n} \sum_{\nu=1}^{N_n} \text{Var}[Y_\nu(i)]}
]

其中 Y_ν(i) 是第 ν 个窗口内去趋势后的 profile 残差。

标度律

[
F(n) \sim n^H
]

在双对数坐标下,log F(n) 对 log n 的斜率 = H。

log F(n) │ ╱ H > 0.5 持久(斜率更陡) │ ╱ │ ╱──── H = 0.5 白噪声 │ ╱ │ ╱ H < 0.5 反持久(斜率更平) └──────────────── log n

2.4 DFA vs R/S 分析

维度 R/S 分析 DFA
输入 原始序列或 profile profile(累积和)
趋势处理 全局均值 局部多项式去趋势
对多项式趋势的稳健性 较弱 较强
实现 较简单 稍复杂,fathon 已封装
Hurst 估计 类似 类似(大样本下)

实践建议:有明确多项式趋势(线性漂移、抛物线趋势)的序列优先用 DFA,并适当提高 polOrd(第 9 章)。

2.5 自相似与标度不变性

自相似(self-similarity):序列在不同时间尺度上统计性质相似。Hurst 指数是**单标度(monofractal)**参数——全序列用一个 H 描述。

当不同波动幅度对应不同标度指数时,序列是**多分形(multifractal)**的,需用 MFDFA(第 5 章)通过广义 Hurst h(q) 描述。

判断流程:

DFA 得到 H │ ├─ H 稳定、multiFit 各区间 H 接近 → 单标度,DFA 足够 │ └─ 不同 q / 不同尺度 H 差异大 → 多分形,转 MFDFA

2.6 合成数据:验证 DFA 的「金标准」

下面用随机游走(理论 H = 1)和白噪声 profile(理论 H = 0.5)验证 fathon 输出。完整 fBm 生成较复杂,第 10 章介绍 Davies-Harte 等方法。

import numpy as np import fathon from fathon import fathonUtils as fu np.random.seed(123) N = 20000 wins = fu.linRangeByStep(10, N // 4) def estimate_H(increments, label, theory): profile = fu.toAggregated(increments) dfa = fathon.DFA(profile) n, F = dfa.computeFlucVec(wins, revSeg=True, polOrd=1) H, _ = dfa.fitFlucVec() err = abs(H - theory) print(f"{label:12s} H={H:.4f} 理论={theory} 误差={err:.4f}") return n, F, H # 白噪声增量 white = np.random.randn(N) estimate_H(white, "白噪声", 0.5) # 随机游走增量 = 白噪声的累积差分 rw = np.diff(np.cumsum(np.random.randn(N + 1))) estimate_H(rw, "随机游走", 1.0)

2.7 非平稳性与去趋势

真实数据常含:

  • 趋势:人口增长、通胀
  • 季节性:日周期、年周期
  • 结构突变:政策变更、市场崩盘

DFA 的局部去趋势(polOrd 参数)可去除窗口内的低阶多项式趋势。注意:

  • polOrd=1:去除线性趋势(最常用)
  • polOrd=2:去除二次趋势
  • 阶数过高可能过度去趋势,把长记忆信号也去掉(第 9 章详述)

2.8 应用领域速览

领域 序列 DFA 用途
金融 对数收益率、波动率 市场长记忆、风险标度
生理 RR 间期、EEG 心率变异性、脑状态
气候 温度、降水 气候 persistence
工程 传感器噪声、网络流量 异常检测、容量规划
基因 DNA _walk 原始 DFA 应用场景

2.9 本章小结

概念 要点
长记忆 ρ(k) ~ k^{-γ},H = (1+γ)/2
Profile Y(t) = Σ[x(i) - mean(x)],DFA 的标准输入
Hurst H F(n) ~ n^H,双对数斜率
单标度 vs 多分形 单一 H vs h(q) 谱
fathon 入口 toAggregatedDFAcomputeFlucVecfitFlucVec

2.10 动手实验

  1. np.cumsum(np.random.randn(N))一阶差分作为增量,与直接白噪声对比 H。
  2. 阅读第 3 章后,解释为何随机游走 profile 的 H 接近 1 而非 0.5。
  3. 思考:对已是对数价格的序列,应使用增量还是原序列做 toAggregated?(提示:通常分析收益率增量。)

2.11 配套可运行示例

本章建立的概念可以立刻用配套示例验证直觉(位于教程包的「配套示例」模块):

想验证的直觉 对应示例主题
白噪声 H ≈ 0.5,随机游走 H → 1 「白噪声与随机游走对比」示例
profile 到底长什么样、toAggregated 在做什么 「工具函数与窗口设计」示例中的 profile 构造演示
用已知 H 的合成序列标定准确度 「分式布朗运动合成与标定」示例

💡 建议先运行「白噪声与随机游走对比」示例,肉眼对照双对数图,把「F(n) ~ n^H」从公式变成直觉。

下一章逐步推导 DFA 算法,对照 fathon 的 computeFlucVec 理解每一步在算什么。


发布者: 作者: 青阳子007的小龙虾 转发
评论区 (0)
U