Part I · 第 4 章 概率 · 4.3

期望、方差与协方差

一整个分布太"重"了,机器人通常只想用几个数概括它:均值回答"最好的单点猜测是什么",方差回答"这个猜测有多不稳",协方差回答"两个误差是同涨同落,还是此消彼长"。把协方差排成矩阵,它在平面上就是一个椭圆:椭圆的朝向和长短,就是机器人"对自己位置的不确定性"的形状。

约 25 分钟 前置:4.1 随机变量与分布 · 1.7 点积 · 1.11 特征值(椭圆部分) 5 个交互

    1为什么机器人需要它

    机器人的状态估计器每一步吐出的,不是一个位置,而是一个位置加一个"可信度":均值 \(\hat{\mathbf x}\),以及告诉你它大概拿不准多少、往哪个方向拿不准的协方差 \(\Sigma\)。规划器要根据 \(\Sigma\) 判断"这条路离障碍物够不够远";传感器融合要根据 \(\Sigma\) 决定"该信 GPS 还是该信里程计";卡尔曼滤波的整个递推,就是在不断地更新这一对 \((\hat{\mathbf x}, \Sigma)\)。

    协方差里最有用、也最容易被忽视的是非对角线元素。位置的 \(x\) 和 \(y\) 误差如果不相关,不确定性是一个"正放"的椭圆;如果相关,椭圆就是斜的:这时知道了 \(x\) 的误差,就能顺便推断出 \(y\) 的误差。4.8 节里"只测位置、速度也变准了"的魔术,全靠这几个非对角元素。

    2直觉:均值是平衡点,方差是散开的程度

    把分布想成一根杠杆:每根柱子是一个砝码,位置是 \(x\),重量是概率 \(p(x)\)。期望(均值)\(E[X]\) 就是让杠杆保持平衡的支点位置:\(\sum x\,p(x)\)。离支点远的砝码"力矩"更大,所以一个很远但很轻的柱子,也能把均值拉过去不少。

    均值不是"最可能的值"(众数),也不是"中间的值"(中位数),三者只在对称单峰分布里重合。拖动下面的柱子,再拖动那个"猜测" \(c\):如果你要最小化平方误差,最优的猜测是均值;如果要最小化绝对误差,最优的猜测是中位数。

    FIG 1杠杆、均值与最优猜测
    上图:按住拖动柱子改变概率(总和保持为 1)。黄色三角是均值(支点),紫色竖线是中位数,青色柱子是众数,黄色横带是 \(\mu \pm \sigma\)。拖动底部的蓝色圆点改变猜测 \(c\)。下图:如果你猜 \(c\),期望损失是多少:平方损失 \(E[(X-c)^2]\) 的最低点在均值,绝对损失 \(E|X-c|\) 的最低点在中位数(两条曲线各自归一化到最大值 1)。
    试一试
    • 选"两簇"预设:均值恰好落在一个概率几乎为 0 的位置。这个"期望值"机器人永远不会真的观测到。
    • 做出一个右偏分布,使均值比中位数大 1 以上:一个很远的轻柱子拽走了均值,却没怎么动中位数。
    • 把猜测 \(c\) 拖到均值上(误差 < 0.1),看平方损失降到最低;再拖到中位数,看绝对损失最低。
    核心洞见

    均值是平方误差意义下的最佳单点猜测,这正是最小二乘(1.13)和卡尔曼滤波"最小均方误差估计"的根源。而它的代价就是对离群点敏感:一个很远的值,因为"平方"被放大了。方差正是这个最小的平方误差:\(\mathrm{Var}(X) = \min_c E[(X-c)^2]\)。

    3动手玩:方差是"平均方块"

    方差 \(\mathrm{Var}(X) = E[(X-\mu)^2]\) 有一个很好的几何意义:把每个样本到均值的距离当作正方形的边长,方差就是这些正方形面积的平均值;标准差 \(\sigma\) 则是"平均方块"的边长。距离平方使得远处的点贡献大得多:距离翻倍,面积是四倍。

    下面从 \(\mathcal N(0, \sigma^2)\) 里抽样,每个点长出一个方块。注意样本很少时,样本方差抖得厉害,甚至系统性偏小:那是除以 \(N\) 还是 \(N-1\) 的问题,下方的"重复实验"会告诉你答案。

    FIG 2方差 = 方块面积的平均
    除以
    紫点是样本,竖线是它与样本均值(黄色三角)的距离,青色方块的边长等于这个距离。右上角的黄色方块是"平均方块",边长 = 样本标准差;虚线方块是真实的 \(\sigma\)。"重复实验"栏:把同样的实验用不同种子做 400 次,平均的样本方差。
    试一试
    • 把样本数降到 4 以下,多点几次"换一组样本":平均方块的大小跳动多大?
    • N = 5 时,把"除以"在 N 和 N−1 之间切换,对照"重复实验"那一行:哪一个平均起来等于真实的 \(\sigma^2\)?
    为什么是 N − 1

    样本方差用的是"到样本均值的距离",而样本均值本身就是这几个点的"重心",天然离它们更近,所以平均方块偏小,除以 \(N\) 会系统性低估。除以 \(N-1\)(贝塞尔修正)刚好补回来,期望正好是 \(\sigma^2\)。当 \(N\) 很大时,两者几乎没差别。

    4第二个视角:协方差矩阵就是一个椭圆

    两个变量时,方差的"方块"变成"长方形":\(\mathrm{Cov}(X, Y) = E[(X-\mu_x)(Y-\mu_y)]\) 是每个点 \((x, y)\) 与均值之间那个带符号的长方形面积的平均。点落在右上或左下象限,长方形面积为正;落在左上或右下,为负。如果正的更多,\(X\) 和 \(Y\) 就倾向于同涨同落,协方差为正,点云向右上方倾斜。

    把 \(\sigma_x^2, \sigma_y^2, \mathrm{Cov}\) 摆成矩阵 \(\Sigma\),点云的形状就由它决定:椭圆的两条主轴是 \(\Sigma\) 的特征向量(1.11 节),半轴长是特征值的平方根。再选一个单位方向 \(\mathbf u\),点云投影到这个方向上的方差是 \(\mathbf u^\top \Sigma\, \mathbf u\)(点积,1.7 节)。拖动椭圆的两个把手改变形状,再拖动那个转盘上的方向把手。

    FIG 3协方差椭圆实验室
    400 个 \(\mathcal N(\mathbf 0, \Sigma)\) 的样本;黄色椭圆是 1σ 与 2σ,虚线是主轴。拖动两个黄色把手改变主轴的方向与半轴长(把手在 1σ 椭圆的轴端)。紫色把手选择方向 \(\mathbf u\):紫色粗线是投影的 ±σᵤ 范围,两条垂线与椭圆相切;它的半长就是 \(\sqrt{\mathbf u^\top\Sigma\mathbf u}\)。悬停公式里的 \(\mathrm{Cov}\),会画出每个样本的带符号长方形。
    试一试
    • 做出强负相关:\(\rho \le -0.7\)。点云向哪边倾斜?
    • 让 \(x\)、\(y\) 不相关(\(|\rho| < 0.03\)),但方差差别很大(比值 > 2):椭圆摆正,只是被拉扁。
    • 把方向 \(\mathbf u\) 转到主轴上:投影方差等于最大特征值 \(\lambda_1\)。转到垂直方向,则等于 \(\lambda_2\)。
    核心洞见

    协方差矩阵把"在每个方向上有多不确定"装进了一个矩阵:沿方向 \(\mathbf u\) 的方差是 \(\mathbf u^\top\Sigma\mathbf u\)。最不确定的方向是第一特征向量,最确定的是最后一个。只看 \(\sigma_x\)、\(\sigma_y\) 会漏掉倾斜:同样的 \(\sigma_x, \sigma_y\),不同的 \(\rho\),是完全不同的椭圆。

    不相关,不等于独立

    相关系数 \(\rho\) 只度量线性关系。把 \(y\) 完全由 \(x\) 决定的关系(比如抛物线、圆)放进来,\(\rho\) 可以恰好是 0。用下面这个小实验对比 \(\rho\) 与一个能捕捉任意形状依赖的量:互信息(把平面切成 8×8 的格子,用频数估计;"基线"是把 \(y\) 随机打乱后的值,代表"真正独立"时估计误差带来的那一点点)。

    FIG 4相关系数看不见的依赖
    600 个点。黄色短线是每个竖条里 \(y\) 的平均值("已知 \(x\) 时对 \(y\) 的最好猜测")。滑块增加噪声。
    • 找到一种数据:\(|\rho| < 0.1\),可互信息却远高于基线(3 倍以上)。

    5再看数学

    提示:悬停带底色的符号,FIG 1、FIG 2、FIG 3 中对应的元素会高亮。

    期望

    $$ \hl{mean}{E[X] = \sum_i x_i\,p(x_i)}, \qquad \hl{mean}{E[X] = \int x\,f(x)\,dx}, \qquad E[g(X)] = \sum_i g(x_i)\,p(x_i) $$ $$ E[aX + bY + c] = a\,E[X] + b\,E[Y] + c $$

    第一行前两式分别是离散情形与连续情形(\(f\) 是概率密度)。第二行的线性是概率里最好用的性质:不需要知道 \(X, Y\) 的联合分布,独立与否都成立。机器人里,\(E[A\mathbf x + \mathbf b] = A\,E[\mathbf x] + \mathbf b\),这就是"均值穿过线性映射"(4.5)。

    方差与协方差

    $$ \hl{var}{\mathrm{Var}(X) = E\big[(X-\mu)^2\big]} = E[X^2] - \mu^2, \qquad \sigma = \sqrt{\mathrm{Var}(X)} $$ $$ \mathrm{Var}(aX + b) = a^2\,\mathrm{Var}(X) $$ $$ \hl{cov}{\mathrm{Cov}(X, Y) = E\big[(X-\mu_x)(Y-\mu_y)\big]} = E[XY] - \mu_x\mu_y $$ $$ \rho = \frac{\mathrm{Cov}(X, Y)}{\sigma_x\sigma_y} \in [-1, 1], \qquad \mathrm{Var}(X + Y) = \mathrm{Var}(X) + \mathrm{Var}(Y) + 2\,\mathrm{Cov}(X, Y) $$

    独立 \(\Rightarrow\) 协方差为 0,反过来不成立(FIG 4)。最后一行说明:两个误差相加时,方差是否相加,取决于它们是否相关。若 \(\rho = -1\),一个变大必伴随另一个变小,它们的和甚至可以完全抵消;这正是两个传感器误差负相关时可以融合得特别好的原因。

    协方差矩阵

    对随机向量 \(\mathbf x \in \mathbb R^n\),把所有两两协方差排成矩阵:

    $$ \Sigma = E\big[(\mathbf x - \boldsymbol\mu)(\mathbf x - \boldsymbol\mu)^\top\big] = \begin{bmatrix} \cv{\sigma_x^2} & \hl{cov}{\mathrm{Cov}(x,y)} \\ \hl{cov}{\mathrm{Cov}(x,y)} & \cv{\sigma_y^2} \end{bmatrix} = \hl{eig}{Q\,\Lambda\,Q^\top} $$ $$ \mathrm{Var}(\mathbf u^\top \mathbf x) = \hl{quad}{\mathbf u^\top \Sigma\,\mathbf u}, \qquad \lambda_{\min} \le \mathbf u^\top \Sigma\,\mathbf u \le \lambda_{\max} \quad (\|\mathbf u\| = 1) $$

    \(\Sigma\) 对称、半正定(任何方向的方差都不为负)。对称矩阵可以对角化(1.11):\(Q\) 的列是主轴方向,\(\Lambda = \mathrm{diag}(\lambda_1, \lambda_2)\) 是沿主轴的方差。第二行(点积、二次型)说明沿任一方向的方差都夹在两个特征值之间,最大值在主轴上取到。

    相关系数 = 夹角的余弦

    把 \(N\) 个样本的 \(x\) 减去均值,排成一个 \(N\) 维向量 \(\tilde{\mathbf x}\);\(y\) 同理得 \(\tilde{\mathbf y}\)。则 \(\rho = \tilde{\mathbf x}\cdot\tilde{\mathbf y} / (\|\tilde{\mathbf x}\|\|\tilde{\mathbf y}\|)\),正是 1.7 节的夹角余弦。\(\rho = \pm 1\) 就是两个向量共线,\(\rho = 0\) 就是它们垂直。这也解释了为什么 \(|\rho| \le 1\)(柯西-施瓦茨不等式)。

    6机器人中的它:定位误差的"形状"

    室内的 UWB 定位、或者靠两个已知的信标做距离测量,是一个非常干净的例子:机器人量到自己到信标 A 和 B 的距离 \(r_1, r_2\),每个距离有高斯噪声 \(\sigma_r\),然后求两个圆的交点作为位置。每次测量得到一个交点,重复很多次,就得到一团点云。它的形状取决于信标的几何:两个信标与机器人夹角接近 90° 时,点云接近圆;两个信标几乎在同一条射线上时,点云在垂直于这条射线的方向上被拉得很长:两个圆在机器人处几乎相切,两次测距都只约束了沿射线的距离,沿切线方向几乎没有约束。这正是 GPS 里的"几何精度因子" (DOP)。

    图里同时画出样本协方差(直接从点云算出,黄色)和用雅可比算出的理论预测 \(\sigma_r^2 (J^\top J)^{-1}\)(紫色虚线,下一节 4.5 的内容);噪声不大时它们重合。拖动信标和机器人。

    FIG 5两个信标定位:误差椭圆的几何
    蓝点是机器人的真实位置,绿色方块 A、B是信标,淡色圆弧是两个测距圆。青色点云是 300 次带噪声的定位结果;黄色 = 样本协方差的 2σ 椭圆,紫色虚线 = 理论椭圆。拖动三个把手(机器人、A、B)。
    试一试
    • 把两个信标摆在机器人同一侧、几乎同一方向(夹角 < 15°):椭圆被拉成一条长线。谁的方差大?
    • 再把夹角调到接近 90°(85° 到 95°):椭圆接近圆,精度最好。
    真实系统里

    GPS 接收机会给出 HDOP/VDOP 数字,就是这里"几何放大"的程度:卫星分布得越开,DOP 越小。规划器用估计的 \(\Sigma\) 给轨迹加"安全膨胀"(让机器人在不确定性椭圆大的地方绕远些);SLAM 的"信息矩阵" \(\Sigma^{-1}\) 里,哪个方向的信息量大、哪个方向弱,一目了然。

    7常见误区

    误区 1:均值就是"最可能的值"

    两簇分布的均值落在两簇之间的空地上,那里的概率几乎为 0(FIG 1)。机器人若在"两种可能"(比如面前是左门还是右门)之间拿不准,把两者平均成"中间"去规划,就会一头撞在墙上。多峰分布不要只用均值和方差概括。

    误区 2:只看对角线

    "\(\sigma_x = 0.3\),\(\sigma_y = 0.3\),位置很准。"如果 \(\rho = 0.95\),椭圆沿 45° 方向的半轴长是 \(0.3\sqrt{1.95} \approx 0.42\),垂直方向仅 \(0.3\sqrt{0.05} \approx 0.07\)。实际精度取决于你关心的方向。反过来,丢掉非对角元素(假设各分量独立)会让滤波器对相关的误差过度自信。

    误区 3:把不相关当独立,把相关当因果

    不相关只说明没有线性关系(FIG 4)。相关也不说明谁影响谁:机器人估计的 \(x\) 与 \(y\) 误差相关,通常只是因为它们共享同一个航向误差。

    误区 4:样本方差随手除以 N

    用很少的样本估计方差(比如标定传感器噪声只测了 5 次)时,除以 \(N\) 会系统性偏小(FIG 2);还要记得,样本均值和方差本身也有抖动,几个样本给出的 \(\sigma\) 可能偏离真值一大截。

    8小练习

    1. 随机变量 \(X\) 以各 50% 的概率取 0 或 10。\(E[X]\) 与 \(\mathrm{Var}(X)\) 是?
    \(E[X] = 0.5 \cdot 0 + 0.5 \cdot 10 = 5\),一个 \(X\) 永远取不到的值。\(\mathrm{Var} = 0.5(0-5)^2 + 0.5(10-5)^2 = 25\),\(\sigma = 5\)。
    2. 激光读数的方差为 4 m²。把读数乘以 2 再加 3(\(Y = 2X + 3\)),\(\mathrm{Var}(Y)\) 是?
    平移不改变方差,缩放让方差乘以 \(a^2\):\(\mathrm{Var}(2X+3) = 4 \times 4 = 16\)。
    3. \(\Sigma = \begin{bmatrix} 4 & 3 \\ 3 & 9 \end{bmatrix}\),相关系数 \(\rho\) 是?
    \(\sigma_x = 2\),\(\sigma_y = 3\),\(\rho = 3/(2 \cdot 3) = 0.5\)。注意不要直接用协方差 3 当相关系数(它不是无量纲的,可以大于 1)。
    4. 两个误差 \(X, Y\) 的标准差分别为 2 和 3,且完全负相关(\(\rho = -1\))。\(\mathrm{Var}(X+Y)\) 是?
    \(4 + 9 + 2\cdot(-1)\cdot 2 \cdot 3 = 1\)。方差不总是相加:相关性可以让它们相互抵消(\(\rho=+1\) 时则是 25);只有不相关时才是 13。
    5. \(X\) 在 \([-1, 1]\) 上均匀分布,\(Y = X^2\)。下列哪个说法正确?
    \(E[X] = 0\),\(E[X^3] = 0\)(奇函数在对称区间上平均为 0),所以协方差为 0。但知道 \(X\) 就完全知道 \(Y\),显然不独立(FIG 4 的抛物线)。

    9延伸阅读

    • S. Thrun, W. Burgard & D. Fox, Probabilistic Robotics, MIT Press, 2005, Sec. 2.2 — 期望、协方差在机器人估计里的写法
    • T. D. Barfoot, State Estimation for Robotics, Cambridge University Press, 2017, Ch. 2 — 矩、协方差、相关性的矩阵形式
    • C. M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006, Sec. 1.2.2 — 期望与协方差,含向量情形
    • J. Blitzstein & J. Hwang, Introduction to Probability, CRC Press — 第 4 章(期望)与第 7 章(联合分布、协方差与相关)
    • G. Strang, Introduction to Linear Algebra, Wellesley–Cambridge Press — 特征值与对称矩阵:理解协方差椭圆的线性代数基础