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

上传人:b****0 文档编号:17800212 上传时间:2023-08-03 格式:DOCX 页数:45 大小:594.87KB
下载 相关 举报
完整word版多种最小二乘算法分析+算法特点总结.docx_第1页
第1页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第2页
第2页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第3页
第3页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第4页
第4页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第5页
第5页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第6页
第6页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第7页
第7页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第8页
第8页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第9页
第9页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第10页
第10页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第11页
第11页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第12页
第12页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第13页
第13页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第14页
第14页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第15页
第15页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第16页
第16页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第17页
第17页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第18页
第18页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第19页
第19页 / 共45页
完整word版多种最小二乘算法分析+算法特点总结.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《完整word版多种最小二乘算法分析+算法特点总结.docx》由会员分享,可在线阅读,更多相关《完整word版多种最小二乘算法分析+算法特点总结.docx(45页珍藏版)》请在冰点文库上搜索。

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

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

第一部分:

程序设计思路、辨识结果分析和算法特点总结

一:

RLS遗忘因子法

RLS遗忘因子法仿真思路和辨识结果

仿真对象如下:

其中,v(k)为服从N(0,1)分布的白噪声。

输入信号u(k)采用M序列,幅度为1。

M序列由9级移位寄存器产生,x(i)=x(i-4)⊕x(i-9)。

选择如下辨识模型:

加权阵取Λ=I.

衰减因子β=0.98,数据长度L=402。

辨识结果与理论值比较,基本相同.辨识结果可信:

Estimate=

—1。

4666

0.6503

0.9736

0。

3035

遗忘因子法的特点:

对老数据加上遗忘因子,以降低老数据对辨识的影响,相对增加新数据对辨识的影响,不会出现“数据饱和"现象.如模型噪声是有色噪声,则Ø是有偏估计量.常用作其他辨识方式的起步,以获得其他方式的初始值。

二:

RFF遗忘因子递推算法

仿真思路和辨识结果

辨识模型与遗忘因子法所用模型相同。

其中,0≤µ≤1为遗忘因子,此处取0。

98。

数据长度L=402,初始条件:

参数a1a2b1b2的估计值:

ans=

-1.4977

0。

6863

1.1903

0.4769

待估参数变化过程如图所示:

遗忘因子递推算法的特点:

从上面两个例子可以看出对于相同的仿真对象,一次算法和递推算法结果基本一致,但递推算法可以实现在线实时辨识,而且可以减少计算量和存储量.

三:

RFM限定记忆法

仿真思路和辨识结果

辨识模型与遗忘因子法所用模型相同.

辨识结果与理论值比较,基本相同。

辨识结果可信:

参数a1a2b1b2的估计值为:

Theta_a=

—1。

5128

0。

7099

0.8393

0。

4416

待估参数的过渡过程如下:

RFM限定记忆法的特点:

辨识所使用的数据长度保持不变,每增加一个新数据就抛掉一个老数据,使参数估计值始终只依赖于有限个新数据所提供的新消息,克服了遗忘因子法不管多老的数据都在起作用的缺点,因此该算法更能有效的克服数据饱和现象。

四:

RCLS偏差补偿最小二乘法

仿真思路和辨识结果

辨识模型与遗忘因子法所用模型相同。

辨识结果与理论值比较,基本相同.辨识结果可信:

参数a1a2b1b2的估计值为:

ans=

-1。

4916

0.7005

1。

0365

0.4271

RCLS偏差补偿最小二乘递推算法的特点:

算法思想:

在最小二乘参数估计值的基础上,引进补偿项σW2C—1DØ0,则获得了参数的无偏估计.针对模型噪声来说,RCLS算法的适应能力比RLS更好。

五:

增广最小二乘法

仿真思路和辨识结果

考虑如下仿真对象:

其中,为服从N(0,1)分布的白噪声。

输入信号采用M序列,幅度为1。

M序列由9级移位寄存器产生,x(i)=x(i-4)⊕x(i—9)。

选择如下的辨识模型:

观测数据长度取L=402。

加权阵取Λ=I。

辨识结果与理论值比较,基本相同,同时又能获得噪声模型的参数估计。

辨识结果可信:

