粒子滤波算法

粒子滤波(PF: Particle Filter)的思想基于蒙特卡洛方法(Monte Carlo methods),它是利用粒子集来表示概率,可以用在任何形式的状态空间模型上。其核心思想是通过从后验概率中抽取的随机状态粒子来表达其分布,是一种顺序重要性采样法(Sequential Importance Sampling)。简单来说,粒子滤波法是指通过寻找一组在状态空间传播的随机样本对概率密度函数进行近似,以样本均值代替积分运算,从而获得状态最小方差分布的过程。这里的样本即指粒子,当样本数量N→∝时可以逼近任何形式的概率密度分布。

一、步骤

  1. t = 0时,粒子初始化。随机生成粒子集并设置权值。

  2. t = 1, 2, ..., 重复以下步骤:

    a. 预测。根据系统的预测过程预测各个粒子的状态。

    b. 更新。根据观测值更新粒子权值。

    c. 重采样。复制一部分权值高的粒子,同时去掉一部分权值低的粒子。

    d. 输出:状态估计。使用粒子和权值估计当前的状态。

 

                          粒子滤波算法_第1张图片

二、概念

1、蒙特卡洛采样:根据待估计的量X的概率分布(后验概率)进行采样。

2、蒙特卡洛方法:在采集了N个样本之后,如果要求X的均值,那么可以直接对采集的N个样本 求平均计算出的值来代替样本的均值,当N足够大的时候,平均值的与均值的近似度越高,误差越小。

3、重要性采样:根据一个已知的分布去采样,就有期望为:

                                 粒子滤波算法_第2张图片

重要的是引入了权重的概念,上面Wk(Xk)就是采样点的权重,引入权重之后,根据蒙特卡洛方法求均值就变为如下:

                                                 粒子滤波算法_第3张图片

所以引入重要性采样之后,权重经过了归一化处理(权重的和为1),根据权重最终求出了该随机量X的均值

粒子滤波算法_第4张图片

 

你可能感兴趣的:(算法原理)