当权重坍缩时
权重逐日相乘。对几次观测解释得不好的粒子权重会变得极小,而极小的权重永远无法恢复。过了足够多的天数,一个粒子几乎占据全部权重,其余的都是白白浪费的计算。这就是权重退化,用有效样本量 1/∑w~2 来度量。在 SPY 上用 1000 个粒子且不重采样,有效样本量第一天后为 960,十天后 368,五十天后 52,250 天后约 1.3。退化到只剩一个粒子的滤波器只是一个猜测,不再是一团云。
ESS=∑iw~i21,ESS<2N,Nu+i, i=0,…,N−1(1) 重采样可以治好退化:重新抽取由 N 个粒子组成的新云,使权重为 w~i 的粒子平均出现 Nw~i 次,然后给每个副本相同的权重 1/N。抽法有好几种。多项式重采样抽取 N 个独立的均匀随机数;系统重采样只抽一个均匀随机数 u,在累积权重上放 N 个等间距指针 (u+i)/N;分层重采样在 N 个等长区间里各抽一个;残差重采样先给每个粒子分配整数副本 ⌊Nw~i⌋,只对剩余部分抽样。系统重采样最省,也最常用。
手算系统重采样取四个粒子位于
−1,0,1,2,权重为
0.058, 0.258, 0.426, 0.258。累积权重为
0.058, 0.316, 0.742, 1。抽到
u=0.3,指针为
(0.3+i)/4=0.075, 0.325, 0.575, 0.825。指针
0.075 落在第二格,
0.325 和
0.575 落在第三格,
0.825 落在第四格。新云是
0,1,1,2:位于
−1 的粒子消失了,位于
1 的重粒子被复制两次,接近其期望副本数
4×0.426=1.7。危险的情形:权重为
0.97, 0.01, 0.01, 0.01 时有效样本量是
1.06,任何指针组都只会选中第一个粒子,云退化成只剩一个取值。
- ESS 低时才重采样:常见规则是 ESS<N/2。每天都重采样会浪费多样性。
- 系统重采样只用一个随机数:累积权重上的指针 (u+i)/N 给出便宜、噪声小的抽样。
- 代价是贫化:少数粒子的大量副本使云缺乏多样性,下一步传播必须重新把它撑开。
实验:评分内容
- 期望副本数15 分
- 系统重采样的指针10 分
- 坍缩的权重15 分
- 幸存的不同粒子10 分
- 今天要重采样吗10 分
- 系统重采样10 分
- 配对方案15 分
- 为什么要重采样15 分