跟随状态的粒子云 粒子滤波把对隐含状态的信念保存为由 N N N 个粒子组成的一团云。每个粒子是状态的一个可能取值,并带有表示其合理程度的权重。它不假设钟形曲线,所以这团云可以是任意形状。每天走同样的循环:传播——按模型自己的随机变动把每个粒子向前移动;加权——给每个粒子一个等于“在该粒子下今天观测的似然”的权重;估计——滤波均值是粒子的加权平均;重采样——抽出一团新云,好粒子被复制,差粒子消失。
x t ( i ) = x t − 1 ( i ) + q z ( i ) , w ( i ) = p ( y t ∣ x t ( i ) ) , m ^ t = ∑ i w ~ ( i ) x t ( i ) , p ^ ( y t ) = 1 N ∑ i w ( i ) x_t^{(i)}=x_{t-1}^{(i)}+\sqrt q\,z^{(i)},\quad w^{(i)}=p(y_t\mid x_t^{(i)}),\quad \hat m_t=\sum_i\tilde w^{(i)}x_t^{(i)},\quad \hat p(y_t)=\frac1N\sum_i w^{(i)} x t ( i ) = x t − 1 ( i ) + q z ( i ) , w ( i ) = p ( y t ∣ x t ( i ) ) , m ^ t = i ∑ w ~ ( i ) x t ( i ) , p ^ ( y t ) = N 1 i ∑ w ( i ) (1) 之所以叫自助法滤波,是因为提议分布取最简单的那种:模型自己的转移。这样粒子的权重恰好就是似然。这个方法适用于任何可以向前模拟、且能计算观测似然的模型,所以非线性状态、厚尾和隐藏波动率这些卡尔曼滤波没有精确解的情形它都能处理。代价是随机性:用不同的随机数运行两次,结果会略有不同,误差大致按 1 / N 1/\sqrt N 1/ N 缩小。实际中会固定随机种子,使运行可以复现。
四个粒子的一个周期 传播之后,四个粒子位于
− 1 , 0 , 1 , 2 -1,0,1,2 − 1 , 0 , 1 , 2 ,观测到
y = 1 y=1 y = 1 ,
r = 1 r=1 r = 1 。似然为
0.054 , 0.242 , 0.399 , 0.242 0.054,\ 0.242,\ 0.399,\ 0.242 0.054 , 0.242 , 0.399 , 0.242 (含
1 / 2 π 1/\sqrt{2\pi} 1/ 2 π 因子的正态密度),权重为
0.058 , 0.258 , 0.426 , 0.258 0.058,\ 0.258,\ 0.426,\ 0.258 0.058 , 0.258 , 0.426 , 0.258 。滤波均值为
0.885 0.885 0.885 。平均似然
0.234 0.234 0.234 估计了这次观测有多大可能,把所有天的这些平均值取对数后相加,就是模型的对数似然。重采样时抽取均匀随机数
0.05 , 0.5 , 0.6 , 0.9 0.05,\ 0.5,\ 0.6,\ 0.9 0.05 , 0.5 , 0.6 , 0.9 ,在累积权重
0.058 , 0.316 , 0.742 , 1 0.058,\ 0.316,\ 0.742,\ 1 0.058 , 0.316 , 0.742 , 1 中查找,选中粒子
1 , 3 , 3 , 4 1,3,3,4 1 , 3 , 3 , 4 ,新的云是
− 1 , 1 , 1 , 2 -1,1,1,2 − 1 , 1 , 1 , 2 ,权重都是
0.25 0.25 0.25 ,均值为
0.75 0.75 0.75 。
每天四步 :传播、加权、估计、重采样。权重=似然 :只有加权这一步会看今天的观测。任何可以模拟的模型 :能处理非线性、非高斯情形,代价是量级为 1 / N 1/\sqrt N 1/ N 的随机误差。与卡尔曼有多接近 在卡尔曼精确成立的苹果贝塔模型上,500 500 500 个粒子的自助法滤波与之平均相差 0.016 0.016 0.016 ,2000 2000 2000 个粒子时相差 0.0065 0.0065 0.0065 。粒子数增加到四倍,误差大约减半,与 1 / N 1/\sqrt N 1/ N 的预期一致。 实验:评分内容 粒子的权重 15 分 滤波均值 15 分 观测的似然 15 分 重采样之后 10 分 哪一步使用数据 10 分 每日的周期 10 分 配对术语 10 分 为什么这里粒子优于卡尔曼 15 分