跳过正文
  1. Posts/

概率密度不是概率:连续随机变量为什么需要 PDF

·4988 字·10 分钟

上一篇只回答了"为什么不矛盾"
#

上一篇文章里,我沿着一个概率问题一路追到了集合论。

那个问题是:对于连续随机变量 \(X \sim U(0,1)\),任意一个具体的点 \(x\):

$$ P(X = x) = 0 $$

但整个区间的概率:

$$ P(0 \le X \le 1) = 1 $$

上一篇解决的是一个逻辑问题——为什么不能把 \([0,1]\) 中不可数多个 0 当成普通级数加起来。答案是概率的 Countable Additivity 只允许对可数个互斥事件求和,而 \([0,1]\) 中的实数不可数,根本不适用那个求和规则。

矛盾消除了。但我发现自己并没有真正理解连续概率。

上一篇告诉我的是:“你不能这么加”。它没有告诉我:\([0,1]\) 中这 100% 的概率到底是怎么分布的。

离散随机变量很好理解——骰子有六个面,每个面挂着 \(1/6\) 的概率,六份加起来就是 1。概率直接"住"在每个点上。

但连续随机变量每个点的概率都是 0。如果概率不住在点上,它住在哪里?

这里发生的变化,不只是"可能取值变成了无限多个"。更根本的是:我们不能再把概率直接挂在单个点上了。

这篇就从这里开始。

离散的世界 vs 连续的世界
#

先把这两种情况放在一起看。

离散随机变量,比如一个公平骰子:

离散 vs 连续:概率在哪里

左边,每个点都承载着非零的概率。\(P(X=1) = 1/6\),\(P(X=2) = 1/6\),一共六份,加起来等于 1。

右边,连续随机变量 \(X \sim U(0,1)\)。每个点 \(P(X=x) = 0\)。没有任何一个点上"放着"概率。

那总概率在哪里?

从均匀分布开始
#

先不着急回答上面的问题。看一个最简单的连续分布。

假设在 \([0,10]\) 这条线段上均匀随机取一个点:

$$ X \sim U(0,10) $$

问:

$$ P(2 \lt X \lt 5) = ? $$

因为是均匀分布——线段上任何位置被选中的可能性都一样。所以:

$$ P(2 \lt X \lt 5) = \frac{5 - 2}{10} = 0.3 $$

这个计算看起来理所当然,但我后来意识到它背后藏着一个很重要的变化。

不再是"数点"了
#

在离散的世界里,骰子的概率靠数有利结果的个数:

$$ P = \frac{\text{有利结果数}}{\text{总结果数}} $$

但在连续的世界里,\([2,5]\) 里有多少个点?不可数多个。\([0,10]\) 里呢?也是不可数多个。上一篇已经证明了,两个区间里的实数可以建立一一对应——它们的基数是相同的。

所以"数点"这条路走不通了。

真正决定概率的不是"区间里有多少个点",而是区间的长度。

$$ \frac{\text{length}([2,5])}{\text{length}([0,10])} = \frac{3}{10} = 0.3 $$

这是连续概率和离散概率的第一个分水岭:从"数个数"变成了"量长度"。

均匀分布里已经藏着 density
#

再看一遍这个均匀分布。

总概率是 1,总长度是 10。

$$ \frac{\text{probability}}{\text{length}} = \frac{1}{10} = 0.1 $$

这意味着:每 1 个单位长度平均承载 0.1 的概率。

于是对于长度为 3 的区间 \([2,5]\):

$$ 3 \times 0.1 = 0.3 $$

0.1 就是这个均匀分布的 Probability Density(概率密度)。

$$ \text{density} = \frac{\text{probability}}{\text{length}} $$

至少对这个均匀分布来说,density 是一个常数:处处都是 0.1。

矩形的高度是 density = 0.1,\([2,5]\) 这一段的宽度是 3,阴影面积 = 0.3。

这里第一次出现了一个后面会反复用到的关系:概率 = 面积。

为什么只有均匀分布不够
#

均匀分布很好理解——到处一样浓。但现实世界不是这样的。

比如人的身高。如果我随机从人群中抽一个人,测量身高 \(X\):

$$ P(174 \lt X \lt 175) $$

和:

$$ P(210 \lt X \lt 211) $$

这两个区间宽度完全一样,都是 1 cm。但概率完全不同——174 到 175 cm 的人远比 210 到 211 cm 的人多得多。