参数a1、a2、b1、b2、d1、d2估计结果:

ans=

-1。

5000

0.7000

1.0001

0.5002

-0。

9999

0.2000

RELS增广最小二乘递推算法的特点:

增广最小二乘的递推算法对应的噪声模型为滑动平均噪声,扩充了参数向量和数据向量H(k)的维数,把噪声模型的辨识同时考虑进去。

最小二乘法只能获得过程模型的参数估计,而增广最小二乘法同时又能获得噪声模型的参数估计,若噪声模型为平均滑动模型,,则只能用RELS算法才能获得无偏估计。

当数据长度较大时,辨识精度低于极大似然法。

六:

RGLS广义最小二乘法

仿真思路和辨识结果

模型结构选择:

模型结构选用:

其中,各个参数的真值为:

广义最小二乘算法为:

辨识结果与理论值比较,基本相同,同时又能获得噪声传递系数的参数估计.辨识结果可信:

参数a1a2b1b2的估计结果:

ans=

-1.5058

0。

6972

0。

9316

0。

4833

噪声传递系数c1c2的估计结果:

ans=

0.6203

0.2210

RGLS广义最小二乘法的特点:

该算法用于自回归输入模型,是一种迭代的算法。

其基本思想是基于对数据先进行一次滤波处理,后利用普通最小二乘法对滤波后的数据进行辨识,进而获得无偏一致估计。

但是当过程的输出信噪比比较大或模型参数较多时,这种数据白色化处理的可靠性就会下降,辨识结果往往会是有偏估计.数据要充分多,否则辨识精度下降。

模型阶次不宜过高。

初始值对辨识结果有较大影响。

七:

RIV辅助变量法

仿真思路和辨识结果

辨识模型与遗忘因子法所用模型相同,只不过此处噪声为有色噪声,产生过程为:

e(k)=v(k)+0。

5v(k-1)+0.2v(k—2),v(k)为0均值的不相关随机噪声。

按照Tally法选取辅助变量x(k)=z(k-nd),nd为误差传递函数的阶数,此处为2.则有

辅助变量法的递推公式可写成:

辨识结果与理论值比较,基本相同。

辨识结果可信:

参数a1a2b1b2的估计结果:

ans=

-1。

5314

0。

7461

0。

9999

0。

4597

RIV辅助变量法的特点:

适当选择辅助变量,使之满足相应条件,参数估计值就可以是无偏一致.估计辅助变量法的计算量与最小二乘法相当,但辨识效果却比最小二乘法好的多。

尤其当噪声是有色的,而噪声的模型结构又不好确定时,增广最小二乘法和广义最小二乘法一般都不好直接应用,因为他们需要选用特定的模型结构,而辅助变量法不需要确定噪声的模型结构,因此辅助变量法就显得更为灵活,但辅助变量法不能同时获得噪声模型的参数估计。

八:

Cor—ls相关最小二乘法(二步法)

仿真思路和辨识结果

辨识模型与遗忘因子法所用模型相同:

e(k)=v(k)+0.5v(k-1)+0.2v(k-2),v(k)为0均值的不相关随机噪声。

Cor—ls的递推公式可写成:

其中:

M(k)为输入M序列。

初始条件:

辨识结果与理论值比较,基本相同,辨识结果可信:

参数a1a2b1b2的估计结果:

ans=

—1.4896

0.6858

1.0168

0.4362

Cor-ls相关最小二乘法(二步法)特点:

把辨识分成两步进行:

第一步:

利用相关分析法获得对象的非参数模型(脉冲响应或相关函数);第二步:

利用最小二乘法、辅助变量法或增广最小二乘法等,进一步求的对象的参数模型。

如果模型噪声与输入无关,则Cor—ls相关最小二乘法(二步法)可以得到较好的辨识结果。

Cor—ls相关最小二乘法(二步法)实质上是先对数据进行一次相关分析,滤除了有色噪声的影响,再利用最小二乘法必然就会改善辨识结果。

能适应较宽广的噪声范围,计算量不大,初始值对辨识结果影响较小。

但要求输入信号与噪声不相关。

九:

MLS多级最小二乘法

仿真思路和辨识结果

仿真对象如下:

