时间:2024-07-29
张 燕
(苏州市职业大学 计算机工程学院,江苏 苏州 215104)
一种多尺度重采样粒子滤波算法
张 燕
(苏州市职业大学 计算机工程学院,江苏 苏州 215104)
粒子滤波过程中通过引入重采样消除粒子匮乏现象,但是重采样过程却削弱了粒子的多样性,导致粒子贫化.为协调粒子多样性和样本贫化之间的冲突,提出一种多尺度重采样粒子滤波算法,粒子空间重采样划分多个尺度,然后重新定义各尺度粒子权重并重采样,用尺度熵值度量重采样粒子的多样性,指导重采样.仿真实验结果表明,多尺度重采样粒子滤波算法有效提高了精度,适用于高精度系统滤波计算,并将应用于精细果业中数据同化.
粒子滤波;粒子多样性;重采样;多尺度;熵
粒子滤波(particle filter)是一种根据蒙特卡洛(Monte Carlo)仿真原理实现递推贝叶斯估计的滤波技术,其思想是利用粒子集表示概率,通过从后验概率寻找一组在状态空间中传播的随机样本近似地表示概率密度函数,用样本均值代替积分运算,进而获得系统状态的最小方差估计的过程.粒子滤波算法在非线性非高斯模型系统中具有独特的优势,被广泛地应用于目标跟踪、导航与定位、系统错误变化检测、时间序列信号处理、模式识别、金融数据处理,数据同化等[1-3].
但是粒子滤波算法仍然存在着粒子退化问题,引入重采样方法一定程度上缓解了粒子退化问题.重采样的基本思想是复制权值较大的粒子,摒弃权值较小的粒子.目前广泛应用的重采样算法有多项式重采样、分层重采样、系统重采样和残差重采样等.然而重采样使得小权重粒子大量消失,大权重粒子被反复复制,会造成样本有效性和多样性的损失,导致样本贫化现象[1].如何协调增加粒子多样性和减少权值较小的粒子数目,是粒子滤波算法研究重点[3].
针对粒子滤波算法的缺陷,为了平衡重采样导致的粒子贫化和粒子多样性之间的“冲突”,本文提出一种多尺度重采样粒子滤波算法,主要思想是将重采样粒子权重划分等级,在划分等级时遵循权重越高分级越细,然后用每个等级的粒子权重均值代替该等级粒子采样权重,通过样本各等级粒子的熵度量和控制粒子多样性,从而既保证了重采样的有效性,又避免样本贫化.
定义动态系统的状态方程和测量方程描述为
式中:χt为系统t时刻的状态;ut-1为系统t-1时刻的输入;yt为系统t时刻的观测量;ut和vt分别为系统t时刻的独立同分布的过程噪声和测量噪声.
粒子滤波的目的就是通过观测值y1:t={y1,…,yt}估计t时刻状态χt的值.根据贝叶斯滤波的思想,假设χt服从一阶Markov过程,状态变量初始概率密度函数p(χ0|y0)作为先验知识已知,那么后验分布p(χt| y1:t)的估计为预测/更新递归执行.
粒子滤波算法的本质就是将积分运算变为有限样本点的求和运算,即状态概率密度分布用经验概率分布来近似表述为
重采样是粒子滤波算法的关键步骤,避免了粒子匮乏.重采样后,更新概率密度函数可以表示为
重采样通过复制大权值粒子、丢弃小权值粒子可以实现粒子的优胜劣汰,在一定程度上减少了权值退化现象[4].当某个粒子权值较大时,则它将被多次复制.但是单纯复制粒子的方法很容易带来样本贫化现象[5].在基本重采样算法中,粒子多样性的损失是不可避免的,而多样性的损失正是由于去掉了权值小的采样点的同时简单复制权值大的粒子.
2.1 粒子权重空间尺度划分
设粒子集为Pt=(χ1,χ2,…,χN),粒子空间范围为[Lmin,Lmax],将粒子空间按欧氏距离进行尺度划分,按尺度li划分a个等份,第i个尺度li定义为
式中:a为比例因子常量(a>1);i为尺度等级(i≥1);K为尺度等级i的最大值.
粒子空间尺度的划分是为了精确重采样,便于度量粒子的分散程度,重采样过程中兼顾粒子多样性和重要性.在尺度划分时遵循了粒子在空间中粒子越密分级越细,保证落入的第i个尺度li的任一个区间li/a中粒子数为小于n,划分i个尺度l0~li的示意图如图1所示.
图1 尺度划分示意图
2.2 重采样与粒子多样性的度量
目前常根据有效粒子数Neff来确定是否重采样[1].设定阈值Nth,如果Neff 本文提出一种多尺度重采样,其思想是将各个尺度中粒子的权重乘以尺度等级,以乘积值代替各尺度中粒子的重采样权重,这样既充分体现了粒子重要性,使权重高粒子仍然有较高的概率被重采样选中,又增加了权重低粒子被重采样选中概率.在t时刻,第i个尺度中第j个粒子归一化权重值为 为了度量重采样粒子的多样性,协调粒子多样性和样本贫化之间的冲突.定义H(Pt)为粒子集Pt在重采样的尺度熵,尺度熵H(Pt)为 尺度熵H(Pt)有效度量粒子集的多样性,指导粒子重采样,从而提高粒子滤波的精度和算法运行速度. 2.3 多尺度重采样粒子滤波算法步骤 2)基于粒子数N,对粒子空间序列按尺度进行划分i个尺度,使落入的第i个尺度li的任一个区间li/a中粒子数小于n. 3)根据式(6)、式(7),计算多尺度重要性重采样权重. 5)状态估计、方差估计并输出,t=t+1,返回步骤2. 为了评估多尺度重采样粒子滤波算法(MSPF)的有效性,使用Matlab7.0进行仿真,并与基本粒子滤波算法比较.仿真采用非线性单变量不稳定增长模型,状态方程为 式中:系统噪声ut-1和量测噪声vt为服从高斯分布的白噪声.阈值Nth=0.4 N,仿真步数为50步,状态初值χ0=0.算法的滤波精度评价指标采用均方根误差. 图2是本文算法和基本粒子滤波算法对运动轨迹状态估计的比较,从图2中可以看出,MSPF算法估计值更接近于真实值,这说明了MSPF算法精度更高. 图2 状态估计值图 针对基本粒子滤波算法中样本退化问题,提出一种多尺度重采样粒子滤波算法,通过粒子空间重采样划分多个尺度,然后重新定义各尺度粒子权重并重采样,保证算法的有效性,用尺度熵值度量和保持重采样粒子的多样性,避免了粒子贫化.实验结果表明,多尺度重采样粒子滤波算法较好地平衡重采样导致的粒子贫化和粒子多样性之间的“冲突”,提高了滤波性能.下一步研究的重点是如何合理设置尺度K进一步优化本算法,并应用于精细果业中过程模型预测估计,以指导变量施肥等. [1]胡士强,敬忠良. PF算法综述[J]. 控制与决策,2005,20(4):361-365. [2]邹国辉,敬忠良,胡洪涛. 基于优化组合重采样的粒子滤波算法[J]. 上海交通大学学报,2006,40(7):1135-1139. [3]李晋惠,白朝政. 基于确定性重采样的粒子滤波算法[J]. 西安工业大学学报,2012,32(11):891-894. [4]于春娣. 一种基于改进重采样的粒子滤波算法[J]. 计算机应用与软件,2013,30(2):296-299. [5]左军毅,张怡哲,梁彦. 自适应不完全重采样粒子滤波器[J]. 自动化学报,2012,38(4):647-652. (责任编辑:李 华) Particle Filer Algorithm Based on Mutil-scale Resampling ZHANG Yan The introduction of resampling into particle filtering to eliminate particle deficiency weakens the diversity of particles and leads to particle dilution. To reconcile the confict between particle diversity and sample dilution,a multi-scale-resampling-based particle fltering algorithm is proposed. The particle spatial resampling is divided into multiple scales,and particle weights are redefned for each scale before resampling,using scale entropy as a guide to measure the diversity of resampled particles. The simulation experiment shows that multiscale-resampling- based particle fltering algorithm signifcantly increases the precision and is practical for highprecision systematic fltering computation,and it can be applied to the data assimilation of precision fruit. particle fltering;particle diversity;resampling;multi-scale;entropy TP391 A 1008-5475(2014)03-0011-03 2014-06-03; 2014-06-20 江苏省自然科学基金资助项目(BK2012164) 张 燕(1980-),男,江苏苏州人,讲师,硕士,主要从事计算机网络和人工智能方向研究.3 实验分析
4 结论
(School of Computer Engineering,Suzhou Vocational University,Suzhou 215104,China)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!