最小二乘辨识方法的优劣比较

最小二乘辨识方法的优劣比较
最小二乘辨识方法的优劣比较

最小二乘辨识方法的优劣比较

摘 要:本文系统的探讨了三种最小二乘类辨识方法的原理和性能,并对各种方法在各种不同的环境下进行了MATLAB 仿真,仿真结果证明:最小二乘法不适合实时处理,在同等情况下,递推最小二乘的辨识速度较快,但在有色噪声干扰下效果不理想,广义最小二乘法的辨识效果最好,且不受噪声是否有色的影响,但是费时最多。 关键词:最小二乘 辨识速度 MATLAB 仿真

1 引言

系统辨识是一门介于现代控制理论和系统理论的边缘学科.它将现代控制论的平滑、滤波、预测和参数估计理论,以及系统论的系统分析方法和建模思想应用于自然科学、社会科学和工程实践中的各个领域,与各个领域的专业知识相给合,形成了一个个新的交叉学科分支。

关于系统辨识的含义,早在1962年Zacleh 曾作如下定义:“根据系统的输入和输出,在指定的一类系统中确定一个相被辨识系统等价的系统”。根据这个定义,在系统辨识中必须确定三方面的问题;第一,必须指定一类系统.即根据先验信息确定系统模型的类型。第二,必须规定一类插入信号。例如正弦信号、阶跃信号、脉冲信号、白噪声、伪随机信号等。而且这些信号从时域考虑,必须能持续地激励系统的所有状态;从频域考虑,输入信号的频带能覆盖系统的频带宽度。第三,必须规定“系统等价”的含义及其度量准则。

2 线性系统的辨识

2.1 问题描述

考虑如下线性系统:

()()()()()()1111a b n a n b z k a z k a z k n bu k b u k n e k +-++-=-++-+ (1)

其中,u(k)为系统激励信号,y(k)为系统输出,e(k)为模型噪声。其系统模型如图1所示:

N(z)u(k)

u(k)

G(z)

y(k)

z(k)

e(k)

+

+

图1 SISO 的系统模型结构图

其中G(z -1)是系统函数模型,N(z -1)为有色噪声系统模型,e(k)为白噪声v(k)经过系统函数为N(z -1)的系统后的输出。通常

()()()

()()

()

11111

1

, B z D z G z N z A z

C z

------=

=

(2)

式中:()()11212112

121a

a

b b n n n n A z a z a z a z B z b z b z b z --------?=++++??=+++?? (3)

()()11212112

121c c

d d n n n n C z c z c z c z D z d z d z b z

--------?=++++??=+++?? (4)

则系统可表示为:()()()

()()

()

()111

1

B z D z z k u k v k A z

C z

----=+

(5)

设样本和参数集为:

1212()[-(-1) , -(-2), ...... -(-), (-1),(-2), ......, (-)][,,......,,,,......,]

T

T

n n h k z k z k z k n u k u k u k n a a a b b b θ?=?=? (6) h(k)为可观测的量, 差分方程可写为最小二乘形式

()()()T z k h k e k θ=+ (7)

如何系统噪声e(k)存在的情况下从该方程中正确的解出θ,即是系统辨识的任务。 为了求出θ,我们面临三大问题:一是输入信号的选择,二是判决准则的选取,三是辨识算法的选择,下面一一探讨。

2.2 选择输入

为了准确辨识系统参数,我们对输入信号有两大要求,一是信号要能持续的激励系统所有状态,二是信号频带能覆盖系统的频带宽度。除此之外还要求信号有可重复性,不能是不可重复的随机噪声,因此我们通常选择M 序列或逆M 序列作为输入。

2.3 准则函数

因为本文主要探讨最小二乘类辨识方法,在此选取准则函数

()()()()2

2

1

1

T

k k J e k z k h k θθ∞

==??==-??????∑∑ (8)

使准则函数()min J θ=的θ估计值记做LS θ

,称作参数θ的最小二乘估计值。 在式(7)中,令k=1,2,3,……L ,可构成线性方程组:

()()()T

L L L z k H k e k θ=+ (9)

式中

()()()()()()()()

()()()()()()()()()()1122, 010*******L L a b a b L a b z e z e z e z L e L z z n u u n z z n u u n H z L z L n u L u L n ????????????==????????????????

----????----??=????------????

(10)

准则函数相应变为:

()()()()()

()2

2

1

1

L

L

T

T

L L L L k k J e k z k h k z H z H θθθθ==??==-=--??????∑∑ (11)

极小化()J θ,求得参数θ的估计值,将使模型更好的预报系统的输出。

2.4 辨识算法

常用的最小二乘类辨识方法有下列三种:最小二乘法,递推最小二乘法和广义最小二乘法。

2.4.1 最小二乘法

设LS θ

使得()min J θ=,则有

()

()()0LS

T

L L L L J z H z H θθθθθ

θ

??=

--=??

(12) 展开上式,并根据以下两个向量微分公式:

()()2 T

T T

T a x a x

x Ax x A A x

?=??=?为对称阵 (13)

得正则方程: (

)

T T

L

L LS L L H H H z θ=

(14)

当T L

L H H 为正则阵时,有(

)

1

T

T LS L L L L H H H z θ-=

(15)

且有

()

22

20LS

T L

L J H H θθθ?=>?

,所以满足式(15)的LS θ

唯一使得()min J θ=,这

种通过极小化式(11)计算LS θ

的方法称作最小二乘法。而且可以证明,当噪声e(k)是均值为0的高斯白噪声时,可实现无偏估计。

2.4.2 递推最小二乘算法

为了减少计算量,减少数据在计算机中占用的内存,并实时辨识出系统动态特性,我们常利用最小二乘法的递推形式。下面我们来推导递推最小二乘算法的原理。

首先,将式(11)的最小二乘一次完成算法写为

()()()()()()1

1

11T T T

WLS L L L L L L

L L T

i i H H H z P L H z h i h i h i z i θ--====????=????????

∑∑

(16)

定义

()()()()()()11

1

11111k T T

k k i k T T k k i P k H H h i h i P k H H h i h i -=----=?==????-==??

∑∑ (17) 式中 ()()()()()()11122 1T T T T k k T T h h h h H H h k h k -????

????????==????????-????????

(18)

式中,h(i)是一个列向量,也就是H L 的第i 行的倒置,P(k)是一个方阵,他的维数取决于未知参数的个数,假设未知参数的个数是n ,则P(k)的维数是n ×n .。

由式17可得P(k)的递推关系为:

()()()()()

()()()

1

1

1

11k T T i T P

k h i h i h k h k P k h k h k --=-=+=-+∑ (19)

()()()()()()11,2,,11,2,,T

k T

k z z z z k z z z z k -?=-?????

?=?

????? (20) 则

()()()()()1

1

111

1111T

T k k k k k i k H H H z P k h i z i θ------=-=??=-??

??

(21)

由此可得:()()()()1

1

1

11k i P

k k h i z i θ--=--=∑

(22)

由式19和22可得

()()()()()()()()()()()()()()()()(){}

()()()()()()1

11

111111k T

T k

k k k

i T

T k H H H z P k h i z i P k P k k h k z k P k P k h k h k k h k z k k P k h k z k h k k θθθθθ-=--??

==??

????=--+????=--+????=-+--??

(23)

