统计方法 · 信息论

为什么「预测下一期」在数学上不可能

注意措辞:不是「很难」,不是「概率很低」,是信息增量精确等于 0 比特。 这是一个可以证明、也可以用代码实测的等式。本文两者都做。

发布 2026-07-30 更新 2026-08-29 约 4000 字 · 阅读约 16 分钟 难度:中等偏上

一、先把三个问题分开

「能不能分析开奖数据」这个问题之所以纠缠不清,是因为它其实混了三个完全不同的问题。它们的答案分别是:能、能、不能。

三个必须区分的问题
问题 性质 可行性 方法
各结果的概率是多少? 纯计算 完全可行 组合数学,一支笔即可
这台装置是否有物理偏差? 统计推断 原则可行(但需海量数据) 假设检验,需功效分析支撑
下一期开什么? 预测 不可行 本文证明:不存在任何方法

混淆常常发生在第二和第三行之间。有人指出「统计学确实能发现装置的偏差」,然后据此推出「所以统计学能预测」。前半句对,后半句不成立——第二个问题的答案是关于装置属性的,不是关于某一次结果的。

二、熵:不确定性的度量

要精确讨论「信息」,需要一个度量。香农 1948 年给出的答案是

H(X) = − Σi P(xᵢ) log₂ P(xᵢ) 单位是比特。它度量的是「平均需要多少个是非问题才能确定 X 的取值」。

均匀分布的熵最大。对 N 个等可能结果,H = log₂ N。所以一期 49 选 6 的熵是:

H = log₂ 13,983,816 ≈ 23.74 比特 相当于抛 23.74 次均匀硬币的不确定性。

再定义条件熵:已知 Y 之后,X 还剩多少不确定性。

H(X | Y) = − Σy P(y) Σx P(x|y) log₂ P(x|y)

然后是本文的主角,互信息

I(X ; Y) = H(X) − H(X | Y) 「知道 Y 之后,关于 X 的不确定性减少了多少比特」。这正是「信息增量」的严格定义。

互信息有两个基本性质:I(X;Y) = I(Y;X)(对称),以及 I(X;Y) ≥ 0(知道更多信息不会让你更糊涂)。

三、互信息为零的证明

Xn+1 是下一期结果,Hn = (X₁, X₂, …, Xₙ)全部历史记录。

定理。若各期相互独立,则 I(Xn+1 ; Hn) = 0

证明。独立性的定义,对任意历史取值 h

P(Xn+1 = x | Hn = h) = P(Xn+1 = x)

代入条件熵的定义:

H(Xn+1 | Hn) = − Σh P(h) Σx P(x|h) log₂ P(x|h)
= − Σh P(h) Σx P(x) log₂ P(x)
= [ − Σx P(x) log₂ P(x) ] · Σh P(h)
= H(Xn+1) · 1 = H(Xn+1)

因此

I(Xn+1 ; Hn) = H(Xn+1) − H(Xn+1 | Hn) = 0  ∎

注意这个证明有多强

不依赖历史有多长——n 可以是 100、100 万,甚至无穷。

不依赖你用什么方法分析——因为 I = 0 是数据本身的属性,不是分析者能力的属性。信息不在数据里,就没有任何算法能把它取出来。

不依赖算力——这不是计算复杂度问题(「算得太慢」),而是信息论问题(「根本没有可算的东西」)。

换句话说:数据不足以支撑预测,不是因为分析得不够好,而是因为数据里根本没有那个信息。

3.1 数据处理不等式

还有一条更一般的定理值得一提。若 X → Y → Z 构成马尔可夫链(即 Z 只通过 Y 依赖 X),则

I(X ; Z) ≤ I(X ; Y) 数据处理不等式(Data Processing Inequality)。

直白地说:对数据做任何处理,都不会增加它所含的信息。你可以做特征工程、做变换、训练模型、堆叠十层网络——每一步都只可能损失信息,绝不可能创造信息。

由于起点 I(Xn+1 ; Hn) = 0,而互信息又非负,所以任何处理之后仍然恒等于 0。这条链是封闭的。

四、实测条件熵(含一个陷阱)

证明之外,我们直接测。

