多种最小二乘算法分析算法特点总结.docx

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

多种最小二乘算法分析算法特点总结.docx

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

多种最小二乘算法分析算法特点总结.docx

多种最小二乘算法分析算法特点总结

第一部分:

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

一:

RLS遗忘因子法  4

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

遗忘因子法的特点:

  5

二:

RFF遗忘因子递推算法  6

仿真思路和辨识结果  6

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

  7

三:

RFM限定记忆法  7

仿真思路和辨识结果  7

RFM限定记忆法的特点:

  9

四:

RCLS偏差补偿最小二乘法  9

仿真思路和辨识结果  9

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

  11

五:

增广最小二乘法  11

仿真思路和辨识结果  11

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

  13

六:

RGLS广义最小二乘法  14

仿真思路和辨识结果  14

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

  16

七:

RIV辅助变量法  16

仿真思路和辨识结果  16

RIV辅助变量法的特点:

  18

八:

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

仿真思路和辨识结果  19

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

  20

九:

MLS多级最小二乘法  21

仿真思路和辨识结果  21

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

  24

十:

yule_walker辨识算法  24

仿真思路和辨识结果  24

yule_walker辨识算法的特点:

  26

第二部分:

matlab程序  26

一:

RLS遗忘因子算法程序  26

二:

RFF遗忘因子递推算法  28

三:

RFM限定记忆法  30

四:

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

五:

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

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

七:

Tally辅助变量最小二乘的递推算法  41

八:

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

九:

MLS多级最小二乘法  46

十yule_walker辨识算法  51

 

第一部分:

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

一:

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,初始条件:

参数a1a2b1 b2的估计值:

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('参数a1a2b1 b2的估计值:

')

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)=

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

当前位置:首页 > 人文社科 > 文化宗教

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

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