当前位置:文档之家› 最小二乘法辨识参数

最小二乘法辨识参数

最小二乘法辨识参数
最小二乘法辨识参数

姓名:廖伟学号:201221014368 专业:控制工程增广型递推最小二乘法仿真

第一种模型的仿真程序:

%选择的模型结构(递推最小二乘法):Y=Fai*theta+E

%输入u为一个伪随机序列

L=10;

y1=1;y2=1;y3=1;y4=0;

for i=1:L;

x1=xor(y3,y4);

x2=y1;

x3=y2;

x4=y3;

y(i)=y4;

if y(i)>0.5,u(i)=-0.1;

else u(i)=0.1;

end

y1=x1;y2=x2;y3=x3;y4=x4;

end

v=randn(1,10);

y(1)=0;y(2)=0;%设定输出的初始值y(0),y(1)

theta0=[0.01;0;0.01;0;0.01];%给出待辨识参数的初始值

P0=10^6*eye(5);%生成初始矩阵7x7的单位阵

E=0.00005;%E为递推结束的条件

%下面进行递推运算

for k=3:10

y(k)=1.5*y(k-1)-0.7*y(k-2)+1.0*u(k-1)+0.5*u(k-2)+v(k);%产生输出y Fai1=[-y(k-1) -y(k-2) u(k-1) u(k-2) v(k)]';%生成实测数据组

Fai1

