先问您一个问题:以下情境有什么共同点?统计网站点击次数、跟踪不良品数量、分析客户购买行为。它们都涉及 可计数的结果 ,这正是 离散概率分布 的基础。
离散概率分布是我们用来建模结果可以被 枚举 的情境的工具,比如 0、1、2、3 位客户,正反面、成功或失败等。不同于处理身高或温度等可测量量的连续分布,离散分布关注可计数的事件。
作为动机,下面是这些分布在各行业中的一些应用示例:
Netflix 使用 类别分布 进行推荐
银行依赖 二项模型 进行信用风险评估
制造商在质量控制抽样中应用 超几何分布 。
在本文中,我将涵盖掌握离散概率分布所需的理论基础、实际应用以及上手示例。读完后,您将对其有扎实的概念理解与实操能力,能够有效建模现实世界的现象。
什么是离散概率分布?
前面我已简要提到过这类分布的含义,现在我们深入一点。本质上,离散概率分布就是为一组可计数的结果分配概率。结果可以是 0、1、2、3… 这样的数,也可以是“红、蓝、绿”这样的类别。
形式上,若我们有离散随机变量 X,则其分布由 概率质量函数 (PMF) 定义。PMF 告诉我们每个可能结果的概率 p(x)=P(X=x) 。
然而,要使其成为有效的离散概率分布,需要满足两条关键规则:
对所有 x,p(x) >= 0
对所有 x,∑p(x)=1
我们来解释一下。第一条说明 所有结果的概率都必须大于等于 0 ,因为负概率没有意义!第二条说明 所有事件概率之和必须等于 1 。有一些方法可以确保这个条件成立,比如对一个分布应用 softmax 函数 ,将其规范为有效的概率分布。
一个经典示例是掷一枚公平的六面骰子。 每一面出现的概率都是 1/6 ,将全部六个概率相加,得到 1。
这里您可能会问:
这为什么重要?
因为离散分布为我们提供了结构化的方式来回答实际问题,例如:
“掷硬币 5 次得到 3 次正面的概率是多少?”
“一批次中预期有多少不良品?”
“今天至少有一位顾客购买的可能性有多大?”
请注意 ,这些并非我随意编造的抽象数学问题!它们直接关联到业务指标、风险模型与产品表现。
离散分布 vs. 连续分布
此时,您可能还有一个问题:
离散分布与连续分布有何不同?
简而言之:离散分布处理 计数 ,连续分布处理 测量 。
在离散分布中,我们讨论精确概率:P(X=2),即“恰好看到两位顾客的概率是多少?”
在连续分布中, 任意精确点的概率为零 (这一点非常重要!)。因此我们讨论区间,如 P(160≤X≤170),即“一个人的身高在 160cm 到 170cm 之间的概率是多少?”
还可以这样形象地理解:
离散分布看起来像 阶梯函数 。可以把它想成每个计数对应一根概率柱的柱状图。
连续分布看起来像 平滑曲线 ,如正态分布的钟形曲线。
另一个很好的后续问题是:
何时用哪一种?
离散: 当结果是计数或类别时,如点击次数、获胜次数、有缺陷 vs. 无缺陷等。
连续: 当结果是在尺度上测量的,如身高、体重、温度、时间等。
数学基础与理论框架
在正式介绍各类 离散概率分布 之前,我需要先讲一些有助于全面理解各分布的重要数学概念。
概率质量函数(PMF)
PMF 告诉我们离散随机变量 X 可以取到的每个精确值的概率。
我们之前提到的条件正是 PMF 合法性的依据:
对所有 x,p(x) >= 0
对所有 x,∑p(x)=1
总之, PMF 对计算 均值、方差与矩 非常有用。我们一起做个快速示例:
设 X∈{0,1,2,3},且 p(0)=0.1,p(1)=0.2,p(2)=0.3,p(3)=0.4。先求 均值(期望) 。按如下计算:
E[X]=0*(0.1)+1*(0.2)+2*(0.3)+3*(0.4)=2.0 。这很合理,因为我们将每个可能结果的取值与其对应概率相乘后求和,得到 期望值 。继续可求第二阶矩 E[ X 2 ] :
E[X^2]=0+1(0.2)+4(0.3)+9(0.4)=5.0
据此,我们可以计算方差,按如下公式: Var(X) = E[ X 2 ] - ( E[X]) 2
因此:
Var(X)=5.0−2.0^2=1.0
累积分布函数(CDF)
接下来谈 CDF,它是一个将概率累加到某个 阈值以内 的函数。对于离散概率分布,由于其离散性,CDF 将呈现 阶梯函数 的形态。为清晰起见,连续分布的 CDF 则是平滑的连续函数(类似于 S 型函数 )。
其数学表达为: F X (x)=P(X≤x)= ∑ {k<=x} p X (k) 。为确保完全清楚,我们一起做个示例:
设 X 取值 0、1、2、3,对应概率为:
P(X=0)=0.1
P(X=1)=0.2
P(X=2)=0.3
P(X=3)=0.4
要求 CDF,只需设定阈值并将 不超过该阈值 的结果对应概率相加。例如, F(x < 3) =0.1 + 0.2 +0.3 = 0.6 (等价于 F(2) = 0.6)。显然,对于连续分布,CDF 将通过 积分 而非 求和 得到。
矩(Moments)
另一个重要的数学对象是 矩母函数(MGF) ,但在此之前,需要先理解什么是 矩 。我之前已经提到过 矩 ,现在更深入一点。
矩是描述概率分布 形状 的数字。它们像摘要,刻画分布的中心位置、离散程度,甚至偏斜程度或“峰态”。矩有一阶、二阶、三阶等,每一阶传达不同信息。
例如, 一阶矩 告诉我们 分布的中心位置 ,也就是 期望值 ,也等同于 均值 。
形式上, 关于原点的 k 阶矩 定义为 E[ X k ]=∑ x k p X (x) 。
关于各阶矩的更多信息:
一阶矩: E[X] → 均值 ,表示中心位置
二阶矩: E[X^2] → 还不是方差,但与离散程度相关
三阶矩: E[X3] → 与 偏度 相关(分布向左或向右倾斜)
四阶矩: E[X4] → 与 峰度 相关(尾部厚度或尖峰程度)
还可以有五阶、六阶等,但通常不再使用,因为信息增益有限。
中心矩
请注意,有时我们不是围绕 0,而是围绕均值 来度量矩。
这称为 中心矩 ,其公式为:
μ k =E[(X−E[X] ) k ]
一阶中心矩: 恒为 0(因为 X−E[X] 的平均为 0)
二阶中心矩: 即方差 Var(X)
三阶中心矩: 度量偏度
四阶中心矩: 度量峰度
矩母函数(MGF)
MGF 是一个将随机变量的 所有矩 编码到一个紧凑公式中的函数:
M X (t)=E[ e tX ]=∑ e tx p X (x) ,其中 p(x) 为 X 的 PMF。
该函数有用之处在于,它能 方便地求取各阶矩 。例如,均值可由 t=0 处的一阶导数给出: M′ₓ(0) = E[X]。
类似地,二阶矩可由 t=0 处的二阶导数得到: M″ₓ(0) = E[X²]。
据此,我们可以计算 方差 : Var(X) = M″ₓ(0) − (M′ₓ(0))²。
MGF 的另一强大之处在于, 求和易于分析 。若 X 与 Y 相互独立,则 其和的 MGF 等于各自 MGF 的乘积 : M₍ₓ₊ᵧ₎(t) = Mₓ(t) · Mᵧ(t)。
最后,MGF 还可用于 刻画分布 。即若两个随机变量在 0 附近有相同的 MGF,则它们服从相同的分布。
主要的离散概率分布类型
下面来介绍我们可能遇到的不同离散概率分布。
伯努利分布
这是最简单的模型,只有 一次试验 且 只有两种结果 ——成功(记为 1)或失败(记为 0)。当我们记录单个二元事件时使用它,例如邮件是否被打开、传感器是否触发、测试是否通过、垃圾邮件分类等。
重要的是,它还是许多其他分布的构建基石。
PMF:
P(X = x) = pˣ (1 − p ) (1−x) ,x ∈ {0, 1}
均值与方差: E[X] = p, Var(X) = p(1 − p)。
示例: 假设我们玩一款“赢/输”游戏。若胜率 p = 0.6,则: P(X = 1) = 0.6, P(X = 0) = 0.4。 均值 = 0.6,方差 = 0.6 × 0.4 = 0.24
对应的代码为:
from scipy. stats import bernoulli
p = 0.6
rv = bernoulli( p)
P1 = rv. pmf( 1 )
P0 = rv. pmf( 0 ) 技术支持
二项分布
当我们需要对 重复的、相互独立的“是/否”试验 进行建模,且每次试验具有 相同的成功概率 p 时,使用该分布。我们将试验进行 n 次 ,并 统计成功的次数 。常见问题如“n 位用户中有多少转化?”、“n 个零件中有多少合格?”等。
我希望您记住该分布的几个关键假设:
每次试验的成功概率(p)相同
试验次数固定(n)
各次试验相互独立
PMF: P(X = x) = C(n, x) · pˣ · (1 − p)ⁿ⁻ˣ, x ∈ {0, 1, …, n},其中 C 为组合数
均值与方差: E[X] = n·p, Var(X) = n·p·(1 − p)
示例: 令 n = 10,p = 0.3。 P(X = 4) = C(10, 4) · 0.3⁴ · 0.7⁶ ≈ 0.2001。 E[X] = 3, Var(X) = 2.1
对应的代码为:
from scipy. stats import binom
n, p, x = 10 , 0.3 , 4
rv = binom( n, p)
pmf = rv. pmf( x) 技术支持
几何分布
该分布刻画“直到首次成功所需的试验次数”,当每次试验以概率 p 成功时使用。它回答“要尝试多少次才会成功?”(首次点击、首次购买)之类的问题。它具有 无记忆性 :过去的失败不会改变未来。
所谓 无记忆性 ,即过去不影响未来,意味着未来结果的概率与从头开始相同。只有 几何分布 与 指数分布 具有该性质。
PMF: P(X = k) = (1 − p)^(k−1) · p, k ∈ {1, 2, …}
均值与方差: E[X] = 1/p, Var(X) = (1 − p)/p²
示例: 令 p = 0.2。 P(X = 3) = (0.8)² · 0.2 = 0.128。 E[X] = 5, Var(X) = 20。
对应的代码为:
from scipy. stats import geom
p, k = 0.2 , 3
rv = geom( p)
pmf = rv. pmf( k) 技术支持
泊松分布
该模型用于在固定区间内计数事件,当事件以平均 固定 速率 λ 且相互 独立 地发生时。常用于每小时工单数、每千次请求的错误数、每分钟呼叫数等——“稀有但稳定”的事件。
该分布的一个有趣性质是其均值等于方差。
PMF: P(X = x) = e^(−λ) · λˣ / x!, x ∈ {0, 1, 2, …}
均值与方差: E[X] = λ, Var(X) = λ
示例: 令 λ = 3,表示呼叫中心每小时平均来电数为 3。 P(X = 0) = e^(−3) ≈ 0.0498 P(X ≤ 2) = e^(−3) · (1 + 3 + 9/2) ≈ 0.4232
对应的代码为:
from scipy. stats import poisson
lam = 3
rv = poisson( mu= lam)
P0 = rv. pmf( 0 ) 技术支持
进阶分布类型与扩展
现在,我们来介绍一些更 高级的 离散概率分布。
超几何分布
该分布刻画从一个 有限总体 中 不放回抽样 的过程。从 N 个样本中有 K 个“成功”(如不良品),我们抽取 n 个,并统计成功的个数。适用于小批量质量控制、抽牌,或任何在每次抽取后概率发生变化的有限样本池。
PMF: P(X = x) = [C(K, x) · C(N − K, n − x)] / C(N, n),其中 x 的范围为 max(0, n − (N − K)) 到 min(n, K)。
均值与方差: E[X] = n·(K/N), Var(X) = n·(K/N)·(1 − K/N)·((N − n)/(N − 1))
示例: 设 N = 100,K = 8 个不良品,n = 10,则至少抽到一个不良品的概率: P(X ≥ 1) = 1 − C(92, 10)/C(100, 10) ≈ 0.5834
对应的代码为:
from scipy. stats import hypergeom
N, K, n = 100 , 8 , 10
rv = hypergeom( M= N, n= K, N= n)
answer = 1 - rv. pmf( 0 ) 技术支持
类别分布
这是单次选择的一种 多类别版本 :一次试验,恰有 k 个类别中的一个发生。我们 用于多分类标签 (如 {猫、狗、鸟})或任何“在 k 个中选一个”的事件。它是 多分类 分类 目标 的构建基石。
PMF: P(X = i) = pᵢ, i ∈ {1, …, k}, ∑ᵢ₌₁ᵏ pᵢ = 1
均值与方差(独热编码视角): 若将结果编码为独热向量 Y ∈ {e₁, …, eₖ},则 E[Y] = p,且 Cov(Y) = diag(p) − p·pᵀ。
示例: 令类别 = {A, B, C},p = (0.5, 0.3, 0.2)。 P(X = B) = 0.3。 若以独热存储,均值标签向量为 [0.5, 0.3, 0.2]。
对应的代码为:
import numpy as np
from scipy. stats import rv_discrete
classes = np. array( [ "A" , "B" , "C" ] )
p = np. array( [ 0.5 , 0.3 , 0.2 ] )
rv = rv_discrete( values= ( np. arange( len ( p) ) , p) )
P_B = rv. pmf( 1 ) 技术支持
离散均匀分布
该分布很简单:区间内所有整数等可能。用于随机整数生成、洗牌与“无偏好”的基线。
PMF: P(X = x) = 1 / (b − a + 1), x ∈ {a, …, b}
均值与方差: E[X] = (a + b)/2 Var(X) = ((b − a + 1)² − 1)/12
示例: 假设我们要在 10 到 15 之间均匀地选取一个整数。因此每个数的概率均为 1/6。 均值 = (10 + 15)/2 = 12.5 方差 = (6² − 1)/12 = 35/12 ≈ 2.9167
对应的代码为:
import numpy as np
from scipy. stats import randint
a, b = 10 , 15
rv = randint( low= a, high= b+ 1 )
xs = np. arange( a, b+ 1 )
pmfs = rv. pmf( xs) 技术支持
负二项分布
该分布刻画为达到 r 次成功 需要的 试验次数 ,其中每次试验 相互独立 且具有 相同的成功概率 p。它实际上是几何分布的自然推广(r = 1 是其特例)。当我们关心第 r 次成功发生在何时使用它。示例包括“第几位顾客会产生我们的第 3 笔购买?”、“要打多少个电话才能达成 5 笔交易?”等。
PMF: P(X = k) = C(k−1, r−1) · pʳ · (1 − p)^(k−r), k = r, r+1, r+2, …
均值与方差: E[X] = r/p Var(X) = r·(1 − p)/p²
示例: 设每次试验成功概率 p = 0.3,目标是第 3 次成功(r = 3)。
第 3 次成功发生在第 k = 7 次试验的概率: P(X = 7) = C(6, 2) · (0.3)³ · (0.7)⁴ = 15 × 0.027 × 0.2401 ≈ 0.09724。
对应的代码为:
from scipy. stats import nbinom
p, r, k = 0.3 , 3 , 7
rv_failures = nbinom( r, p)
P_X_eq_k = rv_failures. pmf( k - r) 技术支持
总结思考
总而言之, 离散概率分布 是 建模可计数结果 的中流砥柱,帮助我们量化从质量控制到机器学习中的各种不确定性。
我们已经学习了大量关于离散概率分布的内容。要更进一步,我强烈建议您 阅读我们的教程 《Python 中的概率分布》 ,并开始接触连续分布,如 高斯分布 与 指数分布 。
先问您一个问题:以下情境有什么共同点?统计网站点击次数、跟踪不良品数量、分析客户购买行为。它们都涉及可计数的结果,这正是离散概率分布的基础。
离散概率分布是我们用来建模结果可以被枚举的情境的工具,比如 0、1、2、3 位客户,正反面、成功或失败等。不同于处理身高或温度等可测量量的连续分布,离散分布关注可计数的事件。
作为动机,下面是这些分布在各行业中的一些应用示例:
在本文中,我将涵盖掌握离散概率分布所需的理论基础、实际应用以及上手示例。读完后,您将对其有扎实的概念理解与实操能力,能够有效建模现实世界的现象。
什么是离散概率分布?
前面我已简要提到过这类分布的含义,现在我们深入一点。本质上,离散概率分布就是为一组可计数的结果分配概率。结果可以是 0、1、2、3… 这样的数,也可以是“红、蓝、绿”这样的类别。
形式上,若我们有离散随机变量 X,则其分布由概率质量函数(PMF)定义。PMF 告诉我们每个可能结果的概率p(x)=P(X=x)。
然而,要使其成为有效的离散概率分布,需要满足两条关键规则:
我们来解释一下。第一条说明所有结果的概率都必须大于等于 0,因为负概率没有意义!第二条说明所有事件概率之和必须等于 1。有一些方法可以确保这个条件成立,比如对一个分布应用softmax 函数,将其规范为有效的概率分布。
一个经典示例是掷一枚公平的六面骰子。每一面出现的概率都是1/6,将全部六个概率相加,得到 1。
这里您可能会问:
这为什么重要?
因为离散分布为我们提供了结构化的方式来回答实际问题,例如:
请注意,这些并非我随意编造的抽象数学问题!它们直接关联到业务指标、风险模型与产品表现。
离散分布 vs. 连续分布
此时,您可能还有一个问题:
离散分布与连续分布有何不同?
简而言之:离散分布处理计数,连续分布处理测量。
还可以这样形象地理解:
另一个很好的后续问题是:
何时用哪一种?
数学基础与理论框架
在正式介绍各类离散概率分布之前,我需要先讲一些有助于全面理解各分布的重要数学概念。
概率质量函数(PMF)
PMF 告诉我们离散随机变量X可以取到的每个精确值的概率。
我们之前提到的条件正是 PMF 合法性的依据:
总之,PMF对计算均值、方差与矩非常有用。我们一起做个快速示例:
设 X∈{0,1,2,3},且 p(0)=0.1,p(1)=0.2,p(2)=0.3,p(3)=0.4。先求均值(期望)。按如下计算:
E[X]=0*(0.1)+1*(0.2)+2*(0.3)+3*(0.4)=2.0。这很合理,因为我们将每个可能结果的取值与其对应概率相乘后求和,得到期望值。继续可求第二阶矩E[X2]:
E[X^2]=0+1(0.2)+4(0.3)+9(0.4)=5.0
据此,我们可以计算方差,按如下公式:Var(X) = E[X2] - (E[X])2
因此:
Var(X)=5.0−2.0^2=1.0
累积分布函数(CDF)
接下来谈 CDF,它是一个将概率累加到某个阈值以内的函数。对于离散概率分布,由于其离散性,CDF 将呈现阶梯函数的形态。为清晰起见,连续分布的 CDF 则是平滑的连续函数(类似于S 型函数)。
其数学表达为:FX(x)=P(X≤x)=∑{k<=x}pX(k)。为确保完全清楚,我们一起做个示例:
设 X 取值 0、1、2、3,对应概率为:
要求 CDF,只需设定阈值并将不超过该阈值的结果对应概率相加。例如,F(x < 3) =0.1 + 0.2 +0.3 = 0.6(等价于 F(2) = 0.6)。显然,对于连续分布,CDF 将通过积分而非求和得到。
矩(Moments)
另一个重要的数学对象是矩母函数(MGF),但在此之前,需要先理解什么是矩。我之前已经提到过矩,现在更深入一点。
矩是描述概率分布形状的数字。它们像摘要,刻画分布的中心位置、离散程度,甚至偏斜程度或“峰态”。矩有一阶、二阶、三阶等,每一阶传达不同信息。
例如,一阶矩告诉我们分布的中心位置,也就是期望值,也等同于均值。
形式上,关于原点的 k 阶矩定义为E[Xk]=∑xk pX(x)。
关于各阶矩的更多信息:
还可以有五阶、六阶等,但通常不再使用,因为信息增益有限。
中心矩
请注意,有时我们不是围绕 0,而是围绕均值来度量矩。
这称为中心矩,其公式为:
μk=E[(X−E[X])k]
矩母函数(MGF)
MGF 是一个将随机变量的所有矩编码到一个紧凑公式中的函数:
MX(t)=E[etX]=∑etxpX(x),其中 p(x) 为 X 的 PMF。
该函数有用之处在于,它能方便地求取各阶矩。例如,均值可由 t=0 处的一阶导数给出:M′ₓ(0) = E[X]。
类似地,二阶矩可由 t=0 处的二阶导数得到:M″ₓ(0) = E[X²]。
据此,我们可以计算方差:Var(X) = M″ₓ(0) − (M′ₓ(0))²。
MGF 的另一强大之处在于,求和易于分析。若 X 与 Y 相互独立,则其和的 MGF 等于各自 MGF 的乘积: M₍ₓ₊ᵧ₎(t) = Mₓ(t) · Mᵧ(t)。
最后,MGF 还可用于刻画分布。即若两个随机变量在 0 附近有相同的 MGF,则它们服从相同的分布。
主要的离散概率分布类型
下面来介绍我们可能遇到的不同离散概率分布。
伯努利分布
这是最简单的模型,只有一次试验且只有两种结果——成功(记为 1)或失败(记为 0)。当我们记录单个二元事件时使用它,例如邮件是否被打开、传感器是否触发、测试是否通过、垃圾邮件分类等。
重要的是,它还是许多其他分布的构建基石。
PMF:
P(X = x) = pˣ (1 − p)(1−x) ,x ∈ {0, 1}
均值与方差:E[X] = p, Var(X) = p(1 − p)。
示例:假设我们玩一款“赢/输”游戏。若胜率 p = 0.6,则:P(X = 1) = 0.6, P(X = 0) = 0.4。均值 = 0.6,方差 = 0.6 × 0.4 = 0.24
对应的代码为:
二项分布
当我们需要对重复的、相互独立的“是/否”试验进行建模,且每次试验具有相同的成功概率 p时,使用该分布。我们将试验进行n 次,并统计成功的次数。常见问题如“n 位用户中有多少转化?”、“n 个零件中有多少合格?”等。
我希望您记住该分布的几个关键假设:
PMF:P(X = x) = C(n, x) · pˣ · (1 − p)ⁿ⁻ˣ, x ∈ {0, 1, …, n},其中 C 为组合数
均值与方差:E[X] = n·p, Var(X) = n·p·(1 − p)
示例:令 n = 10,p = 0.3。P(X = 4) = C(10, 4) · 0.3⁴ · 0.7⁶ ≈ 0.2001。E[X] = 3, Var(X) = 2.1
对应的代码为:
几何分布
该分布刻画“直到首次成功所需的试验次数”,当每次试验以概率 p 成功时使用。它回答“要尝试多少次才会成功?”(首次点击、首次购买)之类的问题。它具有无记忆性:过去的失败不会改变未来。
所谓无记忆性,即过去不影响未来,意味着未来结果的概率与从头开始相同。只有几何分布与指数分布具有该性质。
PMF:P(X = k) = (1 − p)^(k−1) · p, k ∈ {1, 2, …}
均值与方差:E[X] = 1/p, Var(X) = (1 − p)/p²
示例:令 p = 0.2。P(X = 3) = (0.8)² · 0.2 = 0.128。E[X] = 5, Var(X) = 20。
对应的代码为:
泊松分布
该模型用于在固定区间内计数事件,当事件以平均固定速率 λ 且相互独立地发生时。常用于每小时工单数、每千次请求的错误数、每分钟呼叫数等——“稀有但稳定”的事件。
该分布的一个有趣性质是其均值等于方差。
PMF:P(X = x) = e^(−λ) · λˣ / x!, x ∈ {0, 1, 2, …}
均值与方差:E[X] = λ, Var(X) = λ
示例:令 λ = 3,表示呼叫中心每小时平均来电数为 3。P(X = 0) = e^(−3) ≈ 0.0498P(X ≤ 2) = e^(−3) · (1 + 3 + 9/2) ≈ 0.4232
对应的代码为:
进阶分布类型与扩展
现在,我们来介绍一些更高级的离散概率分布。
超几何分布
该分布刻画从一个有限总体中不放回抽样的过程。从 N 个样本中有 K 个“成功”(如不良品),我们抽取 n 个,并统计成功的个数。适用于小批量质量控制、抽牌,或任何在每次抽取后概率发生变化的有限样本池。
PMF:P(X = x) = [C(K, x) · C(N − K, n − x)] / C(N, n),其中 x 的范围为 max(0, n − (N − K)) 到 min(n, K)。
均值与方差:E[X] = n·(K/N), Var(X) = n·(K/N)·(1 − K/N)·((N − n)/(N − 1))
示例:设 N = 100,K = 8 个不良品,n = 10,则至少抽到一个不良品的概率:P(X ≥ 1) = 1 − C(92, 10)/C(100, 10) ≈ 0.5834
对应的代码为:
这是单次选择的一种多类别版本:一次试验,恰有 k 个类别中的一个发生。我们用于多分类标签(如 {猫、狗、鸟})或任何“在 k 个中选一个”的事件。它是多分类分类目标的构建基石。
PMF:P(X = i) = pᵢ, i ∈ {1, …, k}, ∑ᵢ₌₁ᵏ pᵢ = 1
均值与方差(独热编码视角):若将结果编码为独热向量 Y ∈ {e₁, …, eₖ},则 E[Y] = p,且 Cov(Y) = diag(p) − p·pᵀ。
示例:令类别 = {A, B, C},p = (0.5, 0.3, 0.2)。P(X = B) = 0.3。若以独热存储,均值标签向量为 [0.5, 0.3, 0.2]。
对应的代码为:
离散均匀分布
该分布很简单:区间内所有整数等可能。用于随机整数生成、洗牌与“无偏好”的基线。
PMF:P(X = x) = 1 / (b − a + 1), x ∈ {a, …, b}
均值与方差:E[X] = (a + b)/2Var(X) = ((b − a + 1)² − 1)/12
示例:假设我们要在 10 到 15 之间均匀地选取一个整数。因此每个数的概率均为 1/6。均值 = (10 + 15)/2 = 12.5方差 = (6² − 1)/12 = 35/12 ≈ 2.9167
对应的代码为:
负二项分布
该分布刻画为达到r 次成功需要的试验次数,其中每次试验相互独立且具有相同的成功概率 p。它实际上是几何分布的自然推广(r = 1 是其特例)。当我们关心第 r 次成功发生在何时使用它。示例包括“第几位顾客会产生我们的第 3 笔购买?”、“要打多少个电话才能达成 5 笔交易?”等。
PMF:P(X = k) = C(k−1, r−1) · pʳ · (1 − p)^(k−r), k = r, r+1, r+2, …
均值与方差:E[X] = r/pVar(X) = r·(1 − p)/p²
示例:设每次试验成功概率 p = 0.3,目标是第 3 次成功(r = 3)。
第 3 次成功发生在第 k = 7 次试验的概率:P(X = 7) = C(6, 2) · (0.3)³ · (0.7)⁴ = 15 × 0.027 × 0.2401 ≈ 0.09724。
对应的代码为:
总结思考
总而言之,离散概率分布是建模可计数结果的中流砥柱,帮助我们量化从质量控制到机器学习中的各种不确定性。
我们已经学习了大量关于离散概率分布的内容。要更进一步,我强烈建议您阅读我们的教程《Python 中的概率分布》,并开始接触连续分布,如高斯分布与指数分布。