粒子过滤中粒子的数量是如何决定的?

机器算法验证 采样 马尔可夫链蒙特卡罗 粒子过滤器
2022-04-05 05:06:39

说观察是xi州是yi在顺序模型中。

我了解粒子过滤通过从p(yi|x1,,xi)为近似p(yi+1|x1,,xi+1).

我们如何决定在链上运行时使用多少“粒子”?我们是在开始时选择一个固定的数字并坚持下去(在实验中效果很好),还是随着粒子过滤算法的进行而改变使用的粒子数?

1个回答

对于这个选择,我经常考虑计算成本和结果估计的方差之间的权衡。随着粒子数量或样本大小的增加,前者会增加,而后者会减少。

我经常做一个简单的计算实验:

  1. 我创建了一个潜在数量的粒子网格(比如102,103104)。

  2. 我做过滤N使用每个样本大小的次数。

  3. 我在 Y 轴上绘制我感兴趣的数量的样本方差(例如估计似然度的方差),在 X 轴上绘制粒子数。

你应该得到一个凸曲线,随着粒子数量的增加,它变得平坦。一般来说,我只是看看它,并选择一些看起来合理的粒子,因为进一步增加粒子的数量不会减少太多的方差。

显然这只是一种实用的方法,也许还有更严谨的方法来看待问题。