为了让每个条件下都有足够样本,这里用 6 面骰子(H = log₂ 6 ≈ 2.585 比特)而不是 49 选 6,生成 120 万个符号,然后估计 H(Xt+1 | 前 m 个符号)m 从 0 取到 6。

如果历史有用,条件熵应该随 m 下降。

条件熵随历史长度的变化

120 万个符号,字母表大小 6。随机种子 20260730(固定,可复现)。理论上限 log₂6 ≈ 2.585 比特。两条随机序列的曲线相距仅 0.15 比特,精确数值见下方表格。

三条线,三个结论:

  • 绿线(有规律的序列):这是对照组,我人为造了一个「下一个 = 上一个 + 1,但 20% 概率随机替换」的序列。它在 m = 0 时的熵仍是满值 2.585——因为 +1 轮换保持均匀分布,只看单个号码的出现频率完全看不出任何异常。但只要把条件放宽到「前 1 个符号」,条件熵立刻掉到约 1.03 比特。真有规律时,一步就能看出来,不需要什么复杂模型。
  • 橙线(真随机,朴素估计):随 m 增大缓慢下降,到 m = 6 时降至 2.4345。看起来像是「历史越长,能挖出的信息越多」。
  • 蓝线(真随机,偏差校正后):几乎平贴在 2.585,到 m = 6 也只降到 2.5724。

绿线那个 1.03 比特是可以手算验证的。注意 20% 的随机替换也有可能正好落回 上一个 + 1,所以

P(下一个 = 上一个 + 1) = 0.8 + 0.2/6 = 0.8333,其余五个各 0.2/6 = 0.03333
H = − 0.8333 log₂0.8333 − 5 × 0.03333 log₂0.03333 = 1.0370 比特 实测 1.0342,差异来自有限样本。

橙线就是那个陷阱

橙线的下降完全是估计偏差,不是信息。原因是:m 每增加 1,上下文的种类就乘以 6(m = 6 时有 46,656 种),每种上下文分到的样本从数十万骤降到约 26 个。而用频率直接代入熵公式的「朴素估计」在小样本下系统性偏低,偏差约为 −(K−1)/(2N ln2) 比特——代入 K = 6N = 26−0.139,与实测的 −0.151 吻合。

蓝线加了 Miller–Madow 校正(把上式的相反数补回去),消掉了其中 92% 的偏差。

这个陷阱的现实版本是:模型越复杂、划分越细,越容易「看到」并不存在的规律。训练集上损失下降,往往只是把噪声记住了。这与《德州神枪手谬误》是同一件事在信息论语言里的表述。

由于偏差只有 0.15 比特,在 0–3 的坐标轴上橙线和蓝线几乎叠在一起。把数字直接列出来更清楚:

条件熵估计值(单位:比特;真值恒为 log₂6 = 2.5850)
m 每种上下文的平均样本数 真随机 · 朴素估计 真随机 · MM 校正 对照组 · 朴素估计
01,200,0002.58502.58502.5850
1200,0002.58492.58501.0342
233,3332.58492.58501.0341
35,5562.58432.58491.0336
49262.58102.58491.0308
51542.56142.58481.0239
6262.43452.57241.0112

看第三列从 2.5850 一路走到 2.4345——如果有人把这个下降当作「发现了六阶规律」,他发现的其实是自己样本不够。而第四列告诉我们真相:真随机序列的条件熵,在任何历史长度上都是满值。这正是第三节 H(Xn+1|Hn) = H(Xn+1) 的实测版本。

五、柯尔莫哥洛夫复杂度

再换一个完全不同的角度:算法信息论。

字符串 s柯尔莫哥洛夫复杂度 K(s),定义为能输出 s 的最短程序的长度。

  • "010101…01"(重复 5000 次):K 很小,程序是 print("01"*5000)
  • 一串真随机的 10000 位:K ≈ 10000,没有比直接把它写进程序更短的办法。

「存在规律」在这个语言里的精确含义就是「可被压缩」:任何规律都对应一段比原数据更短的描述。

5.1 不可压缩性定理

对任意长度 n 和任意常数 c,满足 K(s) < n − c 的长度为 n 的串,个数少于 2n−c 个。

