最小二乘类辨识方法的比较
胡双红
(长沙理工大学计算机与通信工程学院,长沙,410076)
摘要:本文系统的探讨了三种最小二乘类辨识方法的原理和性能,并对各种方法在各种不同的环境下进行了MATLAB仿真,仿真结果证明:最小二乘法不适合实时处理,在同等情况下,递推最小二乘的辨识速度较快,但在有色噪声干扰下效果不理想,广义最小二乘法的辨识效果最好,且不受噪声是否有色的影响,但是费时最多。
1 引言
系统辨识是一门介于现代控制理论和系统理论的边缘学科.它将现代控制论的平滑、滤波、预测和参数估计理论,以及系统论的系统分析方法和建模思想应用于自然科学、社会科学和工程实践中的各个领域,与各个领域的专业知识相给合,形成了一个个新的交叉学科分支。
关于系统辨识的含义,早在1962年Zacleh曾作如下定义:“根据系统的输入和输出,在指定的一类系统中确定一个相被辨识系统等价的系统”。根据这个定义,在系统辨识中必须确定三方面的问题;第一,必须指定一类系统.即根据先验信息确定系统模型的类型。第二,必须规定一类插入信号。例如正弦信号、阶跃信号、脉冲信号、白噪声、伪随机信号等。而且这些信号从时域考虑,必须能持续地激励系统的所有状态;从频域考虑,输入信号的频带能覆盖系统的频带宽度。第三,必须规定“系统等价”的含义及其度量准则。
第 1 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
2 线性系统的辨识
2.1 问题描述
考虑如下线性系统:
zka1zk1anazknabu1k1bnbuknbek (1)
其中,u(k)为系统激励信号,y(k)为系统输出,e(k)为模型噪声。
其系统模型如图1所示:
图1 SISO的系统模型结构图
其中G(z-1)是系统函数模型,N(z-1)为有色噪声系统模型,e(k)为白噪声v(k)经过系统函数为N(z-1)的系统后的输出。通常
Bz1Az1Dz1Gz1, Nz1Cz1 (2)
式中:
第 2 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
Az11a1z1a2z2anznaanb112Bzbzbzbz12nb (3)
Cz11c1z1c2z2cnznccnd112Dzdzdzbz12nd (4)
则系统可表示为:
zkBz1Az1ukCzDz11vk (5)
设样本和参数集为:
h(k)[-z(k-1) , -z(k-2), ...... -z(k-n), u(k-1),u(k-2), ......, u(k-n)]TT[a,a,......,a,b,b,......,b]12n12n (6) h(k)为可观测的量, 差分方程可写为最小二乘形式
z(k)hTkek (7) 如何系统噪声e(k)存在的情况下从该方程中正确的解出,即是系统辨识的任务。
为了求出,我们面临三大问题:一是输入信号的选择,二是判决准则的选取,三是辨识算法的选择,下面一一探讨。
2.2 选择输入
为了准确辨识系统参数,我们对输入信号有两大要求,一是信号要能持续的激励系统
第 3 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
所有状态,二是信号频带能覆盖系统的频带宽度。除此之外还要求信号有可重复性,不能是不可重复的随机噪声,因此我们通常选择M序列或逆M序列作为输入。
2.3 准则函数
因为本文主要探讨最小二乘类辨识方法,在此选取准则函数
TJekzkhkk1k122 (8)
使准则函数Jmin的估计值记做LS,称作参数的最小二乘估计值。
在式(7)中,令k=1,2,3,……L,可构成线性方程组:
TzLkHLkeLk (9)
式中
z1e1z2e2, ezLLzLeLz1nau0u1nbz0z1z2nu1u2nabHLzL1zLnuL1uLnab (10)
准则函数相应变为:
第 4 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
LLTJzkhkekzLHLk1k122TzLHL (11)
极小化J,求得参数的估计值,将使模型更好的预报系统的输出。
2.4 辨识算法
常用的最小二乘类辨识方法有下列三种:最小二乘法,递推最小二乘法和广义最小二乘法。
2.4.1 最小二乘法 设LS使得Jmin,则有
JLSTzLHLzLHL0 (12)
展开上式,并根据以下两个向量微分公式:
TaxaTxTxAx2xTA A为对称阵x (13)
H得正则方程: TLTHLLSHLzL (14)
1当HHL为正则阵时,有
TLTTLSHLHLHLzL (15)
第 5 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
2J2且有LST2HLHL0,所以满足式(15)的LS唯一使得Jmin,这种通过极
小化式(11)计算LS的方法称作最小二乘法。而且可以证明,当噪声e(k)是均值为0的高斯白噪声时,可实现无偏估计
2.4.2 递推最小二乘算法
为了减少计算量,减少数据在计算机中占用的内存,并实时辨识出系统动态特性,我们常利用最小二乘法的递推形式。下面我们来推导递推最小二乘算法的原理。
首先,将式(11)的最小二乘一次完成算法写为
TTWLSHHLHLzLPLHLzLTL1LLThihihizii1i1 (16)
1定义
k1TTPkHHhihikki1k1P1k1HTHhihTik1k1i1 (17)
式中
第 6 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
hT1hT1TTh2h2 HHkk1TThkhk1 (18)
式中,h(i)是一个列向量,也就是HL的第i行的倒置,P(k)是一个方阵,他的维数取决于未知参数的个数,假设未知参数的个数是n,则P(k)的维数是n×n.。
由式17可得P(k)的递推关系为:
k1P1khihTihkhTki1P1k1hkhTk 设
zz11,z2,,zk1Tkzkz1,z2,,zkT 则
k1HT1k1Hk1HTk1zk1k1Pk1hizii1 1k1由此可得:
Pk1k1hizii1 (19)
(20)
(21)
22)
第 7 页 共 20 页
(系统辨识课程论文 授课教师:贺尚红老师
由式19和22可得
kkHHkHzPkhizii11PkPk1k1hkzkTk1Tkk1TPkPkhkhkk1hkzkTk1Pkhkzkhkk1 (23)
引进增益矩阵K(k),定义KkPkhk (24)
Tkk1Kkzkhkk1式23可以进一步写为 (25)
接下来可以进一步把式20写为
11TPkPk1hkhk (26)
利用矩阵反演公式
ACCTA1A1CICTA1CCTA111
将式(26)演变成
TPkPk1Pk1hkhkPk1hkPk1hk1Pk1hkhTkITPk1hkPk1hk1 (27)
T1将上式代入式24,整理后可得
第 8 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
TKkPk1hkhkPk1hk1 (28)
1综合式25、27和28可得最小二乘递推参数估计算法RLS
kk1KkzkhTkk11TKkPk1hkhkPk1hk1TIKkhkPkPk1 (29)
2.4.3 广义最小二乘法
设SISO系统采用如下模型:
1vk1CzAz1zkBz1uk (30)
其中A(z-1),B(z-1)和C(z-1)的定义见式?
假定模型阶次na,nb和nc已知,用广义最小二乘法可以得到无偏一致估计。令
zfkCz1zk1ukCzuk (31) f及
第 9 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
[a1,a2,,ana,b1,b2,,bnb]Thfkzfk1,,zfkna,ufk1,,ufknbT (32)
将模型化为最小二乘格式:
zfkhTfkvk (33)
由于v(k)是白噪声,所以用最小二乘可以获得参数θ的无偏估计,由于噪声模型C(z-1)未知,还需要用迭代的方法来求得C(z-1)。令
1vk1Czek (34)
置
Tk[c,c,,c]e12ncThkek1,,eknc (35) e这样就把噪声模型也转变为最小二乘格式:
Tekhekevk (36)
由于上式中的噪声已为白噪声,所以用最小二乘也可获得参数θe的无偏估计,但是数据向量中依然含有不可测的噪声量hekek1,,ekncTek1,,eknc,可用相应的估计值来代替,置
,其中k <0时,e(k)=0;k >0时,按照
ekzkhTk (37)
计算,式中
第 10 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
hkzk1,,zkna,uk1,,uknbT (38)
综上所述,广义最小二乘法可归纳为
kk1KfkzfkhTfkk1KkPk1hkhTkPk1hk11fffffPkIKkhTkPk1ffffTekhkek1ekek1Keke1KekPek1hekheTkPek1hek1PekIKekheTkPek1 (39)
3 仿真研究
已知系统模型:x(k)-1.5x(k-1)+0.7x(k-2)=2u(k-1)+0.5u(k-2), y(k)=x(k)+ν(k),ν(k)=
αγ(k), u、x、y、ν分别为模型输入、模型输出、测量输出、干扰噪声。输入u为逆m序
列:信号幅值a=1、寄存器位数为n=5(信号长度N=2n-1=31),重复周期数q=40。α为
100%100%x噪信比调整因子,噪信比定义为:NSR=x,σx、分别为模型输出x和噪声ν的均方差(标准差),γ有两种模型:(1)γ为白噪声,(2)γ为有色噪声,噪声模型为:
γ(k)=e(k)+0.5e(k-1)+0.9γ(k-1)-0.95γ(k-2),e(k)为白噪声。定义辨识误差值:δ=
1Ni1N00^100%,其中:N为独立的实验次数,0为模型真值,^为估计值。
3.1 产生输入和输出数据
第 11 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
选择自相关特性好的逆m序列作为输入。利用MATLAB产生寄存器位数n=5,每周期长为31,重复周期数q=40的逆m序列,并将其作为输入得到系统输出。绘出一个周期的输入输出图形分别如图2和图3所示。
图2 寄存器位数为5的逆m序列 图3 逆m序列经过系统的输出
3.2 产生系统噪声
为了后面能较好的区分每种辨识方法的性能,我们分别在输出中叠加白噪声和有色噪声。取NSR=20%,用同一噪声源产生两种噪声模型,分别绘制白噪声、用相同噪声模型产生的有色噪声和不同噪声影响下的系统输出的曲线,如图4、图5图6和图7所示。
图4 方差为0.2的高斯白噪声 图5 白噪声影响下的系统输出
第 12 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
图6 白噪声经过噪声模型后产生的有色噪声 图7 有色噪声影响下的系统输出
3.3 最小二乘辨识模型辨识
为较好的研究最小二乘辨识模型的性能,作者分别在不同的噪声模型下,用不同的噪信比影响系统输出,利用输入输出数据对系统进行辨识。ν分别采用白噪声模型和有色噪声模型,取NSR=0%、5%、10%、15%、20%、25%、30%、35%、40%、45%、50%,每种工况下取独立试验次数N=50(每次独立产生噪声),数据序列取前1024点,用最小二乘法辨识模型,分别画出NSR~δ曲线(图8和图9)。图中的纵坐标(辨识误差)是50次辨识误差的均值。
图8 白噪声对各系数的辨识精度影响 图9 有色噪声对各系数的辨识精
度影响
第 13 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
由图可见:
1) 在白噪声影响下,各系数的辨识误差都很小,欲辨识参数为a1=-1.5,a2=0.7,b1=2,b2=0.5,即使在噪信比为50%的情况下,四个参数的辨识误差都在10-3数量级,
相对误差非常小,均可视为无偏估计,与理论相符。
2) 在有色噪声影响下,各系数的辨识误差相对白噪声影响偏大,当噪信比达到50%时,其中,a1、a2和b1的辨识误差都在0.02~0.04之间,相对误差在10%左右,b2的辨识误差甚至达到0.16以上,相对误差达到30%以上。
综上所述:在只有白噪声影响下,最小二乘辨识法可以达到无偏估计,但是在有色噪声影响下辨识结果的相对误差较大。最小二乘法只适合用于只有白噪声影响下的系统辨识,对于有色噪声影响下的系统,我们应该寻求更好的辨识方法。
3.4 递推最小二乘辨识模型辨识
ν分别采用白噪声模型和有色噪声模型,取NSR=10%、40%,用递推最小二乘法辨
识模型参数,对比画出各参数辨识结果随递推次数变化的曲线。为了对比研究,我们在同一组u、x序列下,用同一白噪声源γ产生给定噪信比的白噪声和有色噪声干扰。
欲辨识参数为a1=-1.5,a2=0.7,b1=2,b2=0.5,设定在两种辨识情况下,前后两次辨识误差小于0.000000005时,结束仿真,当设定NSR=0.1时,本次仿真循环35次时结束仿真,仿真结果见图10~图13所示。
第 14 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
图10白噪声影响下参数辨识结果 图11有色噪声影响下参数辨识
结果
图12 白噪声影响下的参数辨识误差 图13有色噪声影响下的参数辨
识误差
(NSR=10%时)
修改参数NSR=0.4,其他条件不变,欲辨识参数为a1=-1.5,a2=0.7,b1=2,b2=0.5,再次运行仿真,循环35次以后结束仿真,仿真结果见图14~图17所示
第 15 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
图14白噪声影响下参数辨识结果 图15有色噪声影响下参数辨识
结果
图16 白噪声影响下的参数辨识误差 图17有色噪声影响下的参数辨
识误差
(NSR=40%时)
从仿真结果图中我们可以看到,当噪信比较小时(如NSR=0.1)时,在白噪声影响下,递推最小二乘能正确辨识系统参数,且辨识曲线较平稳。而在有色噪声影响下,辨识结果有一点误差,但辨识曲线尚较平稳。当噪信比较大(如NSR=0.4)时,不管是在白噪声还是有色噪声影响下,辨识曲线的波动都较大,且辨识误差都比噪信比小时的辨识误差有所增加。
综上所述:递推最小二乘法只适合与噪信比较小时的白噪声影响下的系统辨识,对于有色噪声影响下的系统辨识或者噪信比较大时的白噪声影响下的系统辨识,我们应该寻找更好的辨识方法。
3.5 广义最小二乘辨识模型
第 16 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
3.5.1 广义最小二乘与递推最小二乘的性能比较
ν采用有色噪声模型,取NSR=10%、30%,分别用递推最小二乘和广义最小二乘递
推法辨识系统参数,为了对比研究,我们在同一组u、y序列下进行辨识试验,并画出各参数辨识结果随γ次数变化的曲线。图18和图19是取NSR=10%时分别采用递推最小二乘法和广义最小二乘法的辨识结果,图20和图21分别是其相对辨识误差。
图18 递推最小二乘法的辨识结果 图19广义最小二乘法的辨识结果
图20 递推最小二乘法的辨识精度 图21 广义最小二乘法的辨识精
度
保持其他参数不变,取NSR=30%,再次运行程序可得图22~图25。
第 17 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
图22 递推最小二乘法的辨识结果 图23广义最小二乘法的辨识结果
图24 递推最小二乘法的辨识精度 图25 广义最小二乘法的辨识精
度
由图可见:两种方法在较小噪信比的有色噪声影响下均能较好的辨识出系统参数,把相对误差曲线图锁定在(-0.02,0.02)的区间上进行观察可得:广义最小二乘法能更快更平坦的接近辨识结果,辨识效果更好。当有色噪声强度增加到30%时,两种方法的辨识结果均出现了不同程度的失真,尤其是递推最小二乘法,结果失真严重且辨识曲线波动较大,广义最小二乘法的辨识结果虽有失真,但仍比较接近真实结果,且辨识曲线平坦。因此我们可以得出结论:由于引入了对噪声的估计,在噪信比较大的有色噪声影响下,广义最小二乘法仍然能够得到较好的辨识结果。
3.5.2 广义最小二乘的辨识性能与噪声模型的最高阶次
第 18 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
在上面的广义最小二乘法的辨识过程中,我们取的噪声模型的最高阶次为4,如果改变噪声模型的最高阶次结果会有何改变呢?为此,作者编写程序得到了在噪信比为30%的有色噪声影响下,广义最小二乘法进行辨识时,噪声模型阶次依次从2开始以2为步长递增到8时的辨识结果曲线,如图26~图29所示。
图26 噪声模型阶次为2时的辨识结果 图27噪声模型阶次为3时的辨
识结果
图28 噪声模型阶次为4时的辨识结果 图29 噪声模型阶次为6时的辨
识结果
由图可见,在噪声模型最高阶次过小(为2)的情况下,辨识结果精度较低且在辨识初期波动较大,随着模型最高阶次的增加,辨识结果精度增加,且辨识过程曲线平坦,但增加到一定程度后辨识曲线无明显区别。但是噪声模型的阶次越高,辨识过程的运算量就越大,因此我们在实际仿真时要综合考虑,选取噪声模型阶次能较好的辨识出系统参数即
第 19 页 共 20 页
系统辨识课程论文 授课教师:贺尚红老师
可,不必一味追求过高的模型阶次。
4 结论
从本文的介绍和仿真结果可以看出,系统辨识常用的三种最小二乘类辨识方法中,递推最小二乘法的算法简单,能减少计算量,减少数据在计算机中占用的内存,并实时辨识出系统动态特性。但只能在噪信比较小的白噪声影响下,才能精确的辨识出系统参数。广义最小二乘法算法较为复杂,运算量较大,但是能在系统噪声为有色噪声时,仍能较好的辨识出系统参数。实际仿真中,如果我们合理的选取噪声模型的最高阶次,可以达到较好的辨识效果,且运算量也较小。
第 20 页 共 20 页
因篇幅问题不能全部显示,请点此查看更多更全内容