我们从抛硬币猜正反的游戏为例,这是典型的离散型分布场景。假设你猜正面,抛到正面赢 2 元,抛到反面输 1 元,定义随机变量 表示每次游戏的获奖金额。由于硬币正反面概率均为 0.5,该分布的原始信息为: (正面赢 2 元), (反面输 1 元)。
玩这个游戏时,你会关心两个核心问题:长期平均每次能赢多少钱,是否会一直输?每次收益波动大不大,是否会因结果起伏导致心里没底?但仅靠 和 这两个概率,无法直接解答。此时需要期望和方差两个概念:前者可量化长期平均收益,帮你判断游戏是否值得玩;后者可衡量收益波动程度,帮你判断结果是否可控。
期望
期望是所有结果按概率加权的平均,对应长期平均收益。假设离散型随机变量 的可能取值为 ,对应概率为 ,则期望为所有取值与对应概率乘积的和:
回到抛硬币游戏,已知 的可能取值为 元(概率 )和 元(概率 ),将数值代入上述公式计算:
该结果表明,长期玩此游戏平均每次赢 0.5 元,如玩 100 次约赢 50 元,可判断游戏整体盈利。
方差
方差是结果与期望偏离程度的平均,用于衡量波动。离散型随机变量的方差即取值与期望偏离平方的期望,具体公式为:
通过一些简单的推导,我们也可以将方差表示为以下简化计算式:
其中 为随机变量取值平方的期望。
回到抛硬币游戏,我们已经计算出期望 元。根据方差的定义式,可以得到
方差 说明每次收益与期望 0.5 元的差距较大,波动不算小,需做好结果起伏的心理准备。
常见离散型分布的均值与方差
通过抛硬币游戏,我们掌握了均值和方差的通用计算逻辑,接下来可直接应用于常见离散型分布。以下表格整理了伯努利分布、二项分布、类别分布、多项分布和泊松分布的期望和方差。
|
|
|
|
|---|---|---|
|
|
||
|
|
||
|
|
||
|
|
||
|
|
在 Python 中计算伯努利分布、二项分布、多项分布和泊松分布的期望与方差,核心依赖scipy.stats库的封装方法。使用整体流程为:先指定分布的核心参数,通过库中对应分布类实例化,再调用mean()方法获取期望、var()方法获取方差,直接得到结果。以下是计算二项分布的期望和方差的代码示例:
from scipy import stats
n, p = 20, 0.4
bin_dist = stats.binom(n, p) # 实例化二项分布
bin_mean = bin_dist.mean() # 计算期望(理论值=20×0.4=8)
bin_var = bin_dist.var() # 计算方差(理论值=20×0.4×0.6=4.8)
print(f"二项分布(n={n}, p={p})-期望:{bin_mean:.2f},方差:{bin_var:.2f}")