其中,u(k)是输入变量,此处为M序列;v(k)是零均值、方差为1的不相关随机噪声,通过控制λ的大小来控制信噪比。

辨识模型结构选用:

其中,

辨识过程如下:

第一级,辅助模型参数辨识

原模型可写为:

利用最小二乘法可获得辅助模型的参数无偏一致估计值:

数据长度L=400,

第二级,过程模型参数辨识:

根据最小二乘算法可以获得过程模型的参数估计值为:

第三级,噪声模型参数辨识:

根据最小二乘算法可以获得过程模型的参数估计值为

辨识结果与理论值比较,基本相同。

辨识结果可信:

第一级辅助模型参数e1e2e3e3e4f1f2f3f4辨识结果:

E=

1。

9062

1.4454

0。

5279

0。

0613

—0。

0026

0。

7988

—0。

8694

—1。

3037

-0。

6318

第二级过程模型参数a1a2a3b1b2辨识结果:

E2=

0.9304

0。

1596

0。

0113

0。

7998

—1.6502

第三级噪声模型参数c1c2辨识结果:

E3=

0。

9750

0。

3824

MLS多级最小二乘法的特点:

当信噪比较大时,采用广义最小二乘法可能会出现多个局部收敛点,解决这个问题的方法可用多级最小二乘法,一般来说多级最小二乘法包含三级辨识过程。

利用输入输出数据,通过多级最小二乘法,可分别求的辅助模型,过程模型和噪声模型的参数估计值。

在高噪声的情况下,多级最小二乘法明显优于广义最小二乘法,其收敛点唯一。

十:

yule_walker辨识算法

仿真思路和辨识结果

仿真对象如下:

z(k)是可观测变量;v(k)是均值为零,方差为1的不相关随机噪声;数据长度取L=1024。

相关函数按下式计算:

参数的估计算法按下式计算:

辨识结果与理论值比较,基本相同,同时又能获得噪声模型的参数估计。

辨识结果可信:

辨识结果为:

Theta=

0。

8597

0.2955

—0。

0034

d=

1。

0025

yule_walker辨识算法的特点:

yule_walker辨识算法可以方便的辨识形如

的参数估计值。

第二部分:

matlab程序

一:

RLS遗忘因子算法程序

clear

clc

%==========================================

%最小二乘法辨识对象

%Z(k+2)=1。

5*Z(k+1)-0.7*Z(k)+u(k+1)+0.5*u(k)+v(k)

%==========产生M序列作为输入===============

x=[010110111];%初始值

n=403;%n为脉冲数目

M=[];%存放M序列

fori=1:

n

temp=xor(x(4),x(9));

M(i)=x(9);

forj=9:

—1:

2

x(j)=x(j-1);

end

x

(1)=temp;

end;

%产生高斯白噪声

v=randn(1,400);

z=[];

z

(1)=—1;

z

(2)=0;

u=0。

98;%遗忘因子

L=400;

fori=3:

402

z(i)=1。

5*z(i-1)-0。

7*z(i-2)+M(i-1)+0.5*M(i-2)+v(i-2);

zstar(i)=z(i)*u^(L—i+2);

end

H=zeros(400,4);

fori=1:

400

H(i,1)=-z(i+1)*u^(L—i);

H(i,2)=-z(i)*u^(L-i);

H(i,3)=M(i+1)*u^(L-i);

H(i,4)=M(i)*u^(L—i);

end

Estimate=inv(H’*H)*H’*(zstar(3:

402))'

二:

RFF遗忘因子递推算法

%最小二乘遗忘因子的递推算法仿真对象

%Z(k+2)=1.5*Z(k+1)—0.7*Z(k)+u(k+1)+0.5*u(k)+v(k)

%========================================

clear

clc

%==========400个产生M序列作为输入===============

x=[010110111];%initialvalue

n=403;%n为脉冲数目

M=[];%存放M序列

fori=1:

n

temp=xor(x(4),x(9));

M(i)=x(9);

forj=9:

—1:

2

x(j)=x(j-1);

end

x

(1)=temp;

end

%===========产生均值为0,方差为1的高斯白噪声=========

v=randn(1,400);

%==============产生观测序列z=================

z=zeros(402,1);

z

(1)=-1;

z

