《用极大似然法进行参数估计(10页).doc》由会员分享,可在线阅读,更多相关《用极大似然法进行参数估计(10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-用极大似然法进行参数估计-第 10 页北京工商大学系统建模与辨识课程上机实验报告(2016年秋季学期)专业名称 : 控制工程 上机题目 : 用极大似然法进行参数估计 专业班级 : 计研3班 学生姓名 : 王 瑶 吴 超 学 号 : 指导教师 : 刘翠玲 2017 年 1 月一 实验目的通过实验掌握极大似然法在系统参数辨识中的原理和应用。二 实验原理1 极大似然原理设有离散随机过程与未知参数有关,假定已知概率分布密度。如果我们得到n个独立的观测值,则可得分布密度,,。要求根据这些观测值来估计未知参数,估计的准则是观测值的出现概率为最大。为此,定义一个似然函数 (1.1) 上式的右边是n个概率密
2、度函数的连乘,似然函数L是的函数。如果L达到极大值,的出现概率为最大。因此,极大似然法的实质就是求出使L达到极大值的的估值。为了便于求,对式(1.1)等号两边取对数,则把连乘变成连加,即 (1.2)由于对数函数是单调递增函数,当L取极大值时,lnL也同时取极大值。求式(1.2)对的偏导数,令偏导数为0,可得 (1.3)解上式可得的极大似然估计。 2 系统参数的极大似然估计Newton-Raphson法实际上就是一种递推算法,可以用于在线辨识。不过它是一种依每L次观测数据递推一次的算法,现在我们讨论的是每观测一次数据就递推计算一次参数估计值得算法。本质上说,它只是一种近似的极大似然法。设系统的差
3、分方程为 (2.1)式中因为是相关随机向量,故(2.1)可写成 (2.2)式中 (2.3) (2.4)是均值为0的高斯分布白噪声序列。多项式,和中的系数和序列的均方差都是未知参数。设待估参数 (2.5)并设的预测值为 (2.6)式中为预测误差;,为,的估值。预测误差可表示为 (2.7)或者 (2.8)因此预测误差满足关系式 (2.9)式中假定预测误差服从均值为0的高斯分布,并设序列具有相同的方差。因为与,和有关,所以是被估参数的函数。为了书写方便,把式(2.9)写成 (2.10) (2.11)或写成 (2.12)令k=n+1,n+2,n+N,可得的N个方程式,把这N个方程式写成向量-矩阵形式
4、(2.13)式中 因为已假定是均值为0的高斯噪声序列,高斯噪声序列的概率密度函数为 (2.14)式中y为观测值,和m为y的方差和均值,那么 (2.15)对于符合高斯噪声序列的极大似然函数为 (2.16)或 (2.17)对上式(2.17)等号两边取对数得 (2.18) 或写为 (2.19)求对的偏导数,令其等于0,可得 (2.20)则 (2.21)式中 (2.22)越小越好,因为当方差最小时,最小,即残差最小。因此希望的估值取最小 (2.23)因为式(2.10)可理解为预测模型,而e(k)可看做预测误差。因此使式(2.22)最小就是使误差的平方之和最小,即使对概率密度不作任何假设,这样的准则也是
5、有意义的。因此可按J最小来求的估计值。由于e(k)式参数的线性函数,因此J是这些参数的二次型函数。求使最大的,等价于在式(2.10)的约束条件下求使J为最小。由于J对是非线性的,因而求J的极小值问题并不好解,只能用迭代方法求解。求J极小值的常用迭代算法有拉格朗日乘子法和牛顿-拉卜森法。下面介绍牛顿-拉卜森法。整个迭代计算步骤如下:(1)确定初始的值。对于中的可按模型 (2.24)用最小二乘法来求,而对于中的可先假定一些值。(2)计算预测误差 (2.25)给出 并计算 (2.26)(3)计算J的梯度 和海赛矩阵 ,有 (2.27)式中 (2.28)即 (2.29)同理可得 (2.30) (2.3
6、1)将式(2.29)移项化简,有 (2.32)因为 (2.33)由求偏导,故 (2.34)将(2.34)代入(2.32),所以 (2.35)所以得 (2.36)同理可得(2.30)和(2.31)为 (2.37) (2.38)根据(2.36)构造公式 (2.39)将其代入(2.36),可得 (2.40)消除可得 (2.41)同理可得(2.37)和(2.38)式 (2.42) (2.43)式(2.29)、式(2.30)和式(2.31)均为差分方程,这些差分方程的初始条件为0,可通过求解这些差分方程,分别求出e(k)关于的全部偏导数,而这些偏导数分别为,和的线性函数。下面求关于的二阶偏导数,即 (2
7、.44) 当接近于真值时,e(k)接近于0。在这种情况下,式(2.44)等号右边第2项接近于0,可近似表示为 (2.45)则利用式(2.45)计算比较简单。(4)按牛顿-拉卜森计算的新估值,有 (2.46)重复(2)至(4)的计算步骤,经过r次迭代计算之后可得,近一步迭代计算可得 (2.47)如果 (2.48)则可停止计算,否则继续迭代计算。式(2.48)表明,当残差方差的计算误差小于时就停止计算。这一方法即使在噪声比较大的情况也能得到较好的估计值。三 实验内容设SISO系统差分方程为其中极大似然估计法默认为:辨识参数向量为 c1 c2式中,为噪声方差各异的白噪声或有色噪声;u(k)和y(k)
8、表示系统的输入输出变量。四 实验流程图五 代码实现程序如下: 0.926 -1.297 %输入数据 0.134 1.901%输出数据na=2;nb=1;nc=2;d=1;nn=max(na,nc);L=size(Y,2);xiek=zeros(nc,1); %白噪声估计初值yfk=zeros(nn,1); %yf(k-i)ufk=zeros(nn,1); %uf(k-i)xiefk=zeros(nc,1); %vf(k-i)thetae_1=zeros(na+nb+1+nc,1); %参数估计初值P=eye(na+nb+1+nc);for k=3:L %构造向量 phi=-Y(k-1);-Y(
9、k-2);U(k-1);U(k-2);xiek; %组建h(k) xie=Y(k)-phi*thetae_1; phif=-yfk(1:na);ufk(d:d+nb);xiefk; %递推极大似然参数估计算法 K=P*phif/(1+phif*P*phif); thetae(:,k)=thetae_1+K*xie; P=(eye(na+nb+1+nc)-K*phif)*P; yf=Y(k)-thetae(na+nb+2:na+nb+1+nc,k)*yfk(1:nc); %yf(k) uf=U(k)-thetae(na+nb+2:na+nb+1+nc,k)*ufk(1:nc); %uf(k) x
10、ief=xie-thetae(na+nb+2:na+nb+1+nc,k)*xiefk(1:nc); %vf(k) %更新数据 thetae_1=thetae(:,k); for i=nc:-1:2 xiek(i)=xiek(i-1); xiefk(i)=xiefk(i-1); end xiek(1)=xie; xiefk(1)=xief; for i=nn:-1:2 yfk(i)=yfk(i-1); ufk(i)=ufk(i-1); end yfk(1)=yf; ufk(1)=uf;endthetae_1figure(1)plot(1:L,thetae(1:na,:);xlabel(k); y
11、label(参数估计a);legend(a_1,a_2); axis(0 L -2 2);figure(2)plot(1:L,thetae(na+1:na+nb+1,:);xlabel(k); ylabel(参数估计b);legend(b_1,b_2); axis(0 L 2);figure(3)plot(1:L,thetae(na+nb+2:na+nb+nc+1,:);xlabel(k); ylabel(参数估计c);legend(c_1,c_2); axis(0 L -2 2);六 实验结果实验结果如下所示。thetae_1 =可知,估计值a1=,a2=,b1=,b2=,c1=,c2=图1 A参数波形变化情况图2 B参数波形变化情况图3 C参数波形变化情况图10-11 图10-12有162个数据,结果如下:thetae_1 =可知,估计值a1=,a2=,b1=,b2= ,c1= ,c2= 图1 A参数波形变化情况图2 B参数波形变化情况图3 C参数波形变化情况六 实验总结通过此次实验,对极大似然法的原理和方法进行了研究和对其matlab的仿真,可发现其离线辨识效果很好,但是其在线辨识的计算量很大,实验数据不同,出现的效果也不一样,递推的极大似然法呈现病态,所得参数估计取值很不稳定,以至于不能采用。