跳转至

3.1   什么是概率

周六上午,小率背着包准备出门打球。门口阳光很好,手机却弹出天气提醒:傍晚降雨概率 70%。

他站在鞋柜旁犹豫。带伞吧,背包会变重;不带吧,万一回家路上下雨,球鞋就要一路踩水。小率看着窗外的蓝天,嘀咕道:“现在明明不像要下雨,70% 到底是在说什么?”

均哥没有直接替他做决定。他把手机天气、窗外云层和门口的雨伞放在同一个问题里看:“概率不是在保证某件事一定发生,而是在帮你衡量:面对不确定,值不值得提前准备。”

均哥和小率根据天气概率决定是否带伞

这一节先不急着背公式。我们先把概率当成生活里的判断工具:事情还没有发生,但我们已经掌握了一些线索;概率就是把这些线索压缩成一个可以讨论、可以比较、可以行动的数字。


3.1.1   70% 不是承诺,而是可能性刻度

小率最困惑的是这句话:

今天傍晚降雨概率 70%。

它不表示“今天 70% 的时间都在下雨”,也不表示“这座城市 70% 的地方一定下雨”。更稳妥的理解是:在当前的云层、水汽、气压、历史相似天气和预报模型判断下,“傍晚会下雨”这个事件有较高机会发生。

如果最后没下雨,那 70% 是不是就错了?
不能只看一次。概率是长期刻度,不是单次保证。

概率(Probability)是 0 到 1 之间的数,用来描述事件发生的可能性:

  • 0:不可能发生。
  • 1:一定发生。
  • 0.5:像公平硬币正反面一样,两边机会相当。
  • 0.7:发生的机会更高,但仍然不是保证。

如果一个天气系统经常给出“70% 降雨概率”,那么我们希望在大量类似预报中,最后真的下雨的比例大致接近 70%。这叫“校准”直觉:概率不是看一次准不准,而是看很多次同类判断是否说话算数。

你知道吗

天气预报不是靠一个人凭感觉猜。它会结合气象观测、数值模型、历史相似天气和预报员修正。我们在手机上看到的一个百分数,背后是一整套把不确定性压缩成数字的过程。


3.1.2   概率真正帮你做的是决策

带不带伞,并不只取决于“会不会下雨”。它还取决于两件事:

  • 不带伞但下雨,代价有多大。
  • 带伞但没下雨,麻烦有多大。

这就是为什么同样是 70%,不同人会做不同决定。小率要背着球拍和水杯,觉得雨伞有点占地方;均哥晚上还要带电脑回家,就更不愿意冒淋雨的风险。

70% 到底该怎么用

如果带伞的麻烦很小,而淋雨的代价很大,哪怕降雨概率只有 40%,也可能值得带伞。反过来,如果只是下楼取快递,70% 也未必非要带伞。

我们可以把决策写成一个很朴素的比较:

选择 如果下雨 如果不下雨
带伞 没淋湿,只是多背一把伞 多背一把伞
不带伞 可能淋湿、耽误回家 轻松出门
所以概率不是替我决定,而是告诉我风险有多大?
对。概率负责描述不确定性,决定还要看代价。

这也是统计学很实用的地方。我们不一定能消灭不确定性,但可以把“不知道”变成“有多可能”,再把“有多可能”放进真实选择里。


3.1.3   概率有三种常见读法

同一个“概率”数字,在不同场景里会有不同来源。均哥在纸上画了三种入口:

图 3.1.1 三种概率视角

视角 适合什么场景 一句话理解
古典概率 Classical Probability 骰子、扑克牌、抽签等结果对称的问题 所有结果等可能,直接数一数
频率概率 Frequentist Probability 能重复很多次的实验或记录 看长期重复中比例会稳定到哪里
主观概率 Bayesian Probability 天气、诊断、预测等会随证据更新的问题 根据已有信息表达当前相信程度

小率发现,三种读法并不矛盾。掷骰子时,我们常从“每面等可能”出发;抛硬币很多次时,我们观察正面频率是否稳定;天气预报和体检筛查里,我们会随着新证据更新判断。

为了避免混乱,读一个概率时先问三句:

  1. 这个概率来自对称规则,还是来自长期记录?
  2. 这个概率是在描述未来一次结果,还是描述很多次里的比例?
  3. 如果出现新信息,这个概率要不要更新?

3.1.4   频率会晃,但会围着概率走

均哥拿出一枚硬币:“如果只抛 10 次,正面可能是 3 次,也可能是 7 次。你不能因为这 10 次就断言硬币不公平。”

次数少时,频率很容易晃。次数多起来,公平硬币的累计正面比例通常会慢慢靠近 0.5。

图 3.1.2 硬币正面频率逐渐靠近概率

import numpy as np

rng = np.random.default_rng(31)
tosses = rng.integers(0, 2, size=600)  # 1 表示正面,0 表示反面
running_frequency = np.cumsum(tosses) / np.arange(1, len(tosses) + 1)

print("前 10 次后的累计正面频率:")
print(np.round(running_frequency[:10], 2))
print(f"600 次后的累计正面频率:{running_frequency[-1]:.3f}")

这段代码模拟了 600 次抛硬币。前几次的比例可能很跳,最后的累计比例通常会更接近 0.5。这就是概率里非常重要的直觉:单次结果不容易预言,长期比例可以描述


3.1.5   概率必须守住三条底线

概率可以处理不确定性,但它不是随便写百分数。只要叫概率,就要守住三条底线。

第一,概率不能小于 0,也不能大于 1:

\[ 0 \leq P(A) \leq 1 \]

第二,样本空间里的全部可能合在一起,概率是 1:

\[ P(\Omega)=1 \]

第三,如果两个事件不可能同时发生,就可以直接相加:

\[ A\cap B=\varnothing \quad \Rightarrow \quad P(A\cup B)=P(A)+P(B) \]

回到带伞故事,如果我们只关心“傍晚下雨”和“傍晚不下雨”,这两个事件互不重叠,而且合起来就是全部可能。若下雨概率是 0.7,那么不下雨概率就是:

\[ 1-0.7=0.3 \]

需要注意

“下雨”和“刮风”可能同时发生,不能直接把两者概率相加当成“下雨或刮风”的概率。只有两个事件互不重叠时,直接相加才安全。

小率的笔记本

  • 概率是在不确定中表达可能性的刻度,不是单次预言书。
  • 70% 不是承诺,而是“在相似条件下长期大约七成会发生”的判断。
  • 做决定时,概率要和代价一起看。
  • 频率是观察到的比例;概率是长期机制或当前证据下的可能性。
  • 写概率前,要先问事件是什么、全部可能是什么、有没有额外信息。