所以光知道区间长度不够。不同位置的概率"浓度"是不一样的。

这意味着我们需要一个函数 \(f(x)\) 来描述:在位置 \(x\) 附近,概率有多"浓"。

这就是 Probability Density Function,概率密度函数。

卡住我的地方:\(f(175) = 0.08/\text{cm}\) 到底是什么意思
#

这是我学 PDF 时真正卡住的地方。

有人说:

\(f(175) = 0.08/\text{cm}\),意思是 175 cm 附近,每 1 cm 大约有 8% 的概率。

我马上就有问题了。“附近 1 cm"到底是哪个区间?

是 \([174.5, 175.5]\)?还是 \([175, 176]\)?或者 \([174.8, 175.8]\)?

这些区间的位置不同,概率不可能完全一样。

那 \(f(175)\) 怎么可能是一个确定的值?

有限区间得到的只是平均密度
#

假设:

$$ P(174.5 \lt X \lt 175.5) = 0.079 $$

区间宽度 1 cm,所以:

$$ \frac{0.079}{1\ \text{cm}} = 0.079/\text{cm} $$

但这个 0.079 不是 \(f(175)\)。它是 \([174.5, 175.5]\) 这个区间上的平均概率密度。

这和人口密度是一回事。说"某个城市人口密度 10000 人/km²”,那是把总人口除以总面积得到的平均值。城市里有些地方密集,有些地方空旷,局部密度和平均密度不一样。

同理,\(\frac{P(\text{区间})}{\text{区间宽度}}\) 描述的是有限区间上的平均密度。区间越大,平均值抹平的细节就越多。

缩小区间
#

那怎么从平均密度变成"某个点处的密度"?

答案是:把区间不断缩小。

以 175 为中心,依次取:

  • \([174.5, 175.5]\),宽度 1 → 平均密度 0.079
  • \([174.95, 175.05]\),宽度 0.1 → 平均密度 0.0798
  • \([174.995, 175.005]\),宽度 0.01 → 平均密度 0.07998
  • \([174.9995, 175.0005]\),宽度 0.001 → 平均密度 0.079998

区间越窄,平均密度越接近一个确定的值:0.08。

当区间宽度趋向 0 时,平均密度趋向的那个值,就是 \(f(175)\)。

这个"趋向"就是极限——Limit。

这里第一次真正需要"极限"
#

“极限"这两个字听着很数学,但想法其实不复杂。

$$ h = 1, \quad 0.1, \quad 0.01, \quad 0.001, \quad \ldots $$

\(h\) 越来越小,小到任意程度,但始终不等于 0。

我们关心的不是 \(h\) 在某个具体位置的值,而是这个缩小过程中,平均密度在逼近什么。

这就是 \(h \to 0\) 的含义。

\(h \to 0\) 不是"令 \(h = 0\)"。 趋近 0 和直接代入 0 是完全不同的操作。

无限接近不等于当前相等
#

为了把这个区别看得更清楚,换一个简单的例子。

\(x \to 3\) 可以是这样一个过程:

$$ 2.9, \quad 2.99, \quad 2.999, \quad 2.9999, \quad \ldots $$

每一项都不等于 3,但越来越接近 3。

极限描述的是整个趋近过程最终逼近哪个值,而不是某一步"到达"了目标。

0/0 有时候也能出确定的极限
#

回到概率密度的场景。当区间宽度 \(h \to 0\) 时,区间里的概率也趋向 0(单点概率为 0)。所以我们在算的是:

$$ \frac{\text{趋向 0 的概率}}{\text{趋向 0 的宽度}} $$

这不就是 \(\frac{0}{0}\) 吗?

先看一个更简单的例子。

$$ g(x) = \frac{x^2 - 1}{x - 1} $$

直接代入 \(x = 1\):

$$ \frac{1 - 1}{1 - 1} = \frac{0}{0} $$

没有定义。

但 \(x^2 - 1 = (x-1)(x+1)\),所以对 \(x \neq 1\):

$$ g(x) = x + 1 $$

\(x\) 在 1 附近时,\(g(x)\) 在 2 附近。

$$ \lim_{x \to 1} g(x) = 2 $$

这里有一个很重要的观察:极限关心的是目标点附近发生了什么,不要求函数在那个点本身有定义。

0/0 是未定式,不是答案
#

