第2章 粒子滤波技术及其收敛性分析证明
重聚集到少数粒子上,甚至在经过几步的递归之后,可能只有一个粒子有非零权值,结果粒子集无法表达实际的后验概率分布,这就是粒子集的退化。
为了避免这种退化,引入了重采样。设粒子和其权重组成二元组{x0:k,wk}i?1,重采样的目的就是去掉权重较小的粒子,将较大权重的对应的二元组{x0:k,wk}i?1分成若干个N的
i?1NiiN二元组{x0:k,N}i?1,这可以通过从二元组集合{x0:k,wk}i?1按照权值概率w来采样得到新的二
ikiiNiiN?1Ni?1N元组{x0:k,N}i?1。下面来描述一下重采样过程:首先计算粒子的概率累加和(aj)j?1,随机
采样第i?i?1,2,,N?个?0,1?均匀分布的数?i,对照所得到的累加和,若aj?1??i?aj,并假设a0?0,则可以取得第i次随机采样的结果为x0:k,这样就取得了复制大权值的效果。
接下来就是如何确定退化程度,Geweke等人提出一种用相对效率RNE的概念来度量重要性采样带来的退化程度。RNE的倒数可以近似表示为?RNE?effi?1?(1?var?q(?|z1:k)(w)),因此就
可以给出相对效率的一种近似的测量尺度。这种有效抽样尺度N可以写成:
ii2Neff?N/1?varq(?|z1:k)(wk)?N/Eq(?|z1:k)?(wk)??N?? (2.9)
在实际计算中,一般可以采用如下近似:
iNeff?1/?i?1?wk?N2 (2.10)
有效抽样尺度N越小,就表示退化现象越严重,从(2.10)可以看出,只要增加抽样粒
eff子就可以增大N,从而改善退化现象。但是随着粒子数的增加计算量增加,这样必然导
eff致实时性不能得到保证,一般粒子数量N由状态空间的维数、先验概率密度函数和重要密度函数的相似度以及迭代次数决定。因此,通常要考虑与其他策略结合,一般是在序贯重要性采样之后,进行重要性样本的重采样,判断是否重采样的依据是粒子退化的程度判断,首先设定一个有效样本数Nthreshold作为阈值,当Neffi2?1/?i?1(wk)?Nthreshold?N?时,则进行重
采样,这样就无需在每个时刻都要进行重采样,从而能够自适应地根据样本情况决定是否要进行重采样,可以在一定程度上降低算法的复杂度。 2.2.3 标准粒子滤波伪代码 1、标准粒子滤波主要步骤
samplesamplep(xk|xk?1)temporaldynamicsp(xk?1|z1:k?1)posteriornormalizep(zk|xk)likelihoodp(xk|z1:k)posterior
图2.4 标准粒子滤波主要步骤
Fig2.4 the main steps of Standard particle filter
11
江苏科技大学工学硕士学位论文
图2.5 标准粒子滤波图解
Fig2.5 the diagram of Standard particle filter
2、标准粒子滤波伪代码
Step1:初始化k?0,采样x0ip?x0?,即根据p?x?分布采样得到x0i,i?1,2,,N。
0i,N。 Step2:重要性权值计算。设定k:?k?1,采样xkiq?xk|x0:k?1,z0:k?,i?1,2,计算重要性权值如下:
iiiiwk=wk?1p?Zk|Xk?1?=wk?1p(Zk|Xki)p(Xki|Xki?1)q(Xki|Xki?1,Zk),i?1,2,,N
归一化重要性权值:w=w/?w
ikikikNStep3: 重采样。若NStep4:输出。
eff则进行重采样,将原来的带权样本{x0:k,wk}i?1映?1/?i?1(w)?Nthreshold,
Ni2k??i?1iiNi?1N射为等权样本{x0:k,N}i?1。
?=?wX 状态估计:XkikikN方差估计:P??w(Xkiki?1i?1Nik?)(Xi?X?)T ?XkkkStep5:判断是否结束,若是则退出本算法,若否则返回step2。
其中标准粒子滤波算法取重要性密度函数为转移先验。
12
第2章 粒子滤波技术及其收敛性分析证明
图2.6 标准粒子滤波流程图
Fig2.6 the flow chart of Standard particle filter
2.3 粒子滤波主要收敛性结果分析
从含噪声的量测信息中对状态向量进行估计需要进行最优滤波,除了显著的线性高斯条件外,通用的最优滤波通常没有有限的递推公式。然而实际问题要求估计值必须极有一定的精度和收敛速度。为此,研究粒子滤波的收敛性及收敛速度具有十分重要的现实意义。
[21,27-29]
以下是对粒子滤波收敛性分析结论的总结归纳。
2.3.1 基本问题描述 非线性滤波问题描述:
xk?1?f?xk,uk??vkzk?h?xk,uk??ek
xk为系统状态,zk为系统输出,uk系统输入,而ek和vk分别为量测和状态噪声独立随
机变量序列,问题就是基于k时刻的量测值估计出状态值。通常假设输入为确定性序列。则以上方程可以由以下的动态系统描述:
xk?1?f?xk,k??vkzk?h?xk,k??ek
13
江苏科技大学工学硕士学位论文
于是令pv(,vk),pe(,ek)为噪声的概率密度函数,最优估计的问题就是求解如下的条件期
?k?E(xk|z1:k),这里z1:k望x?z1,z2,,zk?。其实就是要得出x?k的后验分布即可,而目前的求解都
是近似估计的方法,如扩展卡尔曼滤波、高斯和近似、蒙特卡罗近似等。
粒子滤波作为基于蒙特卡罗近似的方法,由于其特殊的优越性获得了广泛应用。粒子
?k和x?kN要非常接近才行。现今的?kN?表示,显然我们期望当N趋向增大时,x的概念可以用?x?k?E(?(xk)|z1:k),这里?:?n??是一个有界标量函数。而对研究成果都是求解以下的估计值,xx于?是无界函数的情况,其收敛性结果讨论的很少。本节的主要目的就是讨论和给出?是无界函数时,粒子滤波的一些收敛性结果。
对于很多问题来说,在给定量测序列?z1,z2,,zk?时,都是求解状态xk的后验密度,显然,
?k?E(xk|z1:k)就是该后验密度的均值。而后验密度的更新是估计问题的重要部分。由贝叶斯理x论得
p?xk|z1:k??p?zk|xk?p?xk|z1:k?1??p?z|x?p?x|z?dxkkk1:k?1
kp?xk|z1:k?1???p?xk|xk?1?p?xk?1|y1:k?1?dxk?1
2.3.2 粒子滤波引入 若要求解计算估计值
?k?E?xk|z1:k???xkp?xk|z1:k?dxk x首先要求解p(xk|z1:k)的值,粒子滤波就给出很好求解后验密度p(xk|z1:k)的方法,将后验概率密度用带权样本的离散和表示:
pN?xk|z1:k???wki??xk?xki?
i?1N 这里{wki}iN?1表示粒子集{xki}iN?1的权值,每个样本xki表示每一个状态值,而其所应的权值代表状态值与真实样本之间的接近程度。同样我们可以将后验概率用以下的等权样本集合的离散形式表示,
1pN?xk|z1:k?????xk?xki?
i?1NN以上的表示形式是经过粒子重采样以后获得的,粒子重采样步骤中,高权粒子被多次的复制,低权粒子被忽略,一定程度上讲,这也可以是后验概率密度的一种近似方案。
标准粒子滤波算法A如下:
(1)初始化粒子集,从初始分布p?x0?中抽取粒子{x0}i?1。
iN(2)时间更新。根据系统状态方程预测新粒子xk。
iiiN(3)量测更新。计算重要性权值{wk}i?1,wk?p?zk|xk?,i?1,2,,N,归一化权值wki?wki/?wki。
Ni?1i14