引进增益矩阵K(k),定义()()()K k P k h k = (24) 式(23)可以进一步写为()()()()()()11T

k k K k z k h

k k θθθ??=-+--??

(25)

接下来可以进一步把式(20)写为 ()()()()1

1

1T P k P

k h k h k --??=-+

?? (26)

利用矩阵反演公式()

()1

1

1

1

1

1T

T

T A CC A A C I C A C C A ------+=-+

将式(26)演变成

()()()()()()()()()()()()()()()()1

111111111T T T T P k P k P k h k h k P k h k P k h k P k h k h k I P k h k P k h k -??=-----+??

??

-=--??-+??

(27)

将上式代入式(24),整理后可得

()()()()()()1

111T

K k P k h k h k P k h k -??=--+?? (28)

综合式25、27和28可得最小二乘递推参数估计算法RLS

()()()()()()()()()()(

)()()()()()1111111T T

T

k k K k z k h k k K k P k h k h k P k h k P k I K k h k P k θθθ-???

=-+--???

???=--+??????=--????

(29) 2.4.3 广义最小二乘法 设SISO 系统采用如下模型:

()()()()()

()111

1

A z z k

B z u k v k

C z ---=+

(30) 假定模型阶次n a ,n b 和n c 已知,用广义最小二乘法可以得到无偏一致估计。令

()()()()()()

11

f f z k C z z k u k C z u k --?=?

?=?? (31)

()()()()()1212[,,,,,,,]1,,,1,,a b T n n T f f f a f f b a a a b b b h k z k z k n u k u k n θ?=?

??

?=------???? (32)

将模型化为最小二乘格式:()()()T f f z k h k v k θ=+ (33) 由于v(k)是白噪声,所以用最小二乘可以获得参数θ的无偏估计,由于噪声模型C(z -1)未知,还需要用迭代的方法来求得C(z -1)。令

()()

()1

1

e k v k C z -=

(34) 置

()()()()12[,,,]1,,c T

e n T

e c k c c c h k e k e k n θ?=?

?=----?

????? (35) 这样就把噪声模型也转变为最小二乘格式:()()()T

e e e k h k v k θ=+ (36)

由于上式中的噪声已为白噪声,所以用最小二乘也可获得参数θe 的无偏估计,但是数据向量中依然含有不可测的噪声量()()1,,c e k e k n ----???? ,可用相应的估计值来代替,置()()()1,,T

e c h k e k e k n =----????

,其中k <0时,e(k)=0;k >0时,按照

()()()T e k z k h k θ=-

(37)

计算,式中

()()()()()1,,,1,,T

a b h k z k z k n u k u k n =------???? (38)

综上所述,广义最小二乘法可归纳为

()()()()()()()()()()()()()()()()

()()()()()()()()()()()()()()()()1

1111111111111T f f f T f

f f f f T f f f f

T

e e e e e T e e e e e e T

e e e e k k K k z k h k k K k P k h k h k P k h k P k I K k h k P k k k K k e k h k k K k P k h k h k P k h k P k I K k h k P k θθθθθθ--???=-+--???

???=--+??????=--??????=-+--???????

=--+???

???=--???

(39) 3 仿真研究

已知系统模型:x (k )-1.5x (k -1)+0.7x (k -2)= u (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。α为噪信比调整因

子,噪信比定义为:NSR=%100%100?=?x

x σασσσγν

,σx 、νσ分别为模型输出x 和噪声ν

的均方差(标准差),γ有两种模型:(1)γ为白噪声,(2)γ为有色噪声,噪声模型为: γ(k )=e (k )+0.5e (k -1)+0.9γ(k -1)-0.95γ(k -2),e (k )为白噪声。定义辨识误差值:δ=

%1001

1

0^

?∑

=-N

i N

θθθ,其中:N为独立的实验次数,0θ为模型真值,^

θ为估计值。

3.1 产生输入和输出数据

选择自相关特性好的逆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 白噪声影响下的系统输出

图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 有色噪声对各系数的辨识精度影响由图可见:

①在白噪声影响下,各系数的辨识误差都很小,欲辨识参数为a1=-1.5,a2=0.7,

b1=2,b2=0.5,即使在噪信比为50%的情况下,四个参数的辨识误差都在10-3

数量级,相对误差非常小,均可视为无偏估计,与理论相符。

②在有色噪声影响下,各系数的辨识误差相对白噪声影响偏大,当噪信比达到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所示。

图10白噪声影响下参数辨识结果图11有色噪声影响下参数辨识结果

图12 白噪声影响下的参数辨识误差图13有色噪声影响下的参数辨识误差

(NSR=10%时)

修改参数NSR=0.4,其他条件不变,欲辨识参数为a1=-1.5,a2=0.7,b1=2,b2=0.5,再次运行仿真,循环35次以后结束仿真,仿真结果见图14~图17所示

图14白噪声影响下参数辨识结果图15有色噪声影响下参数辨识结果

图16 白噪声影响下的参数辨识误差图17有色噪声影响下的参数辨识误差

(NSR=40%时)

从仿真结果图中我们可以看到,当噪信比较小时(如NSR=0.1)时,在白噪声影响下,递推最小二乘能正确辨识系统参数,且辨识曲线较平稳。而在有色噪声影响下,辨识结果有一点误差,但辨识曲线尚较平稳。当噪信比较大(如NSR=0.4)时,不管是在白噪声还是有色噪声影响下,辨识曲线的波动都较大,且辨识误差都比噪信比小时的辨识误差有所增加。

综上所述:递推最小二乘法只适合与噪信比较小时的白噪声影响下的系统辨识,对于有色噪声影响下的系统辨识或者噪信比较大时的白噪声影响下的系统辨识,我们应该寻找更好的辨识方法。

3.5广义最小二乘辨识模型

3.5.1 广义最小二乘与递推最小二乘的性能比较

ν采用有色噪声模型,取NSR=10%、30%,分别用递推最小二乘和广义最小二乘递推法辨识系统参数,为了对比研究,我们在同一组u、y序列下进行辨识试验,并画出各参数辨识结果随γ次数变化的曲线。图18和图19是取NSR=10%时分别采用递推最小二乘法和广义最小二乘法的辨识结果,图20和图21分别是其相对辨识误差。

图18 递推最小二乘法的辨识结果图19广义最小二乘法的辨识结果

图20 递推最小二乘法的辨识精度图21 广义最小二乘法的辨识精度保持其他参数不变,取NSR=30%,再次运行程序可得图22~图25。

图22 递推最小二乘法的辨识结果图23广义最小二乘法的辨识结果

图24 递推最小二乘法的辨识精度图25 广义最小二乘法的辨识精度由图可见:两种方法在较小噪信比的有色噪声影响下均能较好的辨识出系统参数,把相对误差曲线图锁定在(-0.02,0.02)的区间上进行观察可得:广义最小二乘法能更快更平坦的接近辨识结果,辨识效果更好。当有色噪声强度增加到30%时,两种方法的辨识结果均出现了不同程度的失真,尤其是递推最小二乘法,结果失真严重且辨识曲线波动较大,广义最小二乘法的辨识结果虽有失真,但仍比较接近真实结果,且辨识曲线平坦。因此我们可以得出结论:由于引入了对噪声的估计,在噪信比较大的有色噪声影响下,广义最小二乘法仍然能够得到较好的辨识结果。

3.5.2 广义最小二乘的辨识性能与噪声模型的最高阶次

在上面的广义最小二乘法的辨识过程中,我们取的噪声模型的最高阶次为4,如果改变噪声模型的最高阶次结果会有何改变呢?为此,作者编写程序得到了在噪信比为30%的有色噪声影响下,广义最小二乘法进行辨识时,噪声模型阶次依次从2开始以2为步长递增到8

时的辨识结果曲线,如图26~图29所示。

图26 噪声模型阶次为2时的辨识结果图27噪声模型阶次为3时的辨识结果

图28 噪声模型阶次为4时的辨识结果图29 噪声模型阶次为6时的辨识结果由图可见,在噪声模型最高阶次过小(为2)的情况下,辨识结果精度较低且在辨识初期波动较大,随着模型最高阶次的增加,辨识结果精度增加,且辨识过程曲线平坦,但增加到一定程度后辨识曲线无明显区别。但是噪声模型的阶次越高,辨识过程的运算量就越大,因此我们在实际仿真时要综合考虑,选取噪声模型阶次能较好的辨识出系统参数即可,不必一味追求过高的模型阶次。

4 结论

从本文的介绍和仿真结果可以看出,系统辨识常用的三种最小二乘类辨识方法中,递推最小二乘法的算法简单,能减少计算量,减少数据在计算机中占用的内存,并实时辨识出系统动态特性。但只能在噪信比较小的白噪声影响下,才能精确的辨识出系统参数。广义最小二乘法算法较为复杂,运算量较大,但是能在系统噪声为有色噪声时,仍能较好的辨识出系统参数。实际仿真中,如果我们合理的选取噪声模型的最高阶次,可以达到较好的辨识效果,且运算量也较小。

附源程序:

clear

close all;

L=500;

x1=1;x2=1;x3=1;x4=0; %移位寄存器初值

S=1;%方波初值

un=zeros(L,1);

for i=1:L+4

IM=xor(S,x4); %进行异或运算,产生逆M序列

if IM==0

u(i)=-1; %fixed

else

u(i)=1;

end

un(i,1)=u(i);

S=not(S);%产生方波

M(i)=xor(x1,x4); %进行异或运算,产生M序列

x4=x3;x3=x2;x2=x1;x1=M(i); %寄存器移位

end

z(2)=0;z(1)=0; %取z的前二个初始值为零

for k=3:L+4;

z(k)=1.5*z(k-1)-0.7*z(k-2)+1.0*u(k-1)+0.5*u(k-2)+normrnd(0,1,1,1);

%给出理想的辨识输出采样信号

zn(k,1)=z(k);

end

c0=[0.001 0.001 0.001 0.001 ]'; %a1 a2 b1 b2给出被辨识参数的初始值

p0=10^6*eye(4,4);

E=0.000000005;%相对误差E=0.000000005

c=[c0,zeros(4,499)];%被辨识参数矩阵的初始值及大小

e=zeros(4,500);%相对误差的初始值及大小

for k=3:500; %开始求K

h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]'; x=h1'*p0*h1+1; x1=inv(x); %开始求K(k) k1=p0*h1*x1;%求出K的值