(2)=0;

fori=3:

402

z(i)=1。

5*z(i—1)—0.7*z(i-2)+M(i—1)+0。

5*M(i-2)+v(i-2);

end

%==============递推求解=================

P=10*eye(4);%估计方差

Theta=zeros(4,401);%参数的估计值,存放中间过程估值

Theta(:

,1)=[0。

001;0。

001;0.001;0.001];

K=zeros(4,400);%增益矩阵

K=[10;10;10;10];

u=0。

98;%遗忘因子

fori=3:

402

h=[-z(i—1);-z(i—2);M(i—1);M(i—2)];

K=P*h*inv(h’*P*h+u);

Theta(:

i-1)=Theta(:

i-2)+K*(z(i)—h’*Theta(:

i-2));

P=(eye(4)—K*h’)*P/u;

end

%==========================输出结果及作图=============================

disp('参数a1a2b1b2的估计值:

’)

Theta(:

,401)

i=1:

401;

figure

(1)

plot(i,Theta(1,:

),i,Theta(2,:

),i,Theta(3,:

),i,Theta(4,:

))

title('待估参数过渡过程’)

三:

RFM限定记忆法

%限定记忆最小二乘的递推算法辨识对象

%Z(k+2)=1。

5*Z(k+1)—0.7*Z(k)+u(k+1)+0。

5*u(k)+v(k)

%========================================

clear

clc

%==========产生M序列作为输入===============

x=[010110111];%initialvalue

n=403;%n为脉冲数目

M=[];%存放M序列

fori=1:

n

temp=xor(x(4),x(9));

M(i)=x(9);

forj=9:

—1:

2

x(j)=x(j—1);

end

x

(1)=temp;

end

%===========产生均值为0,方差为1的高斯白噪声=========

v=randn(1,402);

%==============产生观测序列z=================

z=zeros(402,1);

z

(1)=-1;

z

(2)=0;

fori=3:

402

z(i)=1。

5*z(i—1)-0。

7*z(i-2)+M(i—1)+0。

5*M(i-2)+v(i);

end

%递推求解

P_a=100*eye(4);%估计方差

Theta_a=[3;3;3;3];

L=20;%记忆长度

fori=3:

L-1%利用最小二乘递推算法获得初步参数估计值和P阵

h=[-z(i—1);-z(i—2);M(i-1);M(i-2)];

K=P_a*h*inv(h’*P_a*h+1);

Theta_a=Theta_a+K*(z(i)-h'*Theta_a);

P_a=(eye(4)-K*h')*P_a;

end

fork=0:

380

hL=[—z(k+L—1);-z(k+L—2);M(k+L—1);M(k+L—2)];%增加新数据的信息

K_b=P_a*hL*inv(1+hL’*P_a*hL);

Theta_b=Theta_a+K_b*(z(k+L)—hL'*Theta_a);

P_b=(eye(4)—K_b*hL’)*P_a;

hk=[-z(k+L);—z(k+L-1);M(k+L);M(k+L—1);];%去掉老数据的信息

K_a=P_b*hk*inv(1+hk'*P_b*hk);

Theta_a=Theta_b-K_a*(z(k+L+1)—hk’*Theta_b);

P_a=(eye(4)+K_a*hk’)*P_b;

Theta_Store(:

,k+1)=Theta_a;

end

%========================输出结果及作图===========================

disp(’参数a1a2b1b2的估计值为:

’)

Theta_a

i=1:

381;

figure

(1)

plot(i,Theta_Store(1,:

),i,Theta_Store(2,:

),i,Theta_Store(3,:

),i,Theta_Store(4,:

))

title('待估参数过渡过程')

四:

RCLS偏差补偿最小二乘递推算法

%偏差补偿最小二乘的递推算法辨识对象

%Z(k+2)=1.5*Z(k+1)—0。

7*Z(k)+u(k+1)+0.5*u(k)+v(k)

%========================================

clear

clc

%==========产生M序列作为输入===============

x=[010110111];%initialvalue

n=403;%n为脉冲数目

M=[];%存放M序列

fori=1:

n

temp=xor(x(4),x(9));

M(i)=x(9);

forj=9:

-1:

2

x(j)=x(j—1);

end

x

(1)=temp;

end

%===========产生均值为0,方差为1的正态分布噪声=========

v=random(’Normal’,0,1,1,400);

%==============产生观测序列z=================

z=zeros(402,1);

z

(1)=—1;

z

(2)=0;

fori=3:

402

z(i)=1.5*z(i-1)-0.7*z(i-2)+M(i—1)+0.5*M(i—2)+v(i—2);

end

%===================递推求解==================

%赋初值

P=100*eye(4);%估计方差

Theta=zeros(4,401);%参数的估计值,存放中间过程估值

Theta(:

,1)=[3;3;3;3];

K=[10;10;10;10];%增益

J=0;

ThetaC=zeros(4,401);%偏差补偿后的估计值

ThetaC(:

1)=[2;3;1;3.5];

D=[1000;0100;0000;0000];

fori=3:

402

h=[—z(i-1);—z(i—2);M(i-1);M(i—2)];

J=J+(z(i-1)-h'*Theta(:

,i—1))^2/(1+h’*P*h);

K=P*h*inv(h'*P*h+1);

Theta(:

i-1)=Theta(:

,i-2)+K*(z(i)-h'*Theta(:

,i-2));

P=(eye(4)—K*h')*P;

end

es=J/((i-1)*(1+(ThetaC(:

,i-2))’*D*Theta(:

i-1)));

ThetaC(:

,i-1)=Theta(:

,i-1)+(i-1)*es*P*D*ThetaC(:

i-2);

%==============输出参数估计结果及作图================

disp('参数a1a2b1b2的估计值为:

')

Theta(:

401)

i=1:

401;

figure

(1)

plot(i,Theta(1,:

),i,Theta(2,:

),i,Theta(3,:

),i,Theta(4,:

))

title(’待估参数过渡过程’)

 

五:

RELS增广最小二乘的递推算法

%增广最小二乘的递推算法辨识对象

%Z(k+2)=1。

5*Z(k+1)—0.7*Z(k)+u(k+1)+0。

5*u(k)-v(k+1)+0.2*v(k)

%========================================

clear

clc

%==========产生M序列作为输入===============

x=[010110111];%initialvalue

n=403;%n为脉冲数目

M=[];%存放M序列

fori=1:

n

temp=xor(x(4),x(9));

M(i)=x(9);

forj=9:

-1:

2

x(j)=x(j—1);

end

x

(1)=temp;

end

%===========产生均值为0,方差为1的高斯白噪声=========

v=randn(1,402);

%==============产生观测序列z=================

z=zeros(402,1);

z

(1)=-1;

z

(2)=0;

fori=3:

402

z(i)=1.5*z(i-1)—0。

7*z(i-2)+M(i—1)+0.5*M(i-2)—v(i-1)+0。

2*v(i—2);

end

%递推求解

P=100*eye(6);%估计方差

Theta=zeros(6,401);%参数的估计值,存放中间过程估值

Theta(:

1)=[3;3;3;3;3;3];

%K=zeros(4,400);%增益矩阵

K=[10;10;10;10;10;10];

fori=3:

402

h=[—z(i—1);—z(i—2);M(i—1);M(i-2);v(i—1);v(i-2)];

K=P*h*inv(h'*P*h+1);

Theta(:

i—1)=Theta(:

i-2)+K*(z(i)—h’*Theta(:

,i-2));

P=(eye(6)—K*h')*P;

end

%=======================================================================

disp('参数a1、a2、b1、b2、d1、d2估计结果:

')

Theta(:

,401)

i=1:

401;

figure

(1)

plot(i,Theta(1,:

),i,Theta(2,:

),i,Theta(3,:

),i,Theta(4,:

),i,Theta(5,:

),i,Theta(6,:

))

title(’待估参数过渡过程’)

六;RGLS广义最小二乘的递推算法

%广义最小二乘的递推算法仿真模型

%Z(k+2)=1。

5*Z(k+1)—0.7*Z(k)+u(k+1)+0。

5*u(k)+e(k)

%e(k+2)+2.1*e(k+1)-2.5*e(k)=v(k+2)

%========================================

clear

clc

%==========400个产生M序列作为输入===============

x=[010110111];%in

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2