上一节里,我们一直在提醒自己:数据里看见关系,不等于已经找到了原因。那种停顿其实正好把我们带到概率——现实中的信息经常不完整,结果也还没有发生,可我们仍然要描述风险、做出判断,还要知道自己有多大把握。
扔一枚硬币,落地前不知道哪一面朝上;抽一张洗匀的牌,翻开前不知道花色;天气预报说降雨概率为 ,出门前也没人能把明天提前演一遍。概率处理的正是这种局面:结果还不确定,但可能结果、判断依据和不确定程度可以说清楚。
这一节不把概率写成一堆孤立公式。我们会从同一个问题一路往下走:一次随机过程可能产生什么结果,我们关心的是哪些结果,概率从哪里来,为什么短期常常反直觉,以及怎样用模拟把一个难算的问题变成可以估计的问题。
学概率时最有用的习惯,是每次计算前先问三句:随机实验是什么?样本空间有没有列完整?我关心的事件究竟包含哪些结果?只要这三句含糊,后面的数字再漂亮也不可信。
概率里的“实验”不一定发生在实验室。只要一个过程可以观察到明确结果,而在观察前结果还不能确定,我们就可以把它建成一个随机实验。
例如:
这里有四个词需要分清。
一个结果可以看成样本空间里的一个点,事件则是把其中一些点圈起来。事件不是实验之外的新东西,它只是我们根据问题重新给结果分组。
只抛一枚硬币,而且只记录朝上的一面,样本空间是:
如果连续抛两次,并记录先后顺序,样本空间变成:
“正反”和“反正”都表示一正一反,但它们不是同一个结果。前者是第一次正面、第二次反面;后者正好相反。只要题目记录顺序,它们就必须分开。
如果题目只问“两次里正面出现了几次”,记录对象又变了。此时可以写:
先别急着说这三个结果各占三分之一。它们只是三个可能的取值,并不等可能:出现 次正面有“正反”和“反正”两条路径,出现 次或 次都只有一条路径。
样本空间不是客观世界自动递给我们的清单,它取决于“这次实验记录什么”。顺序、身份、时间和位置是否被记录,会直接改变一个结果长什么样。
继续用连续抛两次硬币的样本空间:
设事件 表示“至少出现一个正面”,那么:
设事件 表示“两次结果相同”,那么:
设事件 表示“恰好出现一个正面”,那么:
日常语言里的“至少”“至多”“恰好”“不是”“同时”“或者”,都在告诉我们怎样圈事件。很多看起来像算术错误的问题,真正的错误往往发生在这一步:把“至少一个”读成了“恰好一个”,或者忘记“或者”通常包括两者同时发生。
在交互里切换“抛两枚硬币”“抛硬币再抽卡”和“掷一个六面骰”。先只看全部结果,再点不同事件。你会发现,事件改变时样本空间没有变,变的是被圈中的那部分结果。
题目:先抛一枚硬币,再从装有红、蓝、绿三张卡片的盒子里随机抽一张。硬币和卡片都要记录。写出样本空间,并写出事件 :“硬币为正面或抽到绿卡”。
先确认实验有两个阶段。最终结果必须同时写出硬币和卡片的信息,只写“正面”或“绿卡”都不完整。
硬币有 个可能结果,卡片有 个可能结果。把每个硬币结果和每个卡片结果配对,得到 个最终结果。
有了样本空间,还不能自动得到概率。我们还需要一个概率模型:它说明每个结果或事件有多可能发生。
如果一个袋子里有 个白球和 个黑球,抽一次的结果可以简写成:
但“白”和“黑”显然不是各占一半。样本空间告诉我们有哪些可能,概率模型才告诉我们这些可能各有多重。
对任意事件 ,概率必须满足:
负概率没有现实含义,大于 的概率也不能表示“比必然还必然”。如果习惯用百分数,同一条范围就是 到 。
整个样本空间包含所有可能结果,所以必有:
对于离散样本空间,我们可以给每个互不重叠的基本结果分配概率。这些概率都不能为负,而且全部加起来必须等于 。例如某个不均匀转盘有三块区域:
这是一份合法的概率模型,因为三个概率都在 与 之间,而且:
如果把黄色写成 ,或者三个数加起来是 ,这份模型不用做任何实验就可以判定有问题。
事件 的补事件记作 ,表示样本空间中所有不属于 的结果。 和 不会同时发生,却合起来覆盖全部结果,因此:
也就是:
例如掷两个公平六面骰,事件 表示“点数和小于 ”。直接列出点数和为 的所有情况很费劲;它的补事件只有“点数和等于 ”,也就是结果 。
因为两个骰子的 个有序点数组合同样可能:
所以:
补事件不是一个需要额外背诵的技巧。它只是提醒我们:当“想要的情况很多、不想要的情况很少”时,数反面更省力。
说一枚硬币“正面概率为 ”,其实是在提出一个模型。这个模型可能来自硬币的对称结构,也可能来自长期实验。模型给出理论概率,观察则给出实际频率。
假设抛了 次硬币,其中正面出现 次,正面的经验频率是:
如果一枚号称公平的硬币抛 次出现 次正面,,这还不足以断言硬币有问题,因为短期波动很常见。如果抛 次仍有约 的正面比例,公平模型就变得很可疑。
这两个方向要同时保留:模型帮助我们预测频率,频率也帮助我们检查模型。概率不是“看到一次结果后编一个解释”,而是一套可以被新数据反复检验的描述。
当样本空间中每个基本结果都同样可能,而且一共有 个结果时,每个结果的概率都是 。如果事件 包含其中 个结果,那么:
这就是常说的“有利结果数除以总结果数”。它很容易用,也最容易被滥用。
掷一个公平六面骰,样本空间是:
事件 表示“点数大于 ”,所以 。六个点数被模型假定为等可能,于是:
这个三分之一不是因为“点数大于 ”听起来占了某种语言比例,而是因为六个同样可能的基本结果中,有两个落在事件里。
“明天下雨”和“明天不下雨”是两个结果,但不会因此自动各占 ;“球队赢”和“球队输”也是两个结果,但强队与弱队对阵时,两边机会通常不同。
再看两枚公平硬币。如果样本空间只写成:
这三个结果也不等可能。把背后的有序结果展开后,概率分别是:
“有几类结果”与“每类结果机会相同”是两件事。只有等可能经过了结构、机制或数据上的合理说明,才能直接数结果。
题目:掷两个公平六面骰。点数和可能是 到 ,一共 个数。点数和为 的概率是不是 ?
先找真正等可能的基本结果。两个骰子可以区分时,结果写成有序对 ,每个骰子各有 种点数,因此一共有 个等可能结果。
再列出点数和为 的结果:,一共有 个。
这道题也提前透露了下一节为什么要学计数:概率公式可能只有一行,真正费脑筋的是找出那些等可能的基本结果,并把路径数对。
现实里经常没有对称骰子,也没有事先写好的概率。假设一家咖啡店记录了过去 个相似工作日的早高峰,其中有 天出现“排队超过 分钟”。最直接的经验估计是:
这并不表示下一次一定有 的时间在排队,也不表示每逢十天就固定三天超时。它表示:在这批历史记录的定义和条件下,事件出现的比例是 ,我们暂时用它估计相似情境下的概率。
“相似情境”很关键。周末和工作日可能不同,促销日和平日可能不同,店员人数变化也会改变等待时间。如果数据混在一起,经验概率只是一个粗略平均。概率估计从来不只需要除法,还需要检查数据是否真的对应当前问题。
概率规则其实都在回答事件之间怎样组合。“或”通常把区域合起来,“且”寻找共同部分。先看集合关系,公式会比死记容易得多。
两个事件互斥,意思是它们不能在同一次实验中同时发生。掷一次骰子时:
一次掷骰不可能既是 又是 ,所以 与 互斥。事件“点数为 或 ”的概率可以直接相加:
对公平骰子来说:
这里能直接相加,是因为两个事件没有重叠区域。
从一副 张的普通扑克牌里随机抽一张。设:
红桃 A 和方块 A 同时属于两个事件。如果直接算 ,这两张牌会各被数两次。所以:
代入数量:
这条加法规则背后的直觉只有一句:先把两块区域都加进来,再把重叠部分多算的那一次拿掉。
现在连续抛两次公平硬币。设 表示“第一次正面”, 表示“第二次正面”。知道第一次的结果,不会给第二次提供有用信息;两次抛掷彼此独立。
可以把很多次重复实验想象成两层筛选:大约一半实验先通过“第一次正面”,在这部分里又大约一半通过“第二次正面”。所以同时通过两层的比例约是:
对独立事件 和 ,乘法规则是:
乘法不能只因为题目出现“且”就使用。这里能乘,是因为独立。等我们学习条件概率时,会正式处理“前一个条件会改变后一个机会”的情形;在那之前,先把“相乘需要独立”牢牢记住。
这两个词最容易在入门阶段搅在一起。
掷一次骰子,“点数为 ”与“点数为 ”互斥。但它们绝不独立:一旦知道点数为 ,点数为 的可能性立刻变成 。
连续抛两次硬币,“第一次正面”与“第二次正面”独立,却不互斥,因为“正正”会让两件事同时发生。
如果两个事件概率都大于 ,它们又互斥,那么它们不可能独立。理由很直接:
但如果独立,本应有:
两边矛盾。
“互不影响”不等于“不能同时发生”。前者是独立,后者是互斥。互斥的非零概率事件恰恰会强烈影响彼此:一个发生,就把另一个排除了。
题目:掷一个公平六面骰,再抛一枚公平硬币。求“骰子点数为偶数且硬币为正面”的概率。
事件 是“骰子点数为偶数”,包含 ,所以 。
公平硬币正面的概率是 。这句话到底承诺了什么?它不承诺抛两次必然一正一反,也不承诺抛十次必然五次正面。你完全可能一开始连出五次正面。
更准确的意思是:如果在相同机制下独立重复很多次,正面出现的累计比例通常会越来越靠近 。
设前 次抛掷中正面出现 次,累计正面比例是:
大数定律描述的是:当 越来越大时, 偏离真实概率 很多的可能性会越来越小。对公平硬币,。
先点几次“抛 次”。第一次之后,正面比例只能是 或 ,离 都很远;再点“抛 次”,曲线仍可能明显偏向一边;累计到几百或几千次后,曲线通常更靠近 。
这里有一个很容易忽略的机制:当已经抛了 次时,新的一次结果只占总量的 ,所以它很难让累计比例大幅跳动。曲线变稳,并不是硬币开始有记忆,而是每个新结果在庞大累计数据里的分量变小了。
假设前 次有 次正面,比例正好是 。第 次如果出现正面,新比例变成:
它反而暂时离 更远了。这不违反大数定律,因为大数定律从未保证比例会单调靠近,也没有规定从第几次起就必须待在某个范围内。
还有一个反直觉点:比例误差缩小,不等于正反面次数差一定缩小。
假设抛 次得到 次正面,正反面相差 次,正面比例是 。后来抛到 次,得到 次正面,正反面相差 次,次数差变大了,但正面比例已经是 ,反而更接近 。
大数定律控制的是长期平均或比例,不是要求两类结果的绝对次数差自动回到零。
一枚公平硬币已经连续六次正面。第七次反面的概率是多少?仍然是:
很多人会觉得“反面该来了”,仿佛随机过程欠下六次反面,之后必须补账。这就是赌徒谬误。过去的连串结果可以让整个序列显得少见,却不会改变下一次独立抛掷的机会。
要把两个问题分开:
第一个问题评价整段尚未发生的序列;第二个问题只评价一次新的独立抛掷。已知信息不同,问题也不同。
大数定律说的是“重复次数很多时,累计比例更可靠”,不是“下一次会修复前面的不均衡”。硬币没有账本,骰子也不知道自己刚才连续出了什么。
看到六次正面,不该自动说“下一次更可能反面”;但这不等于我们永远不能怀疑硬币。
如果“硬币公平、每次独立”只是一个待检验的模型,那么越来越多极端数据会让这个模型显得不可信。连续六次正面可能只是巧合,连续六百次正面几乎一定会让人检查硬币、抛法或记录系统。
这不是赌徒谬误。赌徒谬误是在仍然接受公平独立模型时,错误地认为未来会补偿过去;模型检查则是在问:现有证据是否已经强到足以否定“公平独立”这个前提。一个是在模型内部算错了,另一个是在用数据评估模型本身。
有些概率可以精确算出,有些问题的样本空间太大,直接计数很麻烦。模拟的思路很朴素:先规定一个能代表现实的随机模型,让计算机按这个模型重复许多次,再用事件出现的比例估计概率。
一次完整模拟通常有五步。
明确随机实验和目标事件。要估计的是“两个骰子的和至少为 ”,还是“未来一小时排队超过 分钟”?事件必须可以从一次模拟结果中判断真或假。
写出生成结果的规则。公平骰子可以等概率生成 到 ;排队模型则需要顾客到达间隔、服务时长和服务窗口数量等假设。
题目:估计掷两个公平六面骰时,点数和至少为 的概率。
一种模拟流程如下:
每轮独立生成两个 到 的整数,分别代表两枚公平骰子的点数。
把两个点数相加。如果和为 或 ,就把这一轮记为“命中”;否则记为“未命中”。
模拟 次和 次,后者通常更稳定。粗略地说,想把典型的随机波动缩小到原来的一半,往往要把模拟次数增加到约四倍。因为精度提升与重复次数的平方根有关,不是次数翻倍、误差就直接减半。
不过,模拟次数再多也救不了一个错误模型。如果把一个明显偏重的骰子仍然写成六面等概率,运行十亿次只会非常精确地得到错误模型的答案。
所以模拟有两类误差要分开:
精确推导告诉我们某个结论为什么必然成立;模拟告诉我们这个结论在重复实验中长什么样。刚学概率时,模拟特别适合处理反直觉问题:连续结果会不会很常见、长期比例怎样摆动、一个看似公平的策略是否隐藏了罕见的大损失。
如果模拟与精确答案不一致,先不要挑一个自己喜欢的。检查样本空间、随机生成规则、事件判定和代码是否都对应同一个问题。模拟最大的价值之一,就是逼着我们把模型说得足够明确。
硬币很适合用长期频率理解,可现实里有些事件无法原样重复。明天只有一次,一场即将开始的比赛也只会得到一个结果。我们仍然可以给出概率,但必须说明它依赖什么信息。
“明天降雨概率为 ”不是说:
更稳妥的读法是:针对预报规定的地点和时间段,在当前观测资料、模型与历史经验下,出现预报所定义降水事件的可能性约为 。 地点、时段和“降雨”的判定标准如果变了,讨论的事件也就变了。
明天最终只会下雨或不下雨。即使最后没下,也不能只凭这一次就说 的预报错了。概率预报要靠一批相似预测来检查。
假设预报系统在许多天里都给出接近 的降雨概率。把这些天放在一起,如果其中约三成真的出现了规定的降雨事件,我们会说这组预报校准得较好。
如果“报 ”的日子实际上有七成下雨,系统长期低估了风险;如果只有百分之几下雨,系统又长期高估了风险。校准不要求每一组恰好命中一个整数比例,但随着样本增加,实际频率应当与所报概率大致匹配。
这也适用于医生对风险的判断、设备故障预警和比赛预测。一个人偶尔猜中高概率事件并不能证明判断可靠;真正可靠的概率判断,要在许多同类问题上经得起频率对账。
当可重复数据很少时,人们会根据已有信息给单次事件分配概率。这种概率带有判断成分,但并不等于“我感觉差不多”。一个像样的主观概率至少要满足三点:
例如你根据乌云、雷达和天气预报判断“今晚下雨概率为 ”。后来看到降雨带转向,概率下降到 ,这种变化有信息依据。反过来,如果结果发生后才说“我早就有 把握”,却从不保留事前判断,那就无法校准,也无法学习。
同样是 的下雨概率,不同人可能做出不同选择。步行五分钟的人也许不带伞,要在户外工作两小时的人可能一定带伞。差异不一定来自谁把概率算错了,而可能来自后果不同。
概率回答“有多可能”,决策还要问“发生了会损失什么”“预防要付出什么代价”。这门课后面会逐渐把概率、期望与决策接起来。现在先保留这个界限:高概率不是保证,低概率也不是可以无视。
遇到新的概率题,可以按下面的顺序检查。
先写随机实验。明确一次实验从哪里开始、到哪里结束,以及记录哪些信息。
再写样本空间。检查顺序、身份、位置是否需要区分,避免把多条路径提前合并。
把题目的自然语言翻译成事件。特别留意“至少”“至多”“恰好”“不”“或”“且”。
说明概率从哪里来。是等可能模型、历史频率、机制模型,还是在当前信息下的判断?
一个袋子里有红、蓝、绿三种颜色的球。随机抽一个球,只记录颜色。写出样本空间,并写出事件 :“没有抽到红球”。
某游戏给三个互斥结果分配概率 。这是一份合法的概率模型吗?
连续抛两次公平硬币,只记录正面出现次数。有人说:“可能是 次,所以每种情况的概率都是 。”错在哪里?
连续抛三次公平硬币。求“至少出现一次正面”的概率。
掷一次公平六面骰。事件 是“点数为偶数”,事件 是“点数大于 ”。它们互斥吗?能否仅凭“都是掷同一个骰子”就说它们不独立?
从一副 张普通扑克牌中随机抽一张。求“抽到黑牌或抽到 K”的概率。
一枚公平硬币已经连续出现 次正面。判断下面两句话。
某人模拟掷两个公平骰子 次,得到“点数和为 ”出现 次。他说真实概率就是 。这个说法有什么问题?
某预报系统在 个“降雨概率约为 ”的日子里,有 天实际下雨。你会怎样评价它?
一家咖啡店根据过去一年的全部记录,估计“等待超过 分钟”的概率为 。现在店里少了一名员工,而且正在做大型促销。能否直接把当前概率仍写成 ?
到这里,我们已经有了一套完整的概率语言:随机实验产生结果,全部结果组成样本空间,事件从中圈出我们关心的部分,概率模型再给这些结果分配重量。我们也知道了概率必须非负、总量必须为 ,补事件如何简化计算,以及互斥与独立为什么完全不同。
更重要的是,我们没有把大数定律误写成“短期必须平衡”。长期频率能帮助我们解释和估计概率,模拟能让复杂随机过程重复运行,但两者都依赖模型前提。模型设错,重复再多也不会自动变对。
下一步会遇到一个很实际的困难:当等可能结果很多时,怎样保证分子和分母都数对?两步选择为什么相乘,互不重叠的方案为什么相加,顺序重要和不重要时又该怎样区分?这正是计数、排列与组合要解决的问题。
样本空间是 。
事件里的“或”包括“只有硬币正面”“只有绿卡”和“两者都发生”。因此 。
最后回到自然语言检查。六个结果没有遗漏, 中所有结果都满足“硬币为正面或抽到绿卡”,而“正绿”只写一次。
因此点数和为 的概率是:
错在把 这 个“和”当成等可能结果。点数和为 有六条路径,点数和为 只有 一条路径,它们当然不该得到相同概率。
事件 是“硬币为正面”,所以 。
掷骰结果不会改变硬币的正反面机会,两个随机过程独立,因此可以使用独立乘法规则。
也可以列出 个等可能的“点数—硬币”组合,其中 三个符合,得到 。两种方法互相核对。
独立重复 次。每次都记录目标事件是否发生,发生记作 ,没有发生记作 。
如果事件发生了 次,就用 作为模拟概率。
增加模拟次数或换一个随机种子再运行,检查估计是否稳定;同时回头审查模型假设,而不是只盯着最后的小数。
重复 轮。假设某次运行命中 次,那么模拟估计是:
这不是宣称真实概率精确等于 。换一次运行可能得到 或 。模拟结果本身也有随机波动。
这个例子还能精确核对。满足条件的有序结果共有 个,因此理论概率是 ,模拟值应该在它附近摆动。
判断事件关系。是互斥、重叠还是独立?不要只看题目用了“或”还是“且”。
选择直接计数、补事件、加法、独立乘法或模拟,并在算完后检查结果是否位于 与 之间。
最后把数字翻译回情境。概率是长期频率、模型预测还是单次风险判断?不要让一个小数脱离问题独自存在。
所以:
而:
两者不相等,所以这里确实不独立。但结论来自概率关系,不是因为它们都描述同一个骰子。有些来自同一次抽取的事件也可能独立,例如一张牌的花色是否为红桃与点数是否为 A 可以在合适样本空间中满足独立关系。
次模拟得到 并不离奇。增加模拟次数后,经验比例通常会更靠近 。