\(\frac{0}{0}\) 不是一个值,它叫 Indeterminate Form(未定式)。

为什么叫"未定”?因为光知道分子和分母都趋向 0,不能确定比值的极限。

$$ \frac{x}{x} = 1 \quad \Rightarrow \quad \lim_{x \to 0} \frac{x}{x} = 1 $$$$ \frac{x^2}{x} = x \quad \Rightarrow \quad \lim_{x \to 0} \frac{x^2}{x} = 0 $$$$ \frac{x}{x^2} = \frac{1}{x} \quad \Rightarrow \quad \lim_{x \to 0} \frac{x}{x^2} \text{ 不存在} $$

分子和分母都趋向 0,但比值可以是 1,可以是 0,甚至可以发散。

真正决定结果的是二者缩小的相对速度。分子缩得和分母一样快,比值趋向常数;分子缩得更快,比值趋向 0;分母缩得更快,比值发散。

回到概率密度:区间里的概率和区间的宽度同时趋向 0,但如果它们缩小的速度恰好匹配,比值就能趋向一个确定的值。这个值就是 density。

现在可以给出 PDF 的核心直觉了
#

经过前面这些铺垫,PDF 的定义就很自然了。

取 \(x\) 周围一个宽度为 \(h\) 的小区间 \([x - h/2,\, x + h/2]\)。

计算这个区间里的概率除以宽度:

$$ \frac{P\!\left(x - \frac{h}{2} \lt X \lt x + \frac{h}{2}\right)}{h} $$

这是区间上的平均密度。

然后不断缩小 \(h\)。如果这个平均密度趋向某个确定的值:

$$ f(x) = \lim_{h \to 0} \frac{P\!\left(x - \frac{h}{2} \lt X \lt x + \frac{h}{2}\right)}{h} $$

这个值就是 \(x\) 处的 Probability Density,局部概率密度。

PDF 的定义

\(f(x)\) 不是 \(P(X = x)\)。它是 \(x\) 附近的概率浓度

一个非常有用的近似
#

知道了 \(f(x)\) 的含义之后,可以反过来用。

对于足够小的 \(\Delta x\):

$$ P(x \lt X \lt x + \Delta x) \approx f(x) \cdot \Delta x $$

这个近似的逻辑是:在很窄的区间里,density 几乎不变,所以可以当常数处理。概率就约等于 density 乘以宽度。

举个例子。假设 \(f(175) = 0.08/\text{cm}\),取一个 0.1 cm 的小区间 \([175, 175.1]\):

$$ P(175 \lt X \lt 175.1) \approx 0.08/\text{cm} \times 0.1\ \text{cm} = 0.008 $$

也就是大约 0.8%。

区间越窄,这个近似越准确。因为区间越窄,\(f(x)\) 在区间内的变化就越小,“当常数处理"造成的误差就越小。

单位分析:为什么 PDF 的单位是 1/cm
#

这个细节帮我加深了对 density 的理解。

如果随机变量 \(X\) 的单位是 cm,概率本身没有单位(无量纲),那么:

$$ f(x) \cdot \Delta x \approx \text{probability} $$

要让等式成立:

$$ \frac{1}{\text{cm}} \times \text{cm} = 1 $$

所以 \(f(x)\) 的单位必须是 1/cm。

\(f(175) = 0.08/\text{cm}\) 这个值本身带着单位,它不是概率。你不能说"175 cm 处有 8% 的概率”——0.08 后面跟着的是 /cm,这是一个密度,不是一个概率值。

概率是面积,不是高度
#

现在把小区间的近似推广到有限区间 \([a, b]\)。

把 \([a, b]\) 切成很多小块,每块宽度 \(\Delta x\)。每块的概率近似为:

$$ f(x_i) \cdot \Delta x $$

总概率就是所有小块加起来:

$$ \sum_i f(x_i) \cdot \Delta x $$

当 \(\Delta x \to 0\) 时,这个求和就变成了积分:

$$ P(a \lt X \lt b) = \int_a^b f(x)\,dx $$
从小矩形到积分

积分在这里的直观含义就是:把无数个越来越窄的小矩形的面积累积起来,得到曲线下方的精确面积。

这建立了全文最核心的对应关系:

  • 曲线的高度 = density
  • 曲线下的面积 = probability

\(f(x)\) 告诉你某个位置有多"浓",但浓度本身不是总量。只有浓度乘以区间——也就是面积——才是概率。

