对于简单粒子滤波器的 重新采样 过程,在统计偏差和实际意义方面,替换采样与不采样替换的区别是什么?
我认为我所考虑的没有替换重新采样方法与通常的无需替换的采样统计方法不同。
在更具体的背景下:
在 模拟 和 观察 粒子过滤器的过程之后,我最终获得了两个列表 - 元素元组(s,p),长度 N 。然而, s 代表我相信的状态,概率为 p 。
使用替换采样:
1.计算列表中每个元组的 p 的累计和。
2.从[0,1]中抽取随机数,并查看每个随机数落入累积和的哪个桶,对应该桶的元素将被复制为下一轮的新粒子。
< / LI>替换为,因为每个随机数都是独立的,每个旧粒子有一个等于 p 的机会,无论有多少新粒子有已经生成了。
在没有替换的情况下采样将是:
1.计算列表中每个元组的 p 的累计和。
2.生成算术序列中的浮点数列表,其中第i 个元素等于 i *(1 / N)。使用此作为随机数插入累积和桶。您可以将其想象为将累积总和 p 列表与具有相等距离条的栏杆进行切片。同样,每个桶的相应元素被复制成新的粒子。
这是没有替换,因为一旦铲斗的所选算术序列用完,就永远不会再次选择它。
实际例子:
N = 8
( s , p )列表: (A,0.1), (B,0.2), (C,0.3), (D,0.4)
使用替换,假设随机数为:0.2,0.8,0.4,0.7,0.6,0.3,0.9,0.1,新列表粒子变为B,D,C,D,C,B, D,A
没有替换,算术序列为:0.125,0.25,0.375,0.5,0.625,0.75,0.875,0.99759999,新的粒子列表变为B,B,C,C,D,D, D,D
答案 0 :(得分:2)
Mehrdad是对的;你的抽样方法有一个错误。有一些方法可以解决这个问题(比如在删除每个样本后重做过程),但是在粒子过滤器中进行概念性的无需替换的采样只是一个坏主意。
采样步骤中的目标是从特定时间步的真实状态概率分布中抽取样本。因为我们用有限数量的粒子近似这个分布,所以用替换进行采样基本上修改了每个样本之后的分布,因此最终样本的绘制分布不同于第一个样本的分布。
更具体地说,考虑一种假设情况,即状态A和B中有两个粒子,质量分别为0.01和0.99。如果我们采用替换的两个样本,我们很可能(0.98概率)得到B状态的两个粒子。但是,如果我们在没有替换的情况下取两个样本,我们总是在每个样本中得到一个粒子。这会抛弃原始粒子分布中的大量信息,并以基本均匀的分布代替它。
这个特定的例子是设计的,但考虑到通常在粒子滤波器中,粒子的数量是恒定的。也就是说,您进行采样,重新加权粒子,然后再次重新采样相同的数字。在此设置中,无需替换的重新采样只是重现原始粒子集(因为您将对每个粒子进行采样),从而完成忽略重新加权步骤的效果!
答案 1 :(得分:1)
我相信你所描述的“没有重新采样”方法是错误的,因为它保证如果第一个元素的可能性小于1 / N
,那么将不会被选中并且因此,这些状态将被算法自动拒绝。
将第一个元素与中间元素进行对比,即使其可能性小于1 / N
,也可以选择它。这意味着算法偏向中间的第一个元素。
在重新采样步骤中,这不是您想要的;一切都应该有一个公平的非零机会传播。否则,您将失去概率正确性保证。