粒子滤波 particle filter —从贝叶斯滤波到 粒子滤波—Part-III(重要性采样&序贯重要性采样SIS)

Posted 脑壳二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了粒子滤波 particle filter —从贝叶斯滤波到 粒子滤波—Part-III(重要性采样&序贯重要性采样SIS)相关的知识,希望对你有一定的参考价值。

粒子滤波 particle filter —从贝叶斯滤波到粒子滤波—Part-III(重要性采样&序贯重要性采样SIS)

原创不易,路过的各位大佬请点个赞

机动目标跟踪/非线性滤波/传感器融合/导航等探讨代码联系WX: ZB823618313

粒子滤波PF—从贝叶斯滤波到粒子滤波PF—Part-III(重要性采样&序贯重要性采样SIS)

在非线性条件下,贝叶斯滤波面临一个重要问题是状态分布的表达和积分式的求解,由前面章节中的分析可知,对于一般的非线性/非高斯系统,解析求解的途径是行不通的。在数值近似方法中,蒙特卡罗仿真是一种最为通用、有效的手段,粒子滤波就是建立在蒙特卡罗仿真基础之上的,它通过利用一组带权值的系统状态采样来近似状态的统计分布。由于蒙特卡罗仿真方法具有广泛的适用性,由此得到的粒子滤波算法也能适用于一般的非线性/非高斯系统。但是,这种滤波方法也面临几个重要问题,如有效采样(粒子)如何产生、粒子如何传递以及系统状态的序贯估计如何得到等。

简单的理解,粒子滤波就是使用了大量的随机样本,采用蒙特卡洛(MonteCarlo,MC)仿真技术完成贝叶斯递推滤波(Recursive Bayesian Filter)过程。因此本博客从贝叶斯滤波出发,简单介绍粒子滤波PF的出生、即应用

核心思想:是使用一组具有相应权值的随机样本(粒子)来表示状态的后验分布。该方法的基本思路是选取一个重要性概率密度并从中进行随机抽样,得到一些带有相应权值的随机样本后,在状态观测的基础上调节权值的大小。和粒子的位置,再使用这些样本来逼近状态后验分布,最后将这组样本的加权求和作为状态的估计值。粒子滤波不受系统模型的线性和高斯假设约束,采用样本形式而不是函数形式对状态概率密度进行描述,使其不需要对状态变量的概率分布进行过多的约束,因而在非线性非高斯动态系统中广泛应用。尽管如此,粒子滤波目前仍存在计算量过大、粒子退化等关键问题亟待突破。

1、贝叶斯滤波

**贝叶斯滤波细节 见Part-I**

考虑离散时间非线性系统动态模型,
x k = f ( x k − 1 , w k − 1 ) z k = h ( x k , v k ) (1) x_k=f(x_k-1,w_k-1) \\\\ z_k=h(x_k,v_k ) \\tag1 xk=f(xk1,wk1)zk=h(xk,vk)(1)
其中 x k x_k xk k k k时刻的目标状态向量, z k z_k zk k k k时刻量测向量(传感器数据)。这里不考虑控制器 u k u_k uk w k w_k wk v k v_k vk分别是过程噪声序列和量测噪声序列。 w k w_k wk v k v_k vk为零均值高斯白噪声。

定义 1 1 1 ~ k k k时刻对状态 x k x_k xk的所有测量数据为
z k = [ z 1 T , z 2 T , ⋯   , z k T ] T z^k=[z_1^T,z_2^T,\\cdots,z_k^T]^T zk=[z1T,z2T,,zkT]T

根据Part-I, k k k时刻状态 x k x_k xk的后验概率密度函数:
p ( x k ∣ z k ) = p ( z k ∣ x k ) p ( x k ∣ z k − 1 ) p ( z k ∣ z k − 1 ) p(x_k |z^k)=\\fracp(z_k |x_k)p(x_k |z^k-1)p(z_k |z^k-1) p(xkzk)=p(zkzk1)p(zkxk)p(xkzk1)

通过后验分布 p ( x k ∣ z k ) p(x_k |z^k) p(xkzk)可以得到 x k x_k xk的最小均方误差(MMSE)估计为
x ^ k = E [ x k ∣ z k ] = ∫ x k p ( x k ∣ z k ) d x k (2) \\hatx_k=E[x_k|z_k]=\\int x_kp(x_k |z^k) dx_k \\tag2 x^k=E[xkzk]=xkp(xkzk)dxk(2)

2、 蒙特卡洛方法MC

**蒙特卡洛近似方法细节 见Part-I**

根据Part-II蒙特卡洛方法, x k ( i ) , i = 1 , 2 , ⋯   , N x_k^(i), i=1,2,\\cdots,N xk(i),i=1,2,,N表示从后验概率分布函数 p ( x k ∣ z k ) p(x_k |z^k) p(xkzk)采样得到的 N N N个独立同分布的样本,则状态的后验概率密度可以通过如下经验公式近似得到:
p ( x k ∣ z k ) = 1 N ∑ i = 1 N δ ( x k − x k ( i ) ) p(x_k |z^k)=\\frac1N\\sum_i=1^N\\delta(x_k-x_k^(i)) p(xkzk)=N1i=1Nδ(xkxk(i))
同时后验条件期望可近似表示为
x ^ k = E [ x k ∣ z k ] ≈ E ^ [ x k ∣ z k ] ≈ 1 N ∑ i = 1 N x k ( i ) , E [ g ( x k ) ∣ z k ] ≈ E ^ [ g ( x k ) ∣ z k ] ≈ 1 N ∑ i = 1 N g ( x k ( i ) ) (3) \\hatx_k=E[x_k|z^k]\\approx\\hatE[x_k|z^k]\\approx\\frac1N\\sum_i=1^Nx_k^(i), \\tag3\\\\ E[g(x_k)|z^k]\\approx\\hatE[g(x_k)|z^k]\\approx\\frac1N\\sum_i=1^Ng(x_k^(i)) x^k=E[xkzk]以上是关于粒子滤波 particle filter —从贝叶斯滤波到 粒子滤波—Part-III(重要性采样&序贯重要性采样SIS)的主要内容,如果未能解决你的问题,请参考以下文章

粒子滤波 particle filter —从贝叶斯滤波到粒子滤波——Part-I(贝叶斯滤波)

粒子滤波 particle filter —从贝叶斯滤波到粒子滤波——Part-I(贝叶斯滤波)

粒子滤波 particle filter —从贝叶斯滤波到粒子滤波——Part-I(贝叶斯滤波)

粒子滤波 particle filter —从贝叶斯滤波到粒子滤波——Part-I(贝叶斯滤波)

Kalman filtering卡尔曼滤波和Particle Filter粒子滤波及其MATLAB实现

Kalman filtering卡尔曼滤波和Particle Filter粒子滤波及其MATLAB实现