---
title: "后验分布与 90% 可信区域到底保证什么"
description: "用先验和似然在网格上算出后验，找出 90% 区域，再看它为什么十次里九次罩住真值。"
canonical_url: "https://sandboxphysics.com/zh/stories/simulation-based-inference/posterior-and-credible-regions/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/simulation-based-inference/posterior-and-credible-regions/"
last_modified: "2026-11-12"
---

[从模拟里学到的后验能不能信](https://sandboxphysics.com/zh/stories/simulation-based-inference/)

# 后验分布与 90% 可信区域到底保证什么

Sandbox Physics · 2026-11-12

后验是看过数据以后，未知量的概率分布；90% 可信区域是其中占 90% 概率的那一块。这个区域保证的是一个平均：真值从先验里抽，数据按模型生成，那么真值落进区域的比例是 90%。真值固定在某一个数上时，这个比例可以偏高，也可以偏低。

本章要用到概率密度和正态分布。[宇宙学里的似然与先验](https://sandboxphysics.com/zh/labs/cosmology-likelihood-priors/) 这个 Lab 已经用滑块搭好了先验和似然的直观图像，这里把它写成方程。目标有三个：手算和用网格算出后验，推出覆盖率的承诺，再看真值固定时承诺在哪里失效。

## 一个数的先验、似然和后验

设未知量是一个数 $\theta$。测量之前，我们对它的了解写成先验密度 $p(\theta)$。测量得到数据 $y$，模型给出每个 $\theta$ 下出现这组数据的可能性，这就是似然 $p(y\mid\theta)$：把 $y$ 固定，把它看成 $\theta$ 的函数。贝叶斯定理把两者合起来：

$$
p(\theta\mid y)=\frac{p(y\mid\theta)\,p(\theta)}{p(y)},\qquad p(y)=\int p(y\mid\theta)\,p(\theta)\,\mathrm d\theta .
$$

分母 $p(y)$ 叫作证据，与 $\theta$ 无关，作用只是让后验的总概率等于一。

取一个具体模型。先验是标准正态分布 $\theta\sim\mathcal N(0,1)$。做 $n$ 次独立测量 $y_i=\theta+e_i$，每次的高斯噪声标准差 $s$ 已知。于是

$$
\ln p(\theta\mid y)=-\frac{\theta^2}{2}-\sum_{i=1}^{n}\frac{(y_i-\theta)^2}{2s^2}+\text{const}.
$$

右边是 $\theta$ 的二次式，后验必然是正态分布。把 $\theta^2$ 项和 $\theta$ 项各自归拢，再配方：

$$
p(\theta\mid y)=\mathcal N(\mu,v),\qquad v=\frac{1}{1+n/s^2},\qquad \mu=\frac{v}{s^2}\sum_{i=1}^{n}y_i .
$$

后验方差 $v$ 比先验方差 $1$ 小，也比单次测量的方差 $s^2$ 小。均值 $\mu$ 是数据平均值往先验均值零拉回来一点的结果，这种往回拉叫作收缩。

## 例题

取 $n=4$、$s=1$，四次测量是 $1.3$、$0.2$、$1.1$、$0.6$，加起来是 $3.2$。后验方差 $v=1/5=0.2$，标准差 $\sqrt{0.2}\simeq0.447$。均值 $\mu=0.2\times3.2=0.64$，比数据平均值 $0.8$ 小，差的那一截就是收缩。

正态后验的中央 90% 区间，是均值左右各 $1.645$ 个标准差。$1.645$ 是标准正态分布下方占 95% 的那个点：

$$
\mu\pm1.645\sqrt v=0.64\pm0.736\;\Rightarrow\;[-0.096,\;1.376].
$$

后验对称、只有一个峰时，这个中央区间同时也是最高密度区域，也就是装下 90% 概率的最短区间。

## 同一个后验，用网格来算

大多数后验写不出解析式。Lab 里的精确参考答案就是在网格上算的，步骤在这里一样适用。

1. 从 $-3$ 到 $3$ 铺上宽度 $0.01$ 的格子，每个格子的中心当作一个候选值 $\theta_j$。
2. 在每个中心算出对数先验加对数似然。先减去其中最大的值再取指数，免得数值下溢。
3. 除以总和，让各格的概率 $P_j$ 加起来等于一。
4. 把格子按 $P_j$ 从大到小排好，依次累加，直到总和达到 $0.9$。这些格子就组成 90% 最高密度区域。

这样算出的网格均值是 $0.640$，标准差 $0.447$。区域用了 148 个格子，装下 $0.902$ 的概率，范围是 $[-0.10,\;1.38]$。多出来的一点概率和边缘的微小偏移，都是因为格子只能整个整个地加。Lab 用的是同一套做法，只是换成频率和衰减时间的二维网格，并在峰附近加密，让格子始终远小于后验的宽度。

## 为什么十次里有九次罩住真值

把区域记作 $R(y)$，并假定对每一组数据，它都装着 $0.9$ 的后验概率。设想重复做很多次实验：每次先从先验里抽一个真值，再按似然生成数据。真值落进区域的比例是

$$
\Pr[\theta\in R(y)]=\int\!\!\int p(\theta)\,p(y\mid\theta)\,\mathbf 1[\theta\in R(y)]\,\mathrm d\theta\,\mathrm dy .
$$

由贝叶斯定理，$p(\theta)\,p(y\mid\theta)$ 可以改写成 $p(y)\,p(\theta\mid y)$。这样里层对 $\theta$ 的积分正好是区域的后验概率，对每个 $y$ 都等于 $0.9$：

$$
\Pr[\theta\in R(y)]=\int p(y)\left[\int_{R(y)}p(\theta\mid y)\,\mathrm d\theta\right]\mathrm dy=\int p(y)\,(0.9)\,\mathrm dy=0.9 .
$$

这个结论靠两条假设撑着：真值是从后验所用的同一个先验里抽的，数据是按同一个似然生成的。Hermans 等人把左边这个比例叫作期望覆盖率，并拿它作为检验近似后验的主要指标。[Hermans 等，2022，定义 2.1](https://arxiv.org/abs/2110.06581v3) Talts 等人也从同一个恒等式出发：把后验对数据求平均，得到的就是先验。[Talts 等，2018，第 2 节](https://arxiv.org/abs/1804.06788v2)

## 真值固定时的覆盖率

把真值固定住，只让噪声重来。在例题里，收缩会把每次的估计都往零拉五分之一，所以 $\mu-\theta$ 服从均值为 $-0.2\,\theta$、标准差为 $0.4$ 的正态分布。90% 区间的半宽是 $0.736$，于是固定 $\theta$ 时的覆盖率为

$$
C(\theta)=\Phi\!\left(\frac{0.736+0.2\,\theta}{0.4}\right)-\Phi\!\left(\frac{-0.736+0.2\,\theta}{0.4}\right),
$$

其中 $\Phi$ 是标准正态分布的累积分布函数。

**表 2.1** 真值固定时，精确 90% 区间的覆盖率。

| 真值 | 该真值处的覆盖率 |
| --- | --- |
| $\theta=0$ | $0.934$ |
| $\theta=1$ | $0.900$ |
| $\theta=2$ | $0.797$ |
| $\theta=3$ | $0.632$ |

靠近先验中心时，精确区间罩住真值的次数偏多；离得远了就偏少。用标准正态先验给这些值加权再积分，结果恰好回到 $0.900$。精确后验的校准是平均意义上的，不是每个源都成立。

Lab 在二维里展示了同一件事。“微弱短促的振荡”这个预设的源靠近先验方框的边缘。在这个固定的源上生成 400 条合成记录，精确网格后验的 90% 区域罩住源的比例是 $0.860$，95% 区间为 $0.823$ 到 $0.891$。

## Lab 任务

打开 [神经后验 Lab](https://sandboxphysics.com/zh/labs/neural-posterior-calibration/)。

1. 先预测再观察：保持训练条件，过一分钟后两条累计覆盖率曲线应该停在哪里？用记录条数解释它们开头为什么晃得厉害。
2. 改一个条件：选“微弱短促的振荡”。曲线稳定之前，参照表 2.1 预测精确后验的覆盖率会高于还是低于 0.9。
3. 比较：在参数平面里把白色标记拖向先验方框的中心，再拖向一个角，看精确 90% 等高线在方框边缘怎样变形。

## 练习

1. 先验不变、$s=1$，至少要测几次，后验标准差才能降到 $0.2$ 以下？
2. 同事给出一个 90% 区间，并说“对这个源来说，真值有九成把握在里面”。什么条件下这种说法站得住？
3. 网格做法里，为什么格子必须远比后验窄？如果不够窄，90% 区域会怎样？

答案

1. 方差是 $v=1/(1+n)$。要求 $v<0.04$，即 $1+n>25$，所以 $n\ge25$。这时后验标准差降到 $1/\sqrt{26}\simeq0.196$。
2. 这句话说的是给定这组数据后的后验概率。只要先验和似然如实描述了源和数据是怎样产生的，它就成立。由它推出的频率说法，是对从先验里抽出的源取平均；具体到某一个固定的源，频率可以不同，表 2.1 就是例子。
3. 区域是用整个格子拼起来的。格子太宽，概率就一大块一大块地加，区域会超过 $0.9$，边缘也只能落在格子边界上。后验很窄时，甚至可能夹在两个格子中心之间，被严重失真。例题里 $0.01$ 的格子约为后验宽度的四十五分之一，所以只多出 $0.002$。

## 来源

1. [Hermans 等，2022，定义 2.1](https://arxiv.org/abs/2110.06581v3)
2. [Talts 等，2018，第 2 节](https://arxiv.org/abs/1804.06788v2)

## 继续阅读

从模拟里学到的后验能不能信 · 阅读路径

### 从后验到校准，再到模型失配

1. [文章 **神经网络给出的漂亮后验，怎样证明可以相信**](https://sandboxphysics.com/zh/stories/simulation-based-inference/trusting-a-neural-posterior/)
2. [当前页面 **后验分布与 90% 可信区域到底保证什么**](https://sandboxphysics.com/zh/stories/simulation-based-inference/posterior-and-credible-regions/)
3. [文章 **用秩统计和覆盖率检查后验是否校准**](https://sandboxphysics.com/zh/stories/simulation-based-inference/rank-tests-for-posterior-calibration/)
4. [文章 **用重要性权重和残差检验找出错误的模拟器**](https://sandboxphysics.com/zh/stories/simulation-based-inference/model-mismatch-and-importance-weights/)
5. [文章 **动手复算振铃后验的校准检验**](https://sandboxphysics.com/zh/stories/simulation-based-inference/recompute-the-ringdown-calibration/)
6. [文章 **读懂 DINGO 论文里的 P–P 图、散度和采样效率**](https://sandboxphysics.com/zh/stories/simulation-based-inference/reading-dingo-calibration-evidence/)
