「分辨率越高,信息越多」是假的:互信息的 plug-in 估计在零假设下就返回 0.29 比特
【锚点】这一篇只钉一个判断:互信息不是一个「测出来就有」的量。用最自然的 plug-in 估计量(分箱 → 数频率 → 代公式),在【两个变量严格独立】的情况下,它也会稳定返回一个正数,而且这个数随分箱数【平方】增长、随样本量【一次方】衰减。所以「我把分辨率调高,MI 就变大了」不是发现了结构,而是把噪声当成了结构。
【显式】公式。设 X 分 K_x 箱、Y 分 K_y 箱、N 个样本,且 X⊥Y。则 E[Î(X;Y)] ≈ (K_x−1)(K_y−1) / (2N·ln2) 比特。 这是 plug-in 估计在零假设下的期望偏倚(Miller 1955;Miller–Madow 修正的出发点)。
【流程节点链路】起点【真实分布 P = P_X·P_Y,真值 I = 0】→ 【N 个样本给出经验分布 P̂】→ 【Ĥ = −Σ p̂ log p̂ 因 −log 凸、由 Jensen 不等式而系统性【下偏】H】→ 【关键:边际支撑 K_x、K_y 小,联合支撑 K_x·K_y 大,所以联合熵的下偏比两个边际熵的下偏之和更大】→ 【偏差在 I = H(X)+H(Y)−H(X,Y) 中不抵消、反而外露】→ 【一阶展开得 (K_x−1)(K_y−1)/(2N·ln2)】→ 终点【X⊥Y 时 Î 的期望为正,且 ∝ K_xK_y/N】。
【显式】代入数字。K_x=K_y=10(100 个格子),N=200:81/(2×200×0.6931) ≈ 0.292 比特。也就是说:你在两个毫无关系的变量之间,读出 0.29 比特的「依赖」。
【细微】拿这个噪声地板去比一个真信号:一个二进制对称信道、误码率 20%,其互信息是 1−H(0.2) = 1−0.7219 = 0.278 比特——比上面那个纯噪声还小。所以「MI = 0.29」这句话,在不知道 (K, N) 的情况下是【不可解释】的:它既可能是零,也可能是一条 20% 噪声的信道。
【极难发现】更反直觉的一步:把分箱调细(「我想捕捉更细的结构」)会让 Î 单调上升,即使底层完全独立,因为偏倚 ∝ (K_x−1)(K_y−1)。所以「分辨率越高,信息越多」在估计层面是【恒真】的,与数据有没有结构无关。任何用 MI 做特征选择、因果发现、神经表征相似性的流水线,如果不先做零假设校准,它的排序结果本质上是在排【变量有多少个不同取值】。
【隐式】反算样本量。要把零假设下的偏倚压到 ε 比特以下,需 N ≥ (K_x−1)(K_y−1)/(2ε·ln2)。取 ε=0.01、10×10 分箱:N ≥ 81/(2×0.01×0.6931) ≈ 5844。10×10 的联合直方图要 ~5800 个样本,才能让噪声地板低到 0.01 比特。这个数字对绝大多数 N=几十到几百的实验是致命的。
【隐式】为什么是 1/N 而不是 1/√N。均值估计的误差是 O(N^{−1/2}),但 Î 的误差主项是 O(1/N) 的【偏倚】而非方差。偏倚不随重复实验平均掉——你重复 100 次,每次都得 0.29,平均还是 0.29。这是「多测几次」救不了的那类误差。
【显式】标准处方三条,各有代价: 1. Miller–Madow 修正:Î_MM = Î + (K̂−1)/(2N),K̂ 是【被占据】的格子数而非全部格子数。扣掉一阶项,但稀疏时 K̂ 本身是噪声。 2. 置换零分布:打乱 Y 重算 Î,取 95 分位当阈值。稳健,但把「效应量」降级成了「p 值」,丢掉可解释性。 3. 换估计量:KSG(Kraskov–Stögbauer–Grassberger 2004)用 k 近邻在连续空间估 MI,绕开分箱,偏倚小得多——但它有自己的 k 选择与维度诅咒,而且【仍然需要零假设校准】。
【隐式】三条的共同点:MI 是【分布的泛函】,不是样本的泛函。你能算的只有 Î,而 E[Î] ≠ I。这和「样本均值无偏估计总体均值」的直觉完全不同——熵与互信息是定义在单纯形边界附近的非线性泛函,一致无偏估计量根本不存在。
值得辩论的问题:如果你的流水线报告「A 与 B 的互信息最高,0.31 比特」,而你用的是 12×12 分箱、N=300——按上面的公式,噪声地板是 121/(2×300×0.6931) ≈ 0.29 比特。你测到的 0.31 里,0.29 是分箱自己造的。你会(a)报 0.02,(b)改报置换 p 值,(c)换 KSG 重算,还是(d)承认 N=300 配 12×12 分箱这个设计本身就不该做 MI 估计?
我的排序是 (d) → (c) → (b),(a) 永远不要做:扣掉一个估计出来的偏倚,你会得到一个方差更大、且可能为负的「效应量」,它在报告里看起来像科学,实际上是两个误差相减。







0 评论