d1=z(k)-h1'*c0; c1=c0+k1*d1;%求被辨识参数c

e1=c1-c0;%求参数当前值与上一次的值的差值

e2=e1./c0 ;%求参数的相对变化

e(:,k)=e2; %把当前相对变化的列向量加入误差矩阵的最后一列

c0=c1;%新获得的参数作为下一次递推的旧参数

c(:,k)=c1;%把辨识参数c 列向量加入辨识参数矩阵的最后一列

p1=p0-k1*k1'*[h1'*p0*h1+1];%求出 p(k)的值

p0=p1;%给下次用

if abs(e2)<=E break;%若参数收敛满足要求,终止计算

end%小循环结束

end%大循环结束

% c %显示被辨识参数

% e %显示辨识结果的收敛情况

% e2;

a1=c(1,:); a2=c(2,:); b1=c(3,:); b2=c(4,:);

i=1:500;

plot(i,a1,'r',i,a2,'--',i,b1,'g:',i,b2,'k-.','LineWidth',2) %画出a1,a2,a3,b1,b2的各次辨识结果

title('各参数最小二乘法辨识结果')%图形标题

legend('a1','a2','b1','b2',0);

grid on;

figure;

for i=1:L

H1(i,1)=z(i);;

H1(i,2)=u(i);

end

