||
大多数人第一次听说 copula,脑子里浮现的是这样一幅画面:
把一堆纠缠在一起的随机变量,优雅地拆成“每个人自己的性格”加上“大家之间的关系网”。
这套思想通常被归功于 Abe Sklar。1959 年,他正式证明:连续变量的联合分布,可以唯一拆成边缘分布和一个叫 copula 的连接函数。从此,copula 成了金融风控、气象建模、医学统计的标配工具。
但很少有人知道:在 Sklar 发表那篇划时代论文的 59 年前,一个研究天花疫苗和社会贫困的统计学家,已经在做一模一样的事了。
只不过他手里没有“copula”这个词,只有一张 2×2 的格子纸。
第一章:1900 年,一个疫苗问题引发的数学乔治·乌德尼·尤尔(George Udny Yule)面对的是一个很实际的问题:
打疫苗到底有没有用?
他手里有这样一张表:
得天花 | 没得天花 | |
|---|---|---|
打疫苗 | a | b |
没打疫苗 | c | d |
问题来了:如果今年疫苗普及率高,打疫苗的(a+b)那一整行都变大;明年普及率低,整行都变小。但疫苗和天花之间的真实关系,不应该跟着年份变来变去。
尤尔需要一个数,只描述“关系”,不描述“今年打疫苗的人多不多”。
他盯上了交叉乘积比:
$$\theta = \frac{a \times d}{b \times c}$$然后他做了一个极其简单的实验:把第一行的四个数都乘以 2,把第二行都乘以 3。再算一遍 $\theta$。
没变。
再把第一列乘以 5,第二列乘以 7。再算一遍。
还是没变。
尤尔恍然大悟:对行和列分别乘正数——也就是改变边缘分布——$\theta$ 纹丝不动。这个比值,就是他想要的“纯关系”。
他甚至发明了一个把 $\theta$ 压到 $[-1, 1]$ 的公式,叫 Yule's Q。Q = 0 表示完全独立,Q 趋近 ±1 表示关系强到几乎确定。
翻译成现代语言:尤尔发现了一个等价类——所有通过对行、列乘正数得到的表,共享同一种依赖结构。他甚至知道可以把表“标准化”成边缘均匀的样子,让关系一目了然。
这一切发生在 1900 年。Sklar 还没出生。
第二章:1950 年代,把“关系”做成一门手艺接下来的半个世纪,列联表成了社会学、心理学、市场调研的标配工具。但大家越来越不满意:
卡方检验只能告诉你“有没有关系”,不能告诉你“关系有多强”。而且就算关系一样,换个样本比例,卡方值就变了。
利奥·古德曼和威廉·克鲁斯卡尔决定系统解决这件事。
他们问了一个很刁钻的问题:
如果我告诉你一个人的教育程度,你猜他收入时的错误率能降低多少?
这就是 Goodman-Kruskal λ 的核心思想。然后他们又问:
如果我不猜具体收入,只猜“收入高还是低”,错误率能降低多少?
这是 Goodman-Kruskal τ。
再然后:
如果教育高的人收入也高,这种“同方向排序”有多一致?
这是 Goodman-Kruskal γ。
这些指标有一个共同特点:它们不关心你的样本里“高收入”的人占 10% 还是 60%。它们只关心关系本身。
同一时期,弗雷德里克·莫斯特勒说得更直白。他把一张列联表拆成两层:
一层叫 basic nucleus(基本核),是纯粹的关联关系;
另一层是边缘分布,是“每个变量各自长什么样”。
所有通过对行、列乘正数得到的表,共享同一个 nucleus。
他还演示了怎么把一张表“标准化”成边缘均匀的样子——把核单独拎出来给人看。
这几乎就是 2020 年离散 copula 定义的白话版。只是当时没有人叫它 copula。
第三章:1959 年,Sklar 的连续世界就在列联表学派把“剥离边缘”玩得炉火纯青的时候,Abe Sklar 从另一个方向杀了出来。
他关心的是连续变量——温度、股价、风速——这些可以取任意实数值的东西。他的工具是累积分布函数(CDF)和概率积分变换。
Sklar 证明了一个极其优雅的定理:
任意 N 个连续变量的联合分布,都可以唯一写成:
$F(x_1, \dots, x_N) = C(F_1(x_1), \dots, F_N(x_N))$
其中 $C$ 叫 copula,定义域是 $[0,1]^N$。
连续世界的美在于:你可以对变量做任意严格单调变换——取对数、取指数、做排名——这只会改变边缘分布,不会改变 copula。copula 就是“单调变换下的不变量”。
但有一个问题:这套语言高度依赖连续变量的特性。离散变量的 CDF 是阶梯函数,逆映射不唯一,Sklar 定理的“唯一性”直接崩塌。
于是出现了一个尴尬的局面:
第四章:2020 年,Geenens 把旧酒倒进新瓶连续变量有 copula,离散变量没有。
但离散变量明明也有“关系 vs 边缘”的拆分需求,而且列联表学派已经拆了半个世纪。
Gery Geenens 做了一件看似简单、实则深刻的事。
他说:别再把离散 copula 当成“连续 copula 的二等公民”了。离散变量不需要 $[0,1]^N$ 上的 CDF。它需要的,只是把尤尔和莫斯特勒已经说过的话,用现代信息论的语言重新说一遍。
他的定义:
离散 copula = 原概率表在 KL 散度下,到“均匀边缘概率数组集合”的最短距离投影(I-projection)。
翻译成人话:
给你一张概率表。不许改变“关系”,只许调整边缘。在所有边缘都变成均匀的表里,找一张和原表最像的。这张表,就是离散 copula。
怎么算?用迭代比例拟合(IPFP),也就是 Sinkhorn 算法,也就是列联表学派用了八十年的老工具。
Geenens 自己说得很坦白:这不是新发明,这是把 Yule 1900 年的思想,用 21 世纪的信息几何语言重新包装。
第五章:尾声——把核写成显式坐标故事到这里,离散 copula 已经有了清晰的定义、计算方法和统计推断理论。
但还有一个问题没解决:这个“核”到底长什么样?能不能写成一组具体的数字,让人一眼看懂?
近年来的研究在严格为正的 N 元二值分布这一特殊情形下,给出了一个极其漂亮的答案。
借助 Walsh 函数 展开对数概率:
$$\log p(x) = J_\varnothing + \sum_i J_i x_i + \sum_{|S|\ge 2} J_S \chi_S(x)$$人们发现:
$J_\varnothing$ 和 $J_i$ 是“个人统计”,局域重加权会改变它们;
所有 $|S| \ge 2$ 的 $J_S$ 是“纯关系”,无论你怎么重加权,它们纹丝不动。
所以,离散 copula 的“核”,就是这组高阶 Walsh 系数 $\{J_S : |S| \ge 2\}$。
不仅如此,严格凸性定理进一步证明:给定这组系数,存在唯一的均匀边缘表与之对应。换句话说,“边缘 + 核 → 整体”是一个双射。
更妙的是,这组系数在统计物理里有现成的解释:它们就是 Gibbs 模型里的多体耦合常数。一个概率论问题,瞬间变成了一个自旋系统的物理问题。
结语:一条被颠倒的时间线如果把这段历史画成一条线,它会是这样的:
纯文本1900 ── Yule:odds ratio,行列表缩放,关系不变 │ 1912 ── Yule:边缘均匀标准形 │ 1954 ── Goodman-Kruskal:系统化的边缘无关关联度量 │ 1968 ── Mosteller:basic nucleus,等价类,标准化代表 │ 1940 ── Deming-Stephan:IPFP(迭代比例拟合) │ 1959 ── Sklar:连续 copula 定理(比 Yule 晚 59 年) │ 2020 ── Geenens:用 I-projection 把 Yule 写成现代离散 copula │ 近年 ── 高阶 Walsh 展开:把离散 copula 核写成显式坐标所以真相是:离散依赖结构不是连续 copula 的“晚辈”,而是“前辈”。
Sklar 给连续世界一个名字;Yule 早就给离散世界一个做法。Geenens 把做法翻译成现代语言;而今天的研究者正在把语言变成公式。
而这一切,都始于 1900 年一张关于天花疫苗的 2×2 表格。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2026-10-16 09:07
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社