证明梗概。长度小于 n−c 的程序总共只有 2⁰ + 2¹ + ⋯ + 2n−c−1 = 2n−c − 1 个。每个程序最多输出一个串,所以能被压缩到 n−c 位以下的串最多这么多。∎

而长度为 n 的串共有 2ⁿ 个,所以可压缩超过 c 位的比例小于 2−c

能被压缩超过 c 位的字符串所占比例上界
压缩位数 c比例上界 2⁻ᶜ通俗表述
150%能省 1 位的不到一半
100.098%能省 10 位的不到千分之一
200.000095%能省 20 位的约百万分之一
50≈ 8.9 × 10⁻¹⁶实际上不存在

结论:绝大多数字符串都是不可压缩的,也就是没有任何规律的。「有规律」是极其罕见的例外,而不是常态。

还有一层更根本的困难

K(s)不可计算的——不存在任何算法能对所有输入算出它(这可以由停机问题归约得到)。

所以「用某种通用算法自动发现数据中的一切规律」这件事,连原则上都做不到。任何实际的分析方法都只能在一个预先划定的假设空间内搜索;而在这个空间里搜得越勤,找到虚假规律的概率就越高——这又回到了多重比较

六、七种选号策略的实测对比

理论说完了,做个粗暴的实证。下面在 2 万期均匀随机数据上,同时运行七种常见的选号思路,统计每种的平均命中个数。

所有策略都可以自由使用此前的全部历史

七种选号策略的平均命中个数

2 万期均匀随机数据,49 选 6,每期每种策略各选 6 个号码。随机种子 20260801(固定,可复现)。

七根柱子几乎压在同一条线上。具体数字如下(标准误约 0.0054 个):

七种策略的实测结果(2 万期,理论期望 36/49 = 0.7347)
策略 平均命中个数 与期望之差 标准误倍数 z
纯随机选号0.7406+0.0059+1.09
追最热 6 个0.7198−0.0149−2.76
追最冷 6 个0.7456+0.0109+2.03
追遗漏最久0.7305−0.0042−0.78
照抄上期0.7316−0.0031−0.59
固定组合 1–60.7371+0.0024+0.45
上期各加 10.7310−0.0037−0.68

这张表最有价值的一行,是「追最热」那一行

它的 z = −2.76,单独看的双侧 p 值是 0.0058——如果只做这一个检验,这已经足以在 0.05 水平上宣称「追热号显著更差」。

但我做了 7 个检验。七个里至少有一个偏离超过 2.76 个标准误的概率是 1 − (1 − 0.0058)⁷ ≈ 4%,也就是大约每跑 25 次这样的实验就会遇上一次。这不是发现,这是多重比较的必然产物。

而且我们知道它是假的——因为数据是我用 mulberry32 生成的均匀随机数,真值必然是 0.7347,不存在任何真实差异可供发现。

我本可以换一个随机种子,跑到七根柱子整整齐齐为止,再把那张图放上来。那样文章会更好看,而且没人查得出来。但那正是本站从头到尾在警告的行为,所以这里保留的是第一次运行的结果,种子 20260801 写在图注里,你可以自己跑一遍核对。

撇开这一处噪声,结论是清楚的:追热号、追冷号、追遗漏、照抄上期、固定组合、纯随机——命中率没有任何真实差别。

这不是巧合,而是《期望值与返奖率》里那条期望线性性的必然结果:由于 bᵢ(这里是「选哪些号」)只依赖历史,而每个号码在给定历史下的命中概率恒为 6/49,所以任何选择规则的期望命中数都精确等于 6 × 6/49 = 36/49 ≈ 0.7347

七、机器学习为什么也不行

「用深度学习 / 大模型 / 大数据分析」是最近几年最常见的说法。它失败的原因和别的方法完全一样,只是需要说得更明确一点。

监督学习要做的事,是从数据里逼近条件分布 P(Y | X)。模型能达到的最优交叉熵损失下界就是条件熵 H(Y | X)。而我们已经证明

H(Xn+1 | Hn) = H(Xn+1)

所以最优模型的输出,就是忽略输入、直接返回边际分布——对每个号码都给出 6/49。这个「最优模型」用一行代码就能写出来,参数量是 0。

