研究在一个含有隐含变量中的一种算法
计算机技术与发展第19卷 第9期 19 No.9 Vol.2009年9月Sep. 2009COMPUTERTECHNOLOGYANDDEVELOPMENT
EM算法研究与应用
王爱平,张功营,刘 方
(安徽大学计算智能与信号处理教育部重点实验室,安徽合肥230039)
摘 要:引入了可处理缺失数据的EM算法。EM算法是一种迭代算法,每一次迭代都能保证似然函数值增加,并且收敛到一个局部极大值。对EM算法的基本原理和实施步骤进行了分析。算法的命名,是因为算法的每一迭代包括两步:第一步求期望(ExpectationStep),称为E步;第二步求极大值(MaximizationStep),称为M步。EM算法主要用来计算基于不完全数据的极大似然估计。在此基础上,把EM算法融合到状态空间模型的参数估计问题。给出了基于Kalman平滑和算法的线性状态空间模型参数估计方法。关键词:EM算法;状态空间模型;Kalman
中图分类号:TP301.6 文献标识码:A 文章编号:1673-629X(2009)09-0108-03
ResearchandApplicationofEMAlgorithm
WANGAi2ping,ZHANGGong2ying,IUFang
(MinistryofEducationKeyLab.ofIntelligent&,
AnhuiUniversity,Hefei,Abstract:Followingthedescriptionoftraditionalandthediscussionsontheirdisadvantages.EMalgorithmisaniterativealgorithm,toensurefunctioncanbeincreased,andtheconvergencetoalocalmaxima.PresentsanEMthattodealwithmissingdataproblems,wherethedetailsoftheEMalgorithmanditsre2alizationnamedbecauseeachiterativealgorithmincludestwosteps:thefirststepinseekingex2pectations(Step)astheEstep;thesecondstepformaxima(MaximizationStep),knownasstep-by-stepM.EMalgorithmtotheprincipalbasedonincompletedata,maximumlikelihoodestimation.ThisisthenfollowedbyapplyingtheproposedEMalgorithmtotheparameterestimationofstatespacemodels.ThepaperalsopresentstheKalmansmoothingbasedpa2rameterestimationmethodsforlinearstatespacemodels.Keywords:EMalgorithm;state-spacemodel;Kalman
1 EM算法及其应用
EM算法是一种迭代算法,每一次迭代都能保证
间模型的参数估计问题:
xt=Ftxt-1+ωt
yt=Htxt+υt
(1)(2)
似然函数值增加,并且收敛到一个局部极大值[1,2]。算法的命名,是因为算法的每一迭代包括两个步:第一步求期望(ExpectationStep),称为E步;第二步求极大值(MaximizationStep),称为M步。EM算法主要用来计算基于不完全数据的极大似然估计[3~5]。
其中,初始状态x0,随机误差项ωt和υt为独立高斯分布,三者之间是相互独立:x0~N(x0|0,P0|0),ωt~ωiidN(0,Q),υt~iidN(0,R),E[υt′t]=0,E[υtx′0]
=0,E[ωtx′0]=0。
假设模型噪声[11,12]、状态的初始条件都服从高斯
2 EM算法的状态空间模型参数估计
下面推导基于Kalman平滑和算法的状态空间模型参数估计方法[6~10]。给出一般形式的线性状态空
分布,即:
)=(2π)p(x0|θx0|0)′P0|0(x0-x0|0)}
)=(2π)p(yt|xt,θHtxt)′R
-1
--1
-
2
|P0|0|
-
2exp{
-
(x0-2
(3)
收稿日期:2008-12-26;修回日期:2009-03-24基金项目:国家自然科学基金项目(60472065)
作者简介:王爱平(1956-),女,安徽合肥人,教授,主要从事计算机教学与研究。
2
|R|
-
2exp{
-
(yt-2
(4)
(yt-Htxt)}
-
)=(2π)p(xt|xt-1,θ
2
|Q|
-
2exp{
-
(xt-2
研究在一个含有隐含变量中的一种算法
第9期 王爱平等:EM算法研究与应用Ftxt-1)′Q
-1
109
(9)(10)
(xt-Ftxt-1)}(5)Htxt|T)′+HtPt|TH′t])
Q=
则完全数据的似然也服从高斯分布,完全数据的似然可以表示为:
T
T
(A-CB-1C′)
)=p(x0|θ)p(x0∶T,y1∶T|θ
T
t=1
∏p(x
t
|xt-1,
(6)
4 算法实施步骤
现在把应用EM算法进行状态空间模型[13]参数估计的实施步骤归纳如下:
1)对参数θ={R,Q,F,H,x0|0,P0|0}进行初始
θ)
t=1
∏p(y
t
)|xt,θ
因此,完全数据的对数似然等于:
)=lnp(x0∶T,y1∶T|θ
-1(x0-x0|0)′-ln|P0|0|-P0|0(x0-x0|0)
22-ln|Q|-22
--Tt=1T
化;
k-1
2)E步:根据θ,执行卡尔曼滤波及平滑,计算
∑(x
t
-Ftxt-1)′Q-Htxt)′R
-1
-1
(xt-Ftxt-1)
期望值:xt|T,Pt|T,Pt,t-1|T;
3)M步:计算参数θ={R,Q,F,H,x0|0,P0|0}新
2
ln|R|-2
2
t=1
∑(y
t
(yt-Htxt)
(7)
的值;
4)重复参数θ直至收敛[14]。
)ln(2π
其中,N是样本量,m是状态变量的维度,n是观测变量的维度。
5 实验仿真
,取
=Ft-+wtyttxt+vt
3 求解对数似然的期望的极大化
根据EM算法基本原理,获得以下式子:
E[lnp(x0∶T,y1∶T
-)]=-|θ|0)ln(2x0、噪声干扰wt和vt均被假设为高,即:
x0~N(x0|0,P0|0),wt~iidN(0,Qw),vt~iidN(0,Rv)
22
-1-tr(P0])|000|0)(0-x0|0)′2
-
ln|Q|-
ln|2
T
其中参数实际取值为:F=0.9,H=0.2,Qw=0.7,
Rv=0.2,状态初始设置为x0~N(0,10)。
(8)
t=1T
tr(Q∑
-1
E[(xt-Ftxt-1)(xt-Ftxt-1)′])
-2
t=1
∑
tr(R-1E[(yt-Htxt)(yt-Htxt)′])
依据Kalman滤波和平滑公式,然后联合EM算法
对模型参数θ={F,H,Rv,Qw}进行估计。EM算法迭代次数设置为400(当然迭代次数设置越大,能得到更好的估计结果)。
程序运行结果θ={0.9835,0.2049,0.2107,0.
683},仿真结果如图1~3所示。
记:
T
A=B=C=
t=1T