本节摘要:数学期望 E(X)=Σxₖpₖ(离散)或 ∫xf(x)dx(连续)是随机变量的加权平均,权重即概率——它是长期重复下的平均收益,也是"公平定价"的基准。本节用保险定价与圣彼得堡悖论两个案例建立期望的频率直觉,讲清随机变量函数的期望计算与"期望≠最可能结果"的关键区分。
一份一年期意外险,保费 300 元,出险概率 0.2%,出险赔付 10 万元。保险公司对每张保单的期望支出 = 0.002 × 100000 = 200 元,收 300 元,期望毛利 100 元/张。卖出十万张,总期望毛利一千万元——而实际总赔付会在期望附近以极小相对偏差波动(第 5 章大数定律给出保证)。保险不是赌运气,是按期望定价、靠大数收敛锁利,这与第 1 章赌场的优势率逻辑完全同构。期望就是这门生意的定价公式:
E(X) = Σ xₖ·P(X=xₖ)(离散),E(X) = ∫ x·f(x)dx(连续)。直觉:以概率为权重的加权平均;频率解释:重复极多次后的平均每局收益。
用 2.1 节那颗骰子的价目表手算并模拟验证:
import numpy as np vals = np.array([-15, 10, 20]) probs = np.array([3/6, 2/6, 1/6]) EX = (vals * probs).sum() print("手算期望 E(X) =", EX) # -15*0.5+10*(1/3)+20*(1/6) = -0.8333 rng = np.random.default_rng(42) n = 1_000_000 samples = rng.choice(vals, size=n, p=probs) print("模拟均值 =", round(samples.mean(), 4)) # 收敛到 -0.833 附近 # 前 k 局的平均收益轨迹:观察长期收敛的粗糙过程 cum_avg = np.cumsum(rng.choice(vals, size=10000, p=probs)) / np.arange(1, 10001) print("前 100 局平均 %.3f → 前 10000 局平均 %.3f" % (cum_avg[99], cum_avg[-1]))
模拟均值与手算期望对齐。注意这个赌局每局期望 −0.83 元——期望直接告诉你这注不该下。前 100 局的平均可能剧烈偏离,一万局后贴近期望,这就是"长期平均"四字的可视化含义。
18 世纪的赌局:掷硬币直到首次正面,若首次正面出现在第 k 次则赢 2ᵏ 元。期望 = Σ 2ᵏ·(1/2ᵏ) = 1+1+1+… = 无穷大。期望无穷的赌局,理性的入场费该是多少钱?实验证明没人肯付超过几十元。期望定价在厚尾分布下失灵,因为期望被极小概率的巨额收益绑架,而人类(以及有限资金的赌场)承受不起那极小概率兑现前的漫长亏损期。这个悖论催生了效用函数与风险厌恶理论——也是"单看期望做决策不够"的历史性一课。
import numpy as np rng = np.random.default_rng(7) # 模拟圣彼得堡赌局:几何分布的首次成功次数 k,收益 2^k k = rng.geometric(0.5, size=100_000) pay = 2.0 ** k print("模拟中位数收益 %6.1f 元" % np.median(pay)) # 典型只有 2-4 元 print("模拟平均收益 %10.1f 元" % pay.mean()) # 被极少数巨尾抬到数千元 print("最大的 5 笔收益", np.sort(pay)[-5:]) # 偶见 2^20 级别的天文数字 print("收益超过 1024 元的比例 %.4f" % (pay > 1024).mean()) # 约 0.0005
典型一局只赢 2–4 元,均值却可能被一两笔 2²⁰ 撑到数万元——中位数与期望的巨大裂缝就是悖论所在。做决策时两者都要看,这正是后续风险度量的动机。
已知 X 的分布,要求 Y=g(X) 的期望,不必先求 Y 的分布律,直接用 E(g(X)) = Σ g(xₖ)pₖ。这个"惰性法则"(Law of the unconscious statistician)省掉一次分布变换。接保险例子:赔付条款带免赔额——损失 X 以下自担,超过部分才赔,赔付函数是分段函数 g(x)=max(x−500, 0):
import numpy as np from scipy import stats rng = np.random.default_rng(2024) # 损失额建模为对数正态:典型财产险做法 loss = rng.lognormal(mean=6.0, sigma=0.9, size=1_000_000) payout = np.maximum(loss - 500, 0) # 免赔额 500 之上的赔付函数 print("平均损失 %.1f 平均赔付 %.1f 赔付打折率 %.1f%%" % (loss.mean(), payout.mean(), 100*payout.mean()/loss.mean()))
免赔额条款把期望赔付砍掉一大截(具体比例取决于分布形状),但投保人的大量小额损失转为自担——定价师每天都在用 E(g(X)) 评估条款设计。这里没求过赔付分布,只对样本套了函数再平均,模拟版的惰性法则同样成立。
⚠️ 常见坑:期望存在是有条件的——柯西分布的期望不存在(对称但积分不绝对收敛),对厚尾随机量直接谈均值可能被尾部绑架。模拟时若发现均值随样本量剧烈漂移且不收敛,先怀疑厚尾。
再补一个高频应用:期望的线性性。E(X+Y) = E(X) + E(Y) 无条件成立——不要求独立。这条性质威力巨大:抽奖池总额是每注期望的简单加总,流水线总成本是各工位期望之和,都不需要知道工位之间是否联动。但注意方差没有这种待遇(除非协方差为零),期望线性、方差非线性的不对称是第 3.3 节组合公式的前奏:
import numpy as np rng = np.random.default_rng(303) n = 500_000 # 构造强依赖: X 与 Y=2X-噪声 X = rng.normal(10, 2, n) Y = 2*X + rng.normal(0, 1, n) print("E(X)+E(Y) = %.3f E(X+Y) = %.3f <- 期望线性 恒成立" % (X.mean()+Y.mean(), (X+Y).mean())) print("Var(X)+Var(Y) = %.3f Var(X+Y) = %.3f <- 方差不线性" % (X.var()+Y.var(), (X+Y).var()))
期望相加严丝合缝、方差相加差出一段(正是协方差项)——线性性与非线性的对照一次看清。