模型规模与可提取信息的关系
改动能改变 I(X;Y) 吗实际效果
增加参数量不能训练损失下降(记住噪声),验证损失上升
增加训练数据不能模型更快收敛到边际分布 6/49
特征工程不能(数据处理不等式)最好持平,通常损失信息
更换架构不能收敛速度不同,终点相同
集成多个模型不能方差降低,偏差不变

一个容易被误读的现象

在这类数据上训练模型时,训练集准确率确实会超过 6/49——有时高很多。这看起来像是「模型学到了东西」。

它学到的是那批特定数据的噪声。把同一个模型放到从未见过的数据上,准确率会精确回落到 6/49。这正是第四节橙线的现象在监督学习中的版本,也是为什么任何声称有效的方法都必须给出样本外验证结果——只报告训练集或历史回测表现的,等于什么都没报告。

八、「可我认识一个人真的中了」

这句话是真的,而且必然是真的。它和上面所有数学没有任何冲突。

假设某规则每期有 100 万人参与,单次中奖概率 1/13,983,816。每期的期望中奖人数是 0.0715 人;一年 300 期,期望中奖人数约 21 人

所以每年都会有二十来个真实的中奖者,他们的故事都是真的。但请注意分母:这一年里还有 3 亿人次没有中。

三种让小概率事件显得常见的机制
机制运作方式纠正方法
幸存者偏差成功案例被反复讲述,失败案例从不被记录主动追问分母:一共有多少人试过
可得性启发容易回忆起的事件被高估频率;中奖新闻天然易得用统计数字替代印象
事后叙事中奖后回溯性地给出「方法」,方法是结果的产物要求方法在事前被完整写下

还有一层:如果一个人真的掌握了有效方法,理性行为是安静地使用它,而不是出售它。任何售卖「方法」的行为,本身就是该方法无效的强证据——因为出售的收益如果高于使用的收益,说明使用的收益并不高。

九、三道独立的锁

全站的论证到这里闭合了。它由三条互相独立的结论构成,任何一条单独成立就足以关上这扇门。

三道锁
结论依据
第一道 历史记录不改变下一次的概率 独立性定义赌徒谬误
第二道 历史记录的信息增量精确等于 0 比特,任何方法都提取不出 本文:互信息为零 + 数据处理不等式
第三道 即使前两道全部失效,只要 R < 1,改变下注方式也无法改变期望 期望线性性 + 可选停时定理

第三道锁的特殊地位

第三道锁值得单独强调,因为它是无条件的:即使某台装置真的有偏,即使你真的能完美预测每一次结果,只要返奖率 R < 1,期望净收益仍然是 (R−1) × 总投注额。

换句话说,就算前两道锁被某种方式打开了,第三道锁依然是关着的。

本站存在的目的,就是把这三条说清楚,并且给出可以自己验证的工具(模拟器计算器)和可以自己复现的代码(所有图表的随机种子都写在图注里)。不需要相信我们,请自己算一遍。


延伸阅读与参考

  • Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27, 379–423 & 623–656. 熵与互信息的原始论文。
  • Cover, T. M. & Thomas, J. A. Elements of Information Theory (2nd ed., Wiley, 2006). 第 2 章熵与互信息;第 2.8 节数据处理不等式;第 14 章柯尔莫哥洛夫复杂度。
  • Li, M. & Vitányi, P. An Introduction to Kolmogorov Complexity and Its Applications (4th ed., Springer, 2019). 第 2.2 节不可压缩性定理。
  • Miller, G. A. (1955). Note on the bias of information estimates. In: Information Theory in Psychology, 95–100. Miller–Madow 校正的出处。
  • Paninski, L. (2003). Estimation of entropy and mutual information. Neural Computation, 15(6), 1191–1253. 熵估计偏差的系统分析。
  • Kolmogorov, A. N. (1965). Three approaches to the quantitative definition of information. Problems of Information Transmission, 1(1), 1–7.
  • Wolpert, D. H. & Macready, W. G. (1997). No Free Lunch Theorems for Optimization. IEEE Trans. Evolutionary Computation, 1(1), 67–82. 无免费午餐定理。
  • Tversky, A. & Kahneman, D. (1973). Availability: A heuristic for judging frequency and probability. Cognitive Psychology, 5(2), 207–232.