estimate1=inv(H1'*H1)*H1'*z(2:501)';

D1=(z(2:501)'-H1*estimate1)'*(z(2:501)'-H1*estimate1)/L; %噪声方差的估计值

AIC1=L*log(D1)+4*1;

for i=1:L

H2(i,1)=z(i+1);;

H2(i,2)=z(i);

H2(i,3)=u(i+1);

H2(i,4)=u(i);

end

estimate2=inv(H2'*H2)*H2'*z(3:502)';

D2=(z(3:502)'-H2*estimate2)'*(z(3:502)'-H2*estimate2)/L; %噪声方差的估计值

AIC2=L*log(D2)+4*2;

for i=1:L

H3(i,1)=z(i+2);

H3(i,2)=z(i+1);

H3(i,3)=z(i);

H3(i,4)=u(i+2);

H3(i,5)=u(i+1);

H3(i,6)=u(i);

end

estimate3=inv(H3'*H3)*H3'*z(4:503)';

D3=(z(4:503)'-H3*estimate3)'*(z(4:503)'-H3*estimate3)/L; %噪声方差的估计值

AIC3=L*log(D3)+4*3;

for i=1:L

H4(i,1)=z(i+3);

H4(i,2)=z(i+2);

H4(i,3)=z(i+1);

H4(i,4)=z(i);

H4(i,5)=u(i+3);

H4(i,6)=u(i+2); H4(i,7)=u(i+1); H4(i,8)=u(i); end

得到的结果图如下

各个参数的值

参数 a1 a2 b1 b2 噪声方差

真值 -1.5 0.7 1 0.5 1 估计值 -1.4991

0.69174

1.0479

0.47236

1.0503

050100150200250300350

400450500

-2

-1.5-1-0.500.511.5各参数最小二乘法辨识结果

极大似然参数辨识方法

2 极大似然参数辨识方法 极大似然参数估计方法是以观测值的出现概率为最大作为准则的,这是一种很普遍的参数估计方法,在系统辨识中有着广泛的应用。 2.1 极大似然原理 设有离散随机过程}{k V 与未知参数θ有关,假定已知概率分布密度)(θk V f 。如果我们得到n 个独立的观测值,21,V V …n V ,,则可得分布密度)(1θV f ,)(2θV f ,…,)(θn V f 。要求根据这些观测值来估计未知参数θ,估计的准则是观测值{}{k V }的出现概率为最大。为此,定义一个似然函数 ) ()()(),,,(2121θθθθn n V f V f V f V V V L = (2.1.1) 上式的右边是n 个概率密度函数的连乘,似然函数L 是θ的函数。如果L 达到极大值,}{k V 的出现概率为最大。因此,极大似然法的实质就是求出使L 达到极大值的θ的估值∧ θ。为了便于求∧ θ,对式(2.1.1)等号两边取对数,则把连乘变成连加,即 ∑== n i i V f L 1)(ln ln θ (2.1.2) 由于对数函数是单调递增函数,当L 取极大值时,lnL 也同时取极大值。求式(2.1.2)对θ的偏导数,令偏导数为0,可得 0ln =??θL (2.1.3) 解上式可得θ的极大似然估计ML ∧ θ。 2.2 系统参数的极大似然估计 设系统的差分方程为 )()()()()(1 1 k k u z b k y z a ξ+=-- (2.2.1) 式中 111()1...n n a z a z a z ---=+++ 1101()...n n b z b b z b z ---=+++ 因为)(k ξ是相关随机向量,故(2.2.1)可写成 )()()()()()(1 11k z c k u z b k y z a ε---+= (2.2.2) 式中 )()()(1 k k z c ξε=- (2.2.3) n n z c z c z c ---+++= 1 11 1)( (2.2.4) )(k ε是均值为0的高斯分布白噪声序列。多项式)(1-z a ,)(1-z b 和)(1-z c 中的系数n n c c b b a a ,,,,,10,1和序列)}({k ε的均方差σ都是未知参数。 设待估参数

系统辨识最小二乘Matlab仿真

系统辨识和最小二乘参数估计Matlab仿真 一、系统辨识 在控制系统的分析中,首先要建立系统的数学模型,控制系统的数学模型是定量描述系统或过程内部物理量(或变量)之间关系的数学表达式。 一般来说,建立控制系统数学模型有两种基本方法: (1)机理建模(白箱模型):即根据系统内在运行机制、物料和能量守恒等物理学、化学规律建立系统的数学模型,一般步骤如下: Step1:根据系统工作原理及其在控制系统中的作用,确定输入和输出; Step2:根据物料和能量守恒等关系列写基本方程式; Step3:消去中间量; Step4:获得系统模型; (2)实验法建模(黑箱模型):即对于机理尚不清楚或机理过于复杂的系统,可以人为的对其施加某种测试信号,并记录其输出响应,或者记录正常运行时的输入输出数据,然后利用这些输入输出数据确定系统模型结构和参数。 多年来,系统辨识已经发展为一门独立学科分支,通过系统辨识建立一个对象的数学模型,通常包括两方面的工作:一是模型结构的确定(模型的类型、阶次),二是模型参数估计。 根据时间是否连续,参数模型又可以分为连续时间系统模型和离散时间系统参数模型,这两类模型均可采用输入输出模型和状态空间模型描述,离散系统采用差分方程描述,以单输入单输出(SISO)离散系统参数模型为例。 1.确定性模型 SISO系统确定性模型可表示为: u(k)和y(k)分别为输入和输出,d为纯延时。 2.随机性模型 如果受到随机扰动,则式子可写为: 为系统随机扰动,其结构如图:

系统辨识的一般步骤如图: 从图中可以看出,利用辨识的方法建立系统数学模型,从实验设计到模型获得,需要这些步骤。 二、最小二乘参数估计 1.批处理最小二乘 考虑以下CAR模型:

几种最小二乘法递推算法的小结

一、 递推最小二乘法 递推最小二乘法的一般步骤: 1. 根据输入输出序列列出最小二乘法估计的观测矩阵?: ] )(u ... )1( )( ... )1([)(T b q n k k u n k y k y k ------=? 没有给出输出序列的还要先算出输出序列。 本例中, 2)]-u(k 1),-u(k 2),-1),-y(k -[-y(k )(T =k ?。 2. 给辨识参数θ和协方差阵P 赋初值。一般取0θ=0或者极小的数,取σσ,20I P =特别大,本例中取σ=100。 3. 按照下式计算增益矩阵G : ) ()1()(1)()1()(k k P k k k P k G T ???-+-= 4. 按照下式计算要辨识的参数θ: )]1(?)()()[()1(?)(?--+-=k k k y k G k k T θ?θθ 5. 按照下式计算新的协方差阵P : )1()()()1()(---=k P k k G k P k P T ? 6. 计算辨识参数的相对变化量,看是否满足停机准则。如满足,则不再递推;如不满足, 则从第三步开始进行下一次地推,直至满足要求为止。 停机准则:ε???<--) (?)1(?)(?max k k k i i i i 本例中由于递推次数只有三十次,故不需要停机准则。 7. 分离参数:将a 1….a na b 1….b nb 从辨识参数θ中分离出来。 8. 画出被辨识参数θ的各次递推估计值图形。 为了说明噪声对递推最小二乘法结果的影响,程序5-7-2在计算模拟观测值时不加噪 声, 辨识结果为a1 =1.6417,a2 = 0.7148,b1 = 0.3900,b2 =0.3499,与真实值a1 =1.642, a2 = 0.715, b1 = 0.3900,b2 =0.35相差无几。 程序5-7-2-1在计算模拟观测值时加入了均值为0,方差为0.1的白噪声序列,由于噪 声的影响,此时的结果为变值,但变化范围较小,现任取一组结果作为辨识结果。辨识结果为a1 =1.5371, a2 = 0.6874, b1 = 0.3756,b2 =0.3378。 程序5-7-2-2在计算模拟观测值时加入了有色噪声,有色噪声为 E(k)+1.642E(k-1)+0.715E(k-2),E(k)是均值为0,方差为0.1的白噪声序列,由于有色噪声的影响,此时的辨识结果变动范围远比白噪声时大,任取一组结果作为辨识结果。辨识结果为a1 =1.6676, a2 = 0.7479, b1 = 0.4254,b2 =0.3965。 可以看出,基本的最小二乘法不适用于有色噪声的场合。

实验6 数据拟合及参数辨识方法

实验6 数据拟合及参数辨识方法 一、实验目的及意义 [1] 了解最小二乘拟合的基本原理和方法; [2] 掌握用MATLAB作最小二乘多项式拟合和曲线拟合的方法; [3] 通过实例学习如何用拟合方法解决实际问题,注意与插值方法的区别。 [4] 了解各种参数辨识的原理和方法; [5] 通过范例展现由机理分析确定模型结构,拟合方法辨识参数,误差分析等求解实 际问题的过程; 通过该实验的学习,掌握几种基本的参数辨识方法,了解拟合的几种典型应用,观察不同方法得出的模型的准确程度,学习参数的误差分析,进一步了解数学建模过程。这对于学生深入理解数学概念,掌握数学的思维方法,熟悉处理大量的工程计算问题的方法具有十分重要的意义。 二、实验内容 1.用MATLAB中的函数作一元函数的多项式拟合与曲线拟合,作出误差图; 2.用MATLAB中的函数作二元函数的最小二乘拟合,作出误差图; 3.针对预测和确定参数的实际问题,建立数学模型,并求解。 三、实验步骤 1.开启软件平台——MATLAB,开启MATLAB编辑窗口; 2.根据各种数值解法步骤编写M文件 3.保存文件并运行; 4.观察运行结果(数值或图形); 5.根据观察到的结果写出实验报告,并浅谈学习心得体会。 四、实验要求与任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论→心得体会) 应用实验 1.旧车价格预测 某年美国旧车价格的调查资料如下表,其中x i表示轿车的使用年数,y i表示相应的平均价格。试分析用什么形式的曲线来拟合上述的数据,并预测使用4.5年后轿车的平均价

系统辨识最小二乘参数估计matlab

最小二乘参数估计 摘要: 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。这种算法在使用时,占用内存大,离线辨识,观测被辨识对象获得的新数据往往是逐次补充到观测数据集合中去的。在应用一次完成算法时,如果要求在每次新增观测数据后,接着就估计出系统模型的参数,则需要每次新增数据后要重新求解矩阵方程()Z l T l l T l ΦΦΦ-∧=1θ。 最小二乘辩识方法在系统辩识领域中先应用上已相当普及,方法上相当完善,可以有效的用于系统的状态估计,参数估计以及自适应控制及其他方面。 关键词: 最小二乘(Least-squares ),系统辨识(System Identification ) 目录: 1.目的 (1) 2.设备 (1) 3引言 (1) 3.1 课题背景 (1) 4数学模型的结构辨识 (2) 5 程序 (3) 5.1 M 序列子函数 ................................................................................. 错误!未定义书签。 5.2主程序............................................................................................... 错误!未定义书签。 6实验结果: ................................................................................................................................... 3 7参考文献: ................................................................................................. 错误!未定义书签。 1.目的 1.1掌握系统辨识的理论、方法及应用 1.2熟练Matlab 下最小二乘法编程 1.3掌握M 序列产生方法 2.设备 PC 机1台(含Matlab 软件) 3引言 3.1 课题背景 最小二乘理论是有高斯(K.F.Gauss )在1795年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。”这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最

最小二乘法在系统辨识中的应用

最小二乘法在系统辨识中的应用 王文进 控制科学与控制工程学院 控制理论与控制工程专业 2009010211 摘要:在实际的工程中,经常要对一个系统建立数学模型。很多时候,要面对一个未知的系统,对于这些未知系统,我们所知道的仅仅是它们的一些输入输出数据,我们要根据这些测量的输入输出数据,建立系统的数学模型。由此诞生了系统辨识这门科学,系统辨识就是研究怎样利用对未知系统的输入输出数据建立描述系统的数学模型的科学。系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小二乘法是一种应用及其广泛的系统辨识方法。本文主要讲述了最小二乘估计在系统辨识中的应用。 首先,为了便于介绍,用一个最基本的单输入单输出模型来引入系统辨识中的最小二乘估计。 例如:y = ax + (1) 其中:y、x 可测,为不可测的干扰项,a未知参数。通过N 次实验,得到测量数据y k和x k ,其中k=1、2、3、…,我们所需要做的就是通过这N次实验得到的数据,来确定未知参数a 。在忽略不可测干扰项的前提下,基本的思想就是要使观测点y k和由式(1)确定的估计点y的差的平方和达到最小。用公式表达出来就是要使J最小: 确定未知参数a的具体方法就是令: J a = 0 , 导出 a 通过上面最基本的单输入单输出模型,我们对系统辨识中的最小二乘法有了初步的了解,但在实际的工程中,系统一般为多输入系统,下面就用一个实际的例子来分析。在接下来的表述中,为了便于区分,向量均用带下划线的字母表示。 水泥在凝固过程中,由于发生了一系列的化学反应,会释放出一定的热量。若水泥成分及其组成比例不同,释放的热量也会不同。 水泥凝固放热量与水泥成分的关系模型如下: y = a0+ a1x1+…+ a n x n + 其中,y为水泥凝固时的放热量(卡/克);x1~x2为水泥的几种成分。

用matlab实现最小二乘递推算法辨识系统参数

用matlab实现最小二乘递推算法辨识系统参 数 自动化系统仿真实验室指导教师: 学生姓名班级计082-2 班学号撰写时间: 全文结束》》-3-1 成绩评定: 一.设计目的 1、学会用Matlab实现最小二乘法辨识系统参数。 2、进一步熟悉Matlab的界面及基本操作; 3、了解并掌握Matlab中一些函数的作用与使用;二.设计要求最小二乘递推算法辨识系统参数,利用matlab编程实现,设初始参数为零。z(k)-1、5*z(k-1)+0、7*z(k-2)=1*u(k-1)+0、5*u(k-2)+v(k); 选择如下形式的辨识模型:z(k)+a1*z(k- 1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k);三.实验程序 m=3;N=100;uk=rand(1,N);for i=1:Nuk(i)=uk(i)*(-1)^(i-1);endyk=zeros(1,N); for k=3:N yk(k)=1、5*yk(k-1)-0、 7*yk(k-2)+uk(k-1)+0、5*uk(k-2); end%j=100;kn=0;%y=yk(m:j);%psi=[yk(m-1:j-1);yk(m-2:j-2);uk(m-1:j-1);uk(m-2:j- 2)];%pn=inv(psi*psi);%theta=(inv(psi*psi)*psi*y);theta=[0 ;0;0;0];pn=10^6*eye(4);for t=3:Nps=([yk(t-1);yk(t-

2);uk(t-1);uk(t-2)]);pn=pn- pn*ps*ps*pn*(inv(1+ps*pn*ps));theta=theta+pn*ps*(yk(t)-ps*theta);thet=theta;a1=thet(1);a2=thet(2);b1=thet(3);b2= thet(4); a1t(t)=a1;a2t(t)=a2;b1t(t)=b1;b2t(t)=b2;endt=1:N;plot(t,a 1t(t),t,a2t(t),t,b1t(t),t,b2t(t));text(20,1、 47,a1);text(20,-0、67,a2);text(20,0、97,b1);text(20,0、47,b2);四.设计实验结果及分析实验结果图:仿真结果表明,大约递推到第步时,参数辨识的结果基本到稳态状态,即a1=1、5999,b1=1,c1=0、5,d1=-0、7。五、设计感受这周的课程设计告一段落了,时间短暂,意义重大。通过这次次练习的机会,重新把matlab课本看了一遍,另外学习了系统辨识的有关内容,收获颇丰。对matlab的使用更加纯熟,也锻炼了自己在课本中搜索信息和知识的能力。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。同时我也进一步认识了matlab软件强大的功能。在以后的学习和工作中必定有很大的用处。

系统辨识-最小二乘法MATLAB仿真

《系统辨识》基于MATLAB的最小二乘法(一阶)的仿真 clc clear % ①白噪声的生成过程如下:e=randn(1,500); e=e/std(e); e=e-mean(e); A=0; %白噪声的均值为0 B=sqrt(0.1); %白噪声的方差为0.1 e=A+B*e; %绘制白噪声图 k=1:500; subplot(4,1,1) %画四行一列图形窗口中的第一个图形 plot(k,e,'r'); xlabel('k'), ylabel('e');title('(0,1)均匀分布的随机序列') % ②生成M序列的过程如下:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初始状态(0101), Yi寄存器的各级输出 m=500; %M序列的总长度 for i=1:m Y4=X4; Y3=X3; Y2=X2; Y1=X1; X4=Y3; X3=Y2; X2=Y1; X1=xor(Y3,Y4); %异或运算 if Y4==0 U(i)=-1; else U(i)=Y4; end end M=U; u=U; %绘制M序列图? i1=i k=1:1:i1; subplot(4,1,2) %画四行一列图形窗口中的第二个图形 plot(k,U,k,U,'rx') stem(M) xlabel('k') ylabel('M序列') title('移位寄存器产生的M序列') % ③参数估计的过程如下: %绘制参数估计的相关图形 z=zeros(1,500); %定义输出观测值的长度 for k=2:500 z(k)=0.9*z(k-1)+u(k-1)+e(k);%用理想输出值作为观测值 end subplot(4,1,3) %画四行一列图形窗口中的第三个图形 i=1:1:500; %横坐标的范围从1到500,步长为1 plot(i,z) %图形的横坐标是采样时刻i,纵坐标是输出观测值Z, 图形格式为连续曲线

基于最小二乘法的系统参数辨识

基于最小二乘法的系统参数辨识 吴令红,熊晓燕,张涛 太原理工大学机械电子研究所,太原 (030024) E-mail lhwu0818@https://www.360docs.net/doc/b61506699.html, 摘要:系统辨识是自动控制学科的一个重要分支,由于其特殊作用,已经广泛应用于各种领域,尤其是复杂系统或参数不容易确定的系统的建模。过去,系统辨识主要用于线性系统的建模,经过多年的研究,已经形成成熟的理论。但随着社会、科学的发展,非线性系统越来越受到人们的关注,其控制与模型之间的矛盾越来越明显,因而非线性系统的辨识问题也越来越受到重视,其辨识理论不断发展和完善本。文重点介绍了系统参数辨识中最小二乘法的基本原理,并通过悬臂梁模型的辨识实例,具体说明了基于最小二乘法参数辨识在Matlab 中的实现方法。结果表明基于最小二乘法具有算法简单、精度较高等优点。 关键词:系统辨识;参数辨识;滑动平均模型(ARX);最小二乘法;Matlab 中图分类号:TH-9 1. 引言 所谓辨识就是通过测取研究对象在人为输入作用下的输出响应,或正常运行时的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据之中,辨识只不过是利用数学的方法从数据序列中提炼出对象的数学模型而已[1]。 最小二乘法是系统参数辨识中最基本最常用的方法。最小二乘法因其算法简单、理论成熟和通用性强而广泛应用于系统参数辨识中。本文基于悬臂梁的实测数据,介绍了最小二乘法的参数辨识在Matlab中的实现。 2. 系统辨识 一般而言,建立系统的数学模型有两种方法:激励分析法和系统辨识法。前者是按照系统所遵循的物化(或社会、经济等)规律分析推导出模型。后者则是从实际系统运行和实验数据处理获得模型。如图1所示,系统辨识就是从系统的输入输出数据测算系统数学模型的理论和方法。更进一步的定义是L.A.Zadeh曾经与1962年给出的,即“系统辨识是在输入和输出的基础上,从系统的一类系统范围内,确立一个与所实验系统等价的系统”。另外,系统辨识还应该具有3个基本要素,即模型类、数据和准则[5]。被辨识系统模型根据模型形式可分为参数模型和非参数模型两大类。所谓参数模型是指微分方程、差分方程、状态方程等形式的数学模型;而非参数模型是指频率响应、脉冲响应、传递函数等隐含参数的数学模型。在辨识工程中,模型的确定主要根据经验对实际对象的特性进行一定程度上的假设,如对象的模型是线性的还是非线性的、是参数模型还是非参数模型等。在模型确定之后,就可以根据对象的输入输出数据,按照一定的辨识算法确定模型的参数[4]。 y 图1 被研究的动态系统

基于最小二乘法的系统辨识的设计与开发(整理版)

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于最小二乘法的系统辨识的设计与开发(整理版)课程(论文)题目: 基于最小二乘法的系统辨识摘要: 最小二乘法是一种经典的数据处理方法。 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。 在系统辨识领域中, 最小二乘法是一种得到广泛应用的估计方法, 可用于动态系统, 静态系统, 线性系统, 非线性系统。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 关键词: 最小二乘法;系统辨识;参数估计 1 引言最小二乘理论是有高斯( K.F.Gauss)在 1795 年提出: 未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。 这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最好拟合的数学模型。 递推最小二乘法是在最小二乘法得到的观测数据的基础上,用新引入的数据对上一次估计的结果进行修正递推出下一个参数估计值,直到估计值达到满意的精确度为止。 1 / 10

对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即是最小二乘法。 最小二乘法是一种经典的数据处理方法。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 2 最小二乘法的系统辨识设单输入单输出线性定常系统的差分方程为: 1),()()() 1()(01knkubkubnkxakxakxnn ( 1)上式中: )(ku为输入信号;)(kx为理论上的输出值。 )(kx只有通过观测才能得到,在观测过程中往往附加有随机干扰。 )(kx的观测值)(ky可表示为 ( 2)将式( 2)代入式( 1)得 1()()() 1()(101kubkubnkyakyakyn (3) 我们可能不知道)(kn的统计特性,在这种情况下,往往把)(kn看做均值为 0 的白噪声。 设 ( 4)则式( 3)可以写成 (5) 在测量)(ku时也有测量误差,系统内部也可能有噪声,应当

系统辨识之最小二乘法

方法一、最小二乘一次性算法: 首先对最小二乘法的一次性辨识算法做简要介绍如下: 过程的黑箱模型如图所示: 其中u(k)和z(k)分别是过程的输入输出,)(1-z G 描述输入输出关系的模型,成为过程模型。 过程的输入输出关系可以描述成以下最小二乘格式: )()()(k n k h k z T +=θ (1) 其中z(k)为系统输出,θ是待辨识的参数,h(k)是观测数据向量,n(k) 是均值为0的随机噪声。 利用数据序列{z (k )}和{h (k )}极小化下列准则函数: ∑=-=L k T k h k z J 12])()([)(θθ (2) 使J 最小的θ的估计值^ θ,成为最小二乘估计值。 具体的对于时不变SISO 动态过程的数学模型为 )()()()()(11k n k u z B k z z A +=-- (3) 应该利用过程的输入、输出数据确定)(1-z A 和 )(1-Z B 的系数。 对于求解θ的估计值^θ,一般对模型的阶次 a n , b n 已定,且b a n n >;其次将(3)模 型写成最小二乘格式 )()()(k n k h k z T +=θ (4) 式中 ?????=------=T n n T b a b a b b b a a a n k u k u n k z k z k h ],,,,,,,[)](,),1(),(,),1([)(2121 θ (5)

L k ,,2,1 = 因此结合式(4)(5)可以得到一个线性方程组 L L L n H Z +=θ (6) 其中 ???==T L T L L n n n n L z z z z )](),2(),1([)](),2(),1([ (7) 对此可以分析得出,L H 矩阵的行数为),max(b a n n L -,列数b a n n +。 在过程的输入为2n 阶次,噪声为方差为1,均值为0的随机序列,数据长度)(b a n n L +>的情况下,取加权矩阵L Λ为正定的单位矩阵I ,可以得出: L T L L T L z H H H 1^ )(-=θ (8) 其次,利用在Matlab 中编写M 文件,实现上述算法。 此次算法的实现,采用6阶M 序作为过程黑箱的输入;噪声采用方差为1,均值为0的随机数序列;黑箱模型假设为:y(k)-1.5y(k-1)+0.7y(k-2)=2u(k-1)+0.5u(k-2),则系统输出为Z(k)-1.5Z(k-1)+0.7Z(k-2)=2U(k-1)+0.5U(k-2)+n (k );模型的阶次2,2==b a n n ;数据长度取L=200。 程序清单如下见附录:最小二乘一次性算法Matlab 程序 运行结果如下: 图1 最小二乘一次性算法参数真值与估计值 其中re 为真值,ans 为估计值^ θ 结果发现辨识出的参数与真值之间存在细微误差,这是由于系统噪声以及数据长度L 的限制引起的,最小二乘辨识法是一种无偏估计方法。 方法二、最小二乘递推算法: 最小二乘一次性算法计算量大,并且浪费存储空间,不利于在线应用,由此引出最小

用matlab实现最小二乘递推算法辨识系统参数

自动化专业综合设计报告 设计题目:最小二乘递推算法辨识系统参数所在实验室:自动化系统仿真实验室 指导教师: 学生姓名 班级计082-2 班 学号 撰写时间:2012-3-1 成绩评定:

一.设计目的 1、学会用Matlab实现最小二乘法辨识系统参数。 2、进一步熟悉Matlab的界面及基本操作; 3、了解并掌握Matlab中一些函数的作用与使用; 二.设计要求 最小二乘递推算法辨识系统参数,利用matlab编程实现,设初始参数为零。z(k)-1.5*z(k-1)+0.7*z(k-2)=1*u(k-1)+0.5*u(k-2)+v(k); 选择如下形式的辨识模型: z(k)+a1*z(k-1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k); 三.实验程序 m= 3; N=100; uk=rand(1,N); for i=1:N uk(i)=uk(i)*(-1)^(i-1); end yk=zeros(1,N); for k=3:N yk(k)=1.5*yk(k-1)-0.7*yk(k-2)+uk(k-1)+0.5*uk(k-2); end %j=100;kn=0; %y=yk(m:j)'; %psi=[yk(m-1:j-1);yk(m-2:j-2);uk(m-1:j-1);uk(m-2:j-2)]'; %pn=inv(psi'*psi); %theta=(inv(psi'*psi)*psi'*y); theta=[0;0;0;0]; pn=10^6*eye(4); for t=3:N ps=([yk(t-1);yk(t-2);uk(t-1);uk(t-2)]); pn=pn-pn*ps*ps'*pn*(inv(1+ps'*pn*ps)); theta=theta+pn*ps*(yk(t)-ps'*theta); thet=theta'; a1=thet(1); a2=thet(2); b1=thet(3); b2=thet(4); a1t(t)=a1; a2t(t)=a2;b1t(t)=b1;b2t(t)=b2; end t=1:N; plot(t,a1t(t),t,a2t(t),t,b1t(t),t,b2t(t));

系统辨识最小二乘法大作业

系统辨识最小二乘法大作业 系统辨识大作业最小二乘法及其相关估值方法应用 学院:自动化学院 专业:信息工程 学号:2007302171 姓名:马志强 日期:2010.11.14 基于最小二乘法的多种系统辨识方法研究 1. 最小二乘法的引出 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。 设单输入-单输出线性定长系统的差分方程为 (5.1.1) 式中:为随机干扰;为理论上的输出值。只有通过观测才能得到,在观测过程中往往附加有随机干扰。的观测值可表示为

(5.1.2) 式中:为随机干扰。由式(5.1.2)得 (5.1.3) 将式(5.1.3)带入式(5.1.1)得 (5.1.4) 我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。 设 (5.1.5) 则式(5.1.4)可写成 (5.1.6) 在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。假定是不相关随机序列(实际上是相关随机序列)。 现分别测出个随机输入值,则可写成个方程,即 上述个方程可写成向量-矩阵形式 (5.1.7) 设 则式(5.1.7)可写为 (5.1.8) 式中:为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出 (5.1.9) 如果噪声,则

(5.1.10) 从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。可用最小二乘法来求的估值,以下讨论最小二乘法估计。 2. 最小二乘法估计算法 设表示的最优估值,表示的最优估值,则有 (5.1.11) 写出式(5.1.11)的某一行,则有 (5.1.12) 设表示与之差,即 - (5.1.13) 式中 成为残差。把分别代入式(5.1.13)可得残差。设 则有 (5.1.14) 最小二乘估计要求残差的平方和为最小,即按照指数函数 (5.1.15) 为最小来确定估值。求对的偏导数并令其等于0可得 (5.1.16) (5.1.17) 由式(5.1.17)可得的最小二乘估计 (5.1.18) 3.递推最小二乘法 为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识。 设已获得的观测数据长度为,将式(5.1.8)中的和分别用来代替, 即 (5.3.1) 用的最小二乘估计,则 (5.3.2)

最小二乘法

第3章 线性动态模型参数辨识-最小二乘法 3.1 辨识方法分类 根据不同的辨识原理,参数模型辨识方法可归纳成三类: ① 最小二乘类参数辨识方法,其基本思想是通过极小化如下准则函数来估计模型参数: min )()? (?== ∑=θ θL k k J 1 2ε 其中)(k ε代表模型输出与系统输出的偏差。典型的方法有最小二乘法、增广最小二乘法、辅助变量法、广义最小二乘法等。 ② 梯度校正参数辨识方法,其基本思想是沿着准则函数负梯度方向逐步修正模型参数,使准则函数达到最小,如随机逼近法。 ③ 概率密度逼近参数辨识方法,其基本思想是使输出z 的条件概率密度)|(θz p 最大限度地逼近条件0θ下的概率密度)|(0θz p ,即 )|()?|(0m a x θθz p z p ??→?。典型的方法是极大似然法。 3.2 最小二乘法的基本概念 ● 两种算法形式 ① 批处理算法:利用一批观测数据,一次计算或经反复迭代,以获得模型参数的估计值。 ② 递推算法:在上次模型参数估计值)(? 1-k θ的基础上,根据当前 获得的数据提出修正,进而获得本次模型参数估计值)(? k θ,广泛采用的递推算法形式为 () ()()()~()θθk k k k d z k =-+-1K h 其中)(? k θ表示k 时刻的模型参数估计值,K (k )为算法的增益,h (k -d ) 是由 观测数据组成的输入数据向量,d 为整数,)(~k z 表示新息。 ● 最小二乘原理

定义:设一个随机序列)},,,(),({L k k z 21∈的均值是参数θ 的线性函数 E{()}()T z k k θ=h 其中h (k )是可测的数据向量,那么利用随机序列的一个实现,使准则函数 21 ()[()()]L T k J z k k θθ==-∑h 达到极小的参数估计值θ? 称作θ的最小二乘估计。 ● 最小二乘原理表明,未知参数估计问题,就是求参数估计值θ? ,使序列的估计值尽可能地接近实际序列,两者的接近程度用实际序列与序列估计值之差的平方和来度量。 ● 如果系统的输入输出关系可以描述成如下的最小二乘格式 ()()()T z k k e k θ=+h 式中z (k )为模型输出变量,h (k )为输入数据向量,θ为模型参数向量,e (k )为零均值随机噪声。为了求此模型的参数估计值,可以利用上述最小二乘原理。根据观测到的已知数据序列)}({k z 和)}({k h ,极小化下列准则函数 21()[()()]L T k J z k k θθ==-∑h 即可求得模型参数的最小二乘估计值θ? 。 ● 最小二乘估计值应在观测值与估计值之累次误差的平方和达到最小值处,所得到的模型输出能最好地逼近实际系统的输出。 3.3 最小二乘问题的描述 (1) 考虑模型 )()()()()(11k e k u z B k z z A +=-- 式中u (k )和z (k ) 分别为过程的输入和输出变量,e (k )是均值为零、方差为2 n σ的随机噪声,)(1-z A 和)(1-z B 为迟延算子多项式,写成 A z a z a z a z B z b z b z b z n n n n a a b b ()()--------=++++=+++?????11122111221 (2) 假定模型阶次n a 和n b 为已知,且有b a n n ≥,也可设n n n b a ==, 并定义

基于最小二乘法的系统参数辨识

基于最小二乘法的系统参数辨识 研究生二队李英杰 082068 摘要:系统辨识是自动控制学科的一个重要分支,由于其特殊作用,已经广泛应用于各种领域,尤其是复杂系统或参数不容易确定的系统的建模。过去,系统辨识主要用于线性系统的建模,经过多年的研究,已经形成成熟的理论。但随着社会、科学的发展,非线性系统越来越受到人们的关注,其控制与模型之间的矛盾越来越明显,因而非线性系统的辨识问题也越来越受到重视,其辨识理论不断发展和完善本。文重点介绍了系统参数辨识中最小二乘法的基本原理,并通过热敏电阻阻值温度关系模型的辨识实例,具体说明了基于最小二乘法参数辨识在Matlab中的实现方法。结果表明基于最小二乘法具有算法简单、精度较高等优点。 1. 引言 所谓辨识就是通过测取研究对象在人为输入作用下的输出响应,或正常运行时的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据之中,辨识只不过是利用数学的方法从数据序列中提炼出对象的数学模型而已[1]。最小二乘法是系统参数辨识中最基本最常用的方法。最小二乘法因其算法简单、理论成熟和通用性强而广泛应用于系统参数辨识中。本文基于热敏电阻阻值与温度关系数据,介绍了最小二乘法的参数辨识在Matlab中的实现。 2. 系统辨识 一般而言,建立系统的数学模型有两种方法:激励分析法和系统辨识法。前者是按照系统所遵循的物化(或社会、经济等)规律分析推导出模型。后者则是从实际系统运行和实验数据处理获得模型。如图1 所示,系统辨识就是从系统的输入输出数据测算系统数学模型的理论和方法。更进一步的定义是L.A.Zadeh 曾经与1962 年给出的,即“系统辨识是在输入和输出的基础上,从系统的一类系统范围内,确立一个与所实验系统等价的系统”。另外,系统辨识还应该具有3 个基本要素,即模型类、数据和准则[5]。被辨识系统模型根据模型形式可分为参数模型和非参数模型两大类。所谓参数模型是指微分方程、差分方程、状态方程等形式的数学模型;而非参数模型是指频率响应、脉冲响应、传递函数等隐含参数的数学模型。在辨识工程中,模型的确定主要根据经验对实际对象的特性进行一定程度上的假设,如对象的模型是线性的还是非线性的、是参数模型还是非参数模型等。在模型确定之后,就可以根据对象的输入输出数据,按照一定的辨识算法确定模型的参数[4]。 图1 被研究的动态系统 3. 最小二乘法(LS)参数估计方法 对于参数模型辨识结构,系统辨识的任务是参数估计,即利用输入输出数据估计这些参数,建立系统的数学模型。在参数估计中最常用的是最小二乘法(LS)、

(完整word版)多种最小二乘算法分析+算法特点总结

第一部分:程序设计思路、辨识结果分析和算法特点总结 (2) 一:RLS遗忘因子法 (2) RLS遗忘因子法仿真思路和辨识结果 (2) 遗忘因子法的特点: (3) 二:RFF遗忘因子递推算法 (4) 仿真思路和辨识结果 (4) 遗忘因子递推算法的特点: (5) 三:RFM限定记忆法 (5) 仿真思路和辨识结果 (5) RFM限定记忆法的特点: (7) 四:RCLS偏差补偿最小二乘法 (7) 仿真思路和辨识结果 (7) RCLS偏差补偿最小二乘递推算法的特点: (9) 五:增广最小二乘法 (9) 仿真思路和辨识结果 (9) RELS增广最小二乘递推算法的特点: (11) 六:RGLS广义最小二乘法 (12) 仿真思路和辨识结果 (12) RGLS广义最小二乘法的特点: (14) 七:RIV辅助变量法 (14) 仿真思路和辨识结果 (14) RIV辅助变量法的特点: (16) 八:Cor-ls相关最小二乘法(二步法) (17) 仿真思路和辨识结果 (17) Cor-ls相关最小二乘法(二步法)特点: (18) 九:MLS多级最小二乘法 (19) 仿真思路和辨识结果 (19) MLS多级最小二乘法的特点: (22) 十:yule_walker辨识算法 (23) 仿真思路和辨识结果 (23) yule_walker辨识算法的特点: (24) 第二部分:matlab程序 (24) 一:RLS遗忘因子算法程序 (24) 二:RFF遗忘因子递推算法 (26) 三:RFM限定记忆法 (28) 四:RCLS偏差补偿最小二乘递推算法 (31) 五:RELS增广最小二乘的递推算法 (33) 六;RGLS 广义最小二乘的递推算法 (36) 七:Tally辅助变量最小二乘的递推算法 (39) 八:Cor-ls相关最小二乘法(二步法) (42) 九:MLS多级最小二乘法 (45) 十yule_walker辨识算法 (49)

(完整)系统辨识—最小二乘法汇总,推荐文档

最小二乘法参数辨识 201403027 摘要:系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小 二乘法是一种应用极其广泛的系统辨识方法.阐述了动态系统模型的建立及其最小二乘法在系统辨识中的应用,并通过实例分析说明了最小二乘法应用于系统辨识中的重要意义. 关键词:最小二乘法;系统辨识;动态系统 Abstract: System identification in engineering is widely used, system identification methods there are many ways, least squares method is a very wide range of application of system identification method and the least squares method elaborated establish a dynamic system models in System Identification applications and examples analyzed by the least squares method is applied to illustrate the importance of system identification. Keywords: Least Squares; system identification; dynamic system

引言 随着科学技术的不断发展,人们认识自然、利用自然的能力越来越强,对于未知对象的探索也越来越深入.我们所研究的对象,可以依据对其了解的程度分为三种类型:白箱、灰箱和黑箱.如果我们对于研究对象的内部结构、内部机制了解很深入的话,这样的研究对象通常称之为“白箱”;而有的研究对象,我们对于其内部结构、机制只了解一部分,对于其内部运行规律并不十分清楚,这样的研究对象通常称之为“灰箱”;如果我们对于研究对象的内部结构、内部机制及运行规律均一无所知的话,则把这样的研究对象称之为“黑箱”.研究灰箱和黑箱时,将研究的对象看作是一个系统,通过建立该系统的模型,对模型参数进行辨识来确定该系统的运行规律.对于动态系统辨识的方法有很多,但其中应用最广泛,辨识 效果良好的就是最小二乘辨识方法,研究最小二乘法在系统辨识中的应用具有现实的、广泛的意义. 1.1 系统辨识简介 系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。通常,预先给定一个模型类μ={M}(即给定一类已知结构的模型),一类输入信号u和等价准则J=L(y,yM)(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。系统辨识包括两个方面:结构辨识和参数估计。在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的。 1.2系统辨识的目的 在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。通过辨识建立数学模型通常有四个目的。 ①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。 ②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。用于系统分析的仿真模型要求能真实反映系统的特性。用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。 ③预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。预测模型辨识的等价准则主要是使预测误差平方和最小。只要预测误差小就是好的预测

相关文档
最新文档