K1=P0*Fai1/(1+Fai1'*P0*Fai1);

theta1=theta0+K1*(y(k)-Fai1'*theta0);

e1=theta1-theta0;

%e2=e1/theta1;

P1=P0-K1*Fai1'*P0;

theta0=theta1;%供下次递推使用

P0=P1;%供下次递推使用

if abs(e1)

end

end

theta1

辨识的参数的最后结果为:

theta1 =

-1.5000

0.7000

1.0000

0.5000

1.0000

可以从结果看出,辨识的效果很好,基本没有误差。

第二种模型的仿真程序:

%选择的模型结构(增广最小二乘法):Y=Fai*theta+E %输入u为一个伪随机序列

L=10;

y1=1;y2=1;y3=1;y4=0;

for i=1:L;

x1=xor(y3,y4);

x2=y1;

x3=y2;

x4=y3;

y(i)=y4;

if y(i)>0.5,u(i)=-0.1;

else u(i)=0.1;

end

y1=x1;y2=x2;y3=x3;y4=x4;

end

v=randn(1,10);%噪声干扰随机数序列

y(1)=0;y(2)=0;%设定输出的初始值y(0),y(1)

theta0=[0.01;0;0.01;0;0.01;0;0];%给出待辨识参数的初始值

P0=10^6*eye(7);%生成初始矩阵7x7的单位阵

E=0.00005;%E为递推结束的条件

%下面进行递推运算

for k=3:10

y(k)=1.5*y(k-1)-0.7*y(k-2)+1.0*u(k-1)+0.5*u(k-2)+v(k)-v(k-1)+0.2*v(k-2);%产生输出y Fai1=[-y(k-1) -y(k-2) u(k-1) u(k-2) v(k) v(k-1) v(k-2)]';%生成实测数据组

Fai1

K1=P0*Fai1/(1+Fai1'*P0*Fai1);

theta1=theta0+K1*(y(k)-Fai1'*theta0);

e1=theta1-theta0;

%e2=e1/theta1;

P1=P0-K1*Fai1'*P0;

theta0=theta1;%供下次递推使用

P0=P1;%供下次递推使用

if abs(e1)

end

end

theta1

辨识的参数最后结果为:

-1.5

0.69999

0.99889

0.50019

1.0001

-1

0.19991

从辨识的结果看出,所得结果与真实的模型参数很接近,辨识效果也很好。

极大似然参数辨识方法

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 ε的均方差σ都是未知参数。 设待估参数

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

最小二乘法在系统辨识中的应用 王文进 控制科学与控制工程学院 控制理论与控制工程专业 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

最小二乘参数估计 摘要: 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。这种算法在使用时,占用内存大,离线辨识,观测被辨识对象获得的新数据往往是逐次补充到观测数据集合中去的。在应用一次完成算法时,如果要求在每次新增观测数据后,接着就估计出系统模型的参数,则需要每次新增数据后要重新求解矩阵方程()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年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。”这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最

实验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仿真

《系统辨识》基于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, 图形格式为连续曲线

用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软件强大的功能。在以后的学习和工作中必定有很大的用处。

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

西北工业大学系统辩识大作业 题目:最小二乘法系统辨识

一、 问题重述: 用递推最小二乘法、加权最小二乘法、遗忘因子法、增广最小二乘法、广义最小二乘法、辅助变量法辨识如下模型的参数 离散化有 z^4 - 3.935 z^3 + 5.806 z^2 - 3.807 z + 0.9362 ---------------------------------------------- = z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187 噪声的成形滤波器 离散化有 4.004e-010 z^3 + 4.232e-009 z^2 + 4.066e-009 z + 3.551e-010 ----------------------------------------------------------------------------- = z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187 采样时间0.01s 要求:1.用Matlab 写出程序代码; 2.画出实际模型和辨识得到模型的误差曲线; 3.画出递推算法迭代时各辨识参数的变化曲线; 最小二乘法: 在系统辨识领域中 ,最小二乘法是一种得到广泛应用的估计方法 ,可用于动态 ,静态 , 线性 ,非线性系统。在使用最小二乘法进行参数估计时 ,为了实现实时控制 ,必须优化成参数递推算法 ,即最小二乘递推算法。这种辨识方法主要用于在线辨识。MATLAB 是一套高性能数字计算和可视化软件 ,它集成概念设计 ,算法开发 ,建模仿真 ,实时实现于一体 ,构成了一个使用方便、界面友好的用户环境 ,其强大的扩展功能为各领域的应用提供了基础。对 4324326.51411.5320120232320 Y s s s s G U s s s s ++++== ++++432 120120232320 E N W s s s s == ++++

系统辨识之最小二乘法

方法一、最小二乘一次性算法: 首先对最小二乘法的一次性辨识算法做简要介绍如下: 过程的黑箱模型如图所示: 其中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 的限制引起的,最小二乘辨识法是一种无偏估计方法。 方法二、最小二乘递推算法: 最小二乘一次性算法计算量大,并且浪费存储空间,不利于在线应用,由此引出最小

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

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

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

系统辨识大作业 最小二乘法及其相关估值方法应用 学院:自动化学院 学号: 姓名:日期:

基于最小二乘法的多种系统辨识方法研究 一、实验原理 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)

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

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于最小二乘法的系统辨识的设计与开发(整理版)课程(论文)题目: 基于最小二乘法的系统辨识摘要: 最小二乘法是一种经典的数据处理方法。 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。 在系统辨识领域中, 最小二乘法是一种得到广泛应用的估计方法, 可用于动态系统, 静态系统, 线性系统, 非线性系统。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 关键词: 最小二乘法;系统辨识;参数估计 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时也有测量误差,系统内部也可能有噪声,应当

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

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

系统辨识—最小二乘法

最小二乘法参数辨识 1 引言 系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。通常,预先给定一个模型类μ={M}(即给定一类已知结构的模型),一类输入信号u和等价准则J=L(y,yM)(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。系统辨识包括两个方面:结构辨识和参数估计。在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的。 2 系统辨识的目的 在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。通过辨识建立数学模型通常有四个目的。 ①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。 ②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。用于系统分析的仿真模型要求能真实反映系统的特性。用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。 ③预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。预测模型辨识的等价准则主要是使预测误差平方和最小。只要预测误差小就是好的预测模型,对模型的结构及参数则很少再有其他要求。这时辨识的准则和模型应用的目的是一致的,因此可以得到较好的预测模型。 ④控制为了设计控制系统就需要知道描述系统动态特性的数学模型,建立这些模型的目的在于设计控制器。建立什么样的模型合适,取决于设计的方法和准备采用的控制策略。 3 系统辨识的方法 经典方法: 经典的系统辨识方法的发展已经比较成熟和完善,他包括阶跃响应法、脉冲

最小二乘法

第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 ==, 并定义

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

系统辨识最小二乘法大作业 系统辨识大作业最小二乘法及其相关估值方法应用 学院:自动化学院 专业:信息工程 学号: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)

matlab基于某最小二乘、全局化算法、遗传算法地全参数识别

最小二乘法: %递推公式,更新 p0=p2; for n=2:N-1%%递推最小二乘法 K0=p0*X(n,:)'*inv(1+X(n,:)*p0*X(n,:)');%计算K Theta_abs=Theta_abs+K0*(Y(n)-X(n,:)*Theta_abs);%计算估计值Theta ; p3=p0-K0*X(n,:)*p0;%计算P p0=p3; %误差平方和最小 Y1=X(n,:)*Theta_abs;%递推值 J=(Y(n,:)-Y1)*(Y(n,:)-Y1)' if (J

上式可以改写为()()()()l k k v i k u b i k z a k z b a n i i n i i ,..,2,1,1 1 =+-+--=∑∑== 上式改写为最小二乘格式()())(k v k h k z T +=θ(3) 对于(3)式的l 次观测构成一个线性方程组 [][] ?????=------=T n n T b a n a b b b a a a n k u k u n k z k z k h ,...,,,,...,,)(),...,1(),(),...,1()(2121θ即 l l l V H Z +=θ. ()()()[]()()()[]T l T l l v v v V l z z z Z ,...2,1,,...,2,1= ()()()()()()()()()???? ? ?? ?????-------------=?? ??????? ???=)()1()(21)2()1(10)1(021b a b a b a l n l u l u n l z l z n u u n z z n u u n z z l h h h H K K K K K K M 取极小化准则函数()()[]()()θθθL T L l l k T H z H z k h k z J --=-=∑=1 2 ,极小化()θJ ,求得参 数θ的估计值θ?,[] T n n n a b b b a a a ?,...,?,?,?,...,?,??2121=θ ()()[]()() θθθ???12l l T l l l k T H Z H Z k h k z J --=-=∑=表示为了确定使准则最小的条件,将该式对各参数求导,并令其结果等于零: ()() l T l l T l l l l Z H H H H Z H J 1 ?,0?2?-==--=??θθθ 即,只要矩阵l H 是满秩的,l T l H H 则是 正定的,使准则为极小的条件得到满足, 最小二乘估计的递推算法(RLS ) 最小二乘法,不仅占用大量内存,而且不适合于在线辨识,为了解决这个问题, 把它转化为递推算法:修正项+=+k k θθ??1 ()()()()()()()()()???? ? ?? ? ????-------------=????????? ???=)()1()(21)2()1(10)1(021b a b a b a l n l u l u n l z l z n u u n z z n u u n z z l h h h H K K K K K K M

系统辨识试验

2.用普通最小二乘法(OLS )法辨识对象数学模型 选择的仿真对象的数学模型如下 )()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+-- 其中,)(k v 是服从正态分布的白噪声N )1,0(。输入信号采用4阶M 序列,幅度为1。选择如下形式的辨识模型 )()2()1()2()1()(2121k v k u b k u b k z a k z a k z +-+-=-+-+ 设输入信号的取值是从k =1到k =16的M 序列,则待辨识参数LS θ?为LS θ?=L τL 1L τL z H )H H -(。其中,被辨识参数LS θ?、观测矩阵z L 、H L 的表达式为 ?? ?? ? ? ??????=2121? b b a a LS θ , ????????????=)16()4()3(z z z L z , ????????????------=)14()2()1()15()3()2()14()2()1()15()3()2(u u u u u u z z z z z z L H 程序框图如下所示:

参考程序: %ols u=[-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]; %系统辨识的输入信号为一个周期的M 序列 z=zeros(1,16); %定义输出观测值的长度 for k=3:16 z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); %用理想输出值作为观测值 end subplot(3,1,1) %画三行一列图形窗口中的第一个图形 stem(u) %画出输入信号u的经线图形 subplot(3,1,2) %画三行一列图形窗口中的第二个图形 i=1:1:16; %横坐标范围是1到16,步长为1 plot(i,z) %图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线subplot(3,1,3) %画三行一列图形窗口中的第三个图形 stem(z),grid on%画出输出观测值z的经线图形,并显示坐标网格 u,z%显示输入信号和输出观测信号 %L=14%数据长度 HL=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8);-z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13) u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)] %给样本矩阵HL赋值 ZL=[z(3);z(4);z(5);z(6);z(7);z(8);z(9);z(10);z(11);z(12);z(13);z(14);z(15); z(16)]% 给样本矩阵zL赋值 %calculating parameters%计算参数 c1=HL'*HL; c2=inv(c1); c3=HL'*ZL; c=c2*c3 %计算并显示 %DISPLAY PARAMETERS a1=c(1), a2=c(2), b1=c(3), b2=c(4) %从中分离出并显示a1 、a2、 b1、 b2 %End

相关主题
文本预览
相关文档 最新文档