回过头来:为什么单点概率又是 0
#

现在用 density 的语言重新回答最初的问题。

一个单点 \(X = x\) 没有宽度。\(\Delta x = 0\)。

即使 \(f(x) \gt 0\),一个高度非零但宽度为零的竖线,面积也是 0:

$$ P(X = x) = 0 $$

所以 \(f(x) \gt 0\) 和 \(P(X = x) = 0\) 之间没有任何矛盾。density 高只意味着这个位置附近概率浓,但"附近"必须有宽度才能产生概率。一个没有宽度的点,无论 density 多高,面积都是零。

顺便提一句:因为单点概率为 0,连续随机变量的区间端点取不取到不影响结果:

$$ P(a \lt X \lt b) = P(a \le X \le b) $$

PDF 为什么可以大于 1
#

这是另一个容易掉进去的坑。

考虑一个很短的均匀分布:

$$ X \sim U(0, 0.5) $$

总概率必须是 1,总长度是 0.5。

$$ f(x) = \frac{1}{0.5} = 2 $$

\(f(x) = 2 \gt 1\)。

完全合法。因为 2 是 density,不是 probability。矩形的高度是 2,宽度是 0.5,面积是 1——总概率还是 1。

概率不能大于 1。但 density 可以,因为 density 的单位和概率不同。

density 这个词本身就在告诉你答案
#

到这里其实可以发现,“density"不是概率论发明的专属概念。日常生活和物理学里到处都有 density。

人口密度:

$$ \frac{\text{人数}}{\text{面积}} \quad \text{(人/km²)} $$

人口密度不是人口。要知道一片区域有多少人,得用密度乘以面积。

线密度(比如一根绳子每米多重):

$$ \frac{\text{质量}}{\text{长度}} \quad \text{(kg/m)} $$

线密度不是质量。要知道一段绳子多重,得用密度乘以长度。

概率密度:

$$ \frac{\text{概率}}{\text{长度}} \quad \text{(1/cm)} $$

概率密度不是概率。要知道一段区间的概率,得用密度乘以长度(或者更精确地说,对密度在区间上做积分)。

density 的统一直觉

共同点是:density 描述的是一个局部浓度,不是总量。density 乘以区域才得到总量。

最后的图景
#

写到这里,整条线应该串起来了。

对于连续随机变量 \(X\):

每个点的概率 \(P(X = x) = 0\)。但 \(f(x)\) 可以不为零——它描述的是 \(x\) 附近的概率浓度。

一小段区间的概率,约等于 density 乘以宽度:

$$ P(x \lt X \lt x + \Delta x) \approx f(x) \cdot \Delta x $$

有限区间 \([a,b]\) 的精确概率,是 density 曲线下的面积:

$$ P(a \lt X \lt b) = \int_a^b f(x)\,dx $$

整条实数轴上的总概率等于 1:

$$ \int_{-\infty}^{\infty} f(x)\,dx = 1 $$

PDF 告诉我们的不是"x 这个点有多少概率”,而是"x 附近的概率有多密"。

$$\boxed{\text{PDF} \neq \text{Probability}}$$

下一篇
#

这篇从头到尾都在用积分,但其实只用了一句话解释它:

把无数个越来越窄的小矩形加起来。

这句话背后还有很多没有交代的东西。为什么"无限多个无穷小的东西加起来"可以得到一个有限的、确定的面积?导数和积分为什么恰好互为逆运算?

这些是下一篇要填的坑。

参考资料
#

  • Sheldon Ross, A First Course in Probability, Pearson
  • 陈希孺,《概率论与数理统计》, 中国科学技术大学出版社
  • 3Blue1Brown, But what is a probability density?

相关文章

9 年后重温 CNN:剥掉算子细节后,真正留下了什么

最近在重新过 MIT 6.S191 Lecture 3(卷积神经网络)。2017 年刚接触 CV 那会儿,CNN 算是吃饭的家伙,每天都在调。后来精力逐渐转到 ML Infra,成天跟 GPU 显存、通信拓扑和算子优化打交道,卷积网络的很多具体细节就慢慢生疏了——写个 nn.Conv2d 时 weight 的四维形状到底怎么排、Kaiming 初始化的方差怎么推、感受野怎么算,冷不丁被问到,还得在脑子里卡壳一下。