4. 行业间成交量关联性度量

在跨行业成交量迁移轨迹测算中,第一步往往不是建模,而是回答一个更基础的问题:两个行业的成交量序列到底"像不像"、"谁先谁后"、"关联是线性还是非线性"。如果这一步选错度量方法,后续的迁移强度、滞后阶数和迁移方向都会被系统性带偏。本节围绕三种最常用的关联性度量——皮尔逊相关系数、互信息、动态时间规整(DTW)——说明它们各自刻画什么、在什么数据条件下可靠,以及如何在实际测算中组合使用。

三种度量刻画的是不同层面的"关联"

皮尔逊相关系数衡量两条序列在同一时点上的线性同步程度,取值在 −1 到 1 之间。它要求两序列对齐、近似平稳、且关系以线性为主。优点是解释直观、计算快、可直接做显著性检验;缺点是对方差变化敏感,对非线性单调关系(如先增后减的倒 U 型)会低估,对异常值非常敏感。在成交量场景中,若两个行业受同一宏观因子驱动、且都以近似比例放大缩小,相关系数会很高;但若一个行业是另一个行业的"上游先行、下游滞后放大",同期相关系数可能接近 0,此时它并不代表无关联,而是关联存在时滞。

互信息从信息论角度度量两序列共享的不确定性削减量,能捕捉任意形式的统计依赖,包括非线性、非单调关系。它的关键优势是"不假设函数形式",但代价是:需要估计概率分布(连续变量通常要分箱或做核密度估计),对样本量和分箱方式敏感,且没有天然的符号(无法区分正相关与负相关)。因此在成交量测算中,互信息更适合作为"是否存在依赖"的筛查工具,而不是直接给出方向。

动态时间规整则换了一个问题:它不要求两序列逐点对齐,而是允许时间轴弹性伸缩,寻找一条最优对齐路径,使累计距离最小。DTW 距离越小,说明两条序列的"形状"越相似,即使其中一条整体提前或滞后若干期。它天然适合处理成交量序列中常见的相位漂移、节奏快慢不一的问题,但 DTW 距离本身不是归一化到 [0,1] 的相关系数,不能直接横向比较不同序列对的强弱,且对噪声和端点敏感,需要配合约束窗口和归一化使用。

三种关联性度量的分工与适用场景 皮尔逊相关系数 r 刻画:同期线性同步程度 前提:对齐、近似平稳、线性 输出:−1 ~ 1,带符号 弱点:滞后即失效、怕异常值 适用:同步共振型行业对    快速筛查与显著性检验 互信息 MI 刻画:任意形式统计依赖 前提:需估计分布(分箱/核密度) 输出:≥0,无方向符号 弱点:对分箱与样本量敏感 适用:非线性、非单调依赖筛查    判断"是否有关联" 动态时间规整 DTW 刻画:形状相似性(允许时移) 前提:归一化、约束窗口 输出:累计距离,越小越像 弱点:非归一化、怕噪声与端点 适用:相位漂移、节奏不一的序列    提取最优对齐路径与滞后 选择路径:先问数据形态,再问要回答的问题 两序列是否逐点对齐 且关系近似线性? 是否存在非线性 或非单调依赖? 是否存在相位漂移 或节奏快慢不一? 组合使用 交叉验证结论 → 用 r 并做显著性检验 → 用 MI 筛查依赖强度 → 用 DTW 求对齐与滞后 → 三者结论一致才可信 注:r 与 MI 需在同一时间窗口、同一采样频率下计算;DTW 前须做 z-score 归一化并设置 Sakoe-Chiba 窗口

用示例数据看清三者的差异

假设我们取两个行业 A、B 的月度成交量指数共 24 期(示例数据,用于说明方法差异,非实测)。构造三种情形:情形一,B 是 A 的同期线性放大,B ≈ 1.5A + 噪声;情形二,B 是 A 的滞后 2 期版本,B_t ≈ A_{t−2};情形三,B 与 A 呈倒 U 型关系,A 处于中等水平时 B 最大。

对情形一,同期皮尔逊 r 通常在 0.9 以上,互信息也高,DTW 距离小,三者一致。对情形二,同期 r 可能只有 0.1~0.3,看起来"无关";但互信息在合适的滞后嵌入下会明显升高,DTW 会找到一条平移对齐路径,距离显著下降——这正是"关联存在但有时滞"的典型表现。对情形三,r 可能接近 0(线性项抵消),而互信息仍然较高,DTW 则因形状不同而距离偏大。可见,单一指标给出的"低关联"结论必须结合另两种度量复核,否则容易把时滞型或非线性型迁移误判为无迁移。

实操中的计算要点

相关系数计算前应先检查平稳性:对含趋势的成交量序列直接求 r 会产生伪相关,通常先做同比或差分。互信息建议先对两序列做等频分箱(如各分 8~12 箱),计算联合频率与边缘频率后求 MI = Σ p(x,y)·log[p(x,y)/(p(x)p(y))],并用置换检验(打乱 B 的顺序重复 200 次)得到零分布,判断观测 MI 是否显著高于随机水平。DTW 则需先 z-score 标准化消除量纲,设置 Sakoe-Chiba 窗口(例如最大允许偏移为序列长度的 10%~20%),再递推累计代价矩阵,回溯得到对齐路径;路径上 (i, j) 的偏移量 j−i 的均值,可作为两行业成交量迁移的"平均滞后估计"。

# 示例:DTW 平均滞后估计(伪代码,参数为教学假设)
A = zscore(volume_A)          # 标准化
B = zscore(volume_B)
W = 0.15 * len(A)             # Sakoe-Chiba 窗口
D = dtw_cost_matrix(A, B, window=W)
path = backtrack(D)           # 最优对齐路径 [(i1,j1),(i2,j2),...]
lag = mean(j - i for (i, j) in path)   # 正数表示 B 滞后于 A
print("平均滞后约", round(lag, 1), "期")

组合使用的判断原则

实践中推荐"三步交叉":先用互信息做无假设筛查,确认两行业是否存在任何形式的依赖;再用 DTW 判断这种依赖是否伴随相位漂移,并估计平均滞后;最后在按 DTW 估计的滞后对齐后,计算对齐序列的相关系数,得到带符号的强度与方向。若三者结论一致,可认为关联稳健;若互信息高而 r 低,优先怀疑非线性或时滞;若 DTW 距离小而 r 也高,说明两行业近似同步共振,迁移轨迹更可能是"同涨同跌"而非"先后传导"。需要提醒的是,以上度量都只描述统计关联,不能直接等同于因果迁移,方向判断仍需结合行业上下游关系、政策时点和业务逻辑做外部校验。

在跨行业成交量迁移测算中,建议把三种度量结果并列记录在同一张对照表中(行业对、窗口、r、MI 及置换 p 值、DTW 距离、平均滞后),便于后续按"同步型 / 时滞型 / 非线性型"对行业对分类,再分别选用不同的迁移模型。