最小二乘参数辨识标准算法——第三讲

Harbin Institute of Technology– HIT
系统辨识与自适应控制
黄显林、班晓军 控制理论与制导技术研究中心 哈尔滨工业大学 banxiaojun@https://www.360docs.net/doc/9e18500488.html,
2010-3-15
控制理论与制导技术研究中心
第1页

Harbin Institute of Technology– HIT
第四讲 最小二乘参数辨识标准算法
内容提要: 1. 最小二乘数学方法引例; 2. 最小二乘辨识方法的基本计算公式; 3. 算法演示与仿真分析; 4. 加权最小二乘法介绍。
2010-3-15
控制理论与制导技术研究中心
第2页

Harbin Institute of Technology– HIT
最小二乘方法的典故:
1801年左右,德国数学家Gauss,在“星体轨道估计中”就发明了最小二 乘方法。Gauss, K. F. (1809), Theoria Motus Corporum Celestium, English Translation: Theory of the Motion of Heavenly bodies. Dover(1963), New York.
当时的天文界正在为火星和木星间庞大的间隙烦恼不已,认为火星和 木星间应该还有行星未被发现。在1801年,意大利的天文学家 Piazzi, 发现在火星和木星间有一颗新星。它被命名为「谷神星」(Cere)。现在 我们知道它是火星和木星的小行星带中的一个,但当时天文学界争论 不休,有人说这是行星,有人说这是彗星。必须继续观察才能判决, 但是 Piazzi只能观察到它 9 度的轨道,再来,它便隐身到太阳後面去 了。因此无法知道它的轨道,也无法判定它是行星或彗星。
2010-3-15
控制理论与制导技术研究中心
第3页

Harbin Institute of Technology– HIT
高斯这时对这个问是产生兴趣,他决定解决这个捉摸不到的星体轨 迹的问题。高斯自己独创了只要三次观察,就可以来计算星球轨道 的方法。他可以极准确地预测行星的位置。果然,谷神星准确无误 的在高斯预测的地方出现。这个方法--虽然他当时没有公布-- 就是「最小二乘法」 (Method of Least Square)。 1802年,他又准确预测了小行星二号--智神星 (Pallas) 的位置,这 时他的声名远播,荣誉滚滚而来,俄国圣彼得堡科学院选他为会 员,发现 Pallas 的天文学家 Olbers 请他当哥廷根天文台主任,他没 有立刻答应,到了1807年才前往哥廷根就任。 1809年他写了《天体运动理论》二册,第一册包含了微分方程、圆 椎截痕和椭圆轨道,第二册他展示了如何估计行星的轨道。
2010-3-15
控制理论与制导技术研究中心
第4页

Harbin Institute of Technology– HIT
一、引例 (参考《高等数学》 第四版 下册 同济
大学数学教研室 高等教育出版社 PP. 78)
问题:为了测定刀具的磨损速度,我们做这样的实验: 经过一定时间(每隔一个小时),测量一次刀具的厚 度,得到一组实验数据如下:
2010-3-15
控制理论与制导技术研究中心
第5页

Harbin Institute of Technology– HIT
2010-3-15
控制理论与制导技术研究中心
第6页

Harbin Institute of Technology– HIT
27 26.5 26 25.5 25 24.5 0
y (mm)
1
2
3 4 Time (Hours)
5
6
7
图1. 引例中的数据图示 2010-3-15 控制理论与制导技术研究中心 第7页

Harbin Institute of Technology– HIT
7 7 7 ? ?140a + 28b = 717 2 ? ∑ t a =7 (∑ ?(? 28ai +)8b + 208.5ti )b = ∑ ti yi i ,f ( = M?(a= 0?a t=?0.30360+?7 f (ti i)]02 = [i y 指标: 目的: ? ? b) =) ∑at= i b 结果: 推导过程: 0参见板书 7 ? i= ?(∑ tb)= 27.125 = ∑ yi ? i a + 8b ? ? 0y = f (t ) = ?0.3036t + 27.125 i =0 ? i=
2010-3-15
控制理论与制导技术研究中心
第8页

Harbin Institute of Technology– HIT
27.5 27 26.5 y (mm) 26 25.5 25 24.5 0
1
2
3 4 Time (Hours)
5
6
7
图2. 应用最小二乘法拟合的结果 2010-3-15 控制理论与制导技术研究中心 第9页

Harbin Institute of Technology– HIT
注:是以“偏差的平方和最小”为指标,在“线性 函数”这一类函数中找到的最优解。如果函数类 扩大到“非线性”方程,有可能找到一个使“偏差 的平方和”更小的方程。
2010-3-15
控制理论与制导技术研究中心
第10页

Harbin Institute of Technology– HIT
二、基本定义和基本计算公式
1. 最小二乘模型类和标准格式
y (k ) + a1 y (k ? 1) + L + an y (k ? n) = b1u (k ? 1) + L + bnu (k ? n) + e(k )
其中,
{u ( k ), y ( k )} 为实测输入输出序列;
{e(k )} 为白噪声序列;
n为模型的阶数。
2010-3-15 控制理论与制导技术研究中心 第11页

Harbin Institute of Technology– HIT
2. 最小二乘准则(最小二乘估计原理)和正规方程组
准则:
J = eT ( N ) e ( N )
正规方程组: ΦT ( N ) y ( N ) ? Φ T ( N )Φ ( N )θ ( N ) = 0
2010-3-15
控制理论与制导技术研究中心
第12页

Harbin Institute of Technology– HIT
3. 参数解的表达式
θ?( N ) = [Φ T ( N )Φ ( N )]?1 Φ T ( N ) y ( N )
4. 对 [ΦT (N )Φ(N )] 非奇异的进一步说明 结论:从矩阵理论上讲,[ΦT (N )Φ(N )] 非奇异要求 Φ(N ) 的行数(N)至 少要大于等于 N ≥ 2n (若待辨识参数为 2n 时) ;从物理背景上看
N > 2n 。
问题: N > 2n , [ΦT (N )Φ(N )] 一定就非奇异了吗? 答:不一定。
2010-3-15 控制理论与制导技术研究中心 第13页

Harbin Institute of Technology– HIT
5. 开环可辨识性条件:
2010-3-15
控制理论与制导技术研究中心
第14页

Harbin Institute of Technology– HIT
?U L = [ FuL , F 2uL ,L , F 2 nu L ] ? uL = [u (1), u (2),L , u ( L)]T ? ? ?0 ? 0? ? ? ? F =?1 O ? ? ? ? 0 1 0 ? L× L ? ? ? ? n = max(na , nb ) ?
参见:Astrom, K. J. and T. Bohlin, 1965, Numerical Identification of Linear Dynamic Systems from Normal Operating Records, IFAC Symposium On Theory of self-adaptive systems, Teddington, England.
2010-3-15
控制理论与制导技术研究中心
第15页

Harbin Institute of Technology– HIT
开环可辨识性条件对实践的指导: 辨识信号不能任意选择,否则会造成不可辨识。常用的 信号有: (1). 白噪声序列; (2). M序列或逆M序列; (3). n种频率的正弦信号的组合成的信号,但是各个 频率不能满足整数倍关系。 注:在推导最小二乘法的结果时,并不需要考虑噪声的 统计特性。但是在评价最小二乘估计的性质时,需要用 到噪声的统计特性。
2010-3-15 控制理论与制导技术研究中心 第16页

Harbin Institute of Technology– HIT
三、算法程序示例(M语言)
…… nb = 2; % 分子参数个数; na = 2; % 分母参数个数; N = 2; % 观测矩阵的行数; Fai_N = zeros(N,na+nb); % 对观测矩阵初始化0; % 对观测矩阵赋值 for i = 1 : nb for j = 1 : N Fai_N(j,na+nb+1-i) = R_input(i-1+j); end end for i = 1 : na for j = 1 : N Fai_N(j,na+1-i) = -R_out(i-1+j); end end 2010-3-15 控制理论与制导技术研究中心 第17页

Harbin Institute of Technology– HIT
% 赋值结束 Y_N = zeros(N,1); for i = 1: N Y_N(i) = R_out(na+i); end % 一次性完成算法 Saita = inv(Fai_N'*Fai_N)*Fai_N'*Y_N ……
2010-3-15
控制理论与制导技术研究中心
第18页

Harbin Institute of Technology– HIT
四、算法演示
参见:Lecture4文件夹中的M文件与mdl文件。 例一、稳定被控对象
G( z) =
0.45 z + 0.23 z 2 ? 1.81z + 0.82
y ( k ) ? 1.81 y ( k ? 1) + 0.82 y ( k ? 2) = 0.45u (k ? 1) + 0.23u (k ? 2)
2010-3-15
控制理论与制导技术研究中心
第19页

Harbin Institute of Technology– HIT
1. 考虑未加噪声干扰的情况 (B_Msequenc_10_20080314.m, Example20080314.mdl, B_leastsquare.m)
输入信号10阶 M序列,幅值 ±1 , ?t = 0.005 秒。
2010-3-15
控制理论与制导技术研究中心
第20页

极大似然参数辨识方法

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

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

一、 递推最小二乘法 递推最小二乘法的一般步骤: 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。 可以看出,基本的最小二乘法不适用于有色噪声的场合。

系统辨识最小二乘参数估计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实现最小二乘递推算法辨识系统参 数 自动化系统仿真实验室指导教师: 学生姓名班级计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软件强大的功能。在以后的学习和工作中必定有很大的用处。

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

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

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

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

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

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

最小二乘法

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

(完整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)

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

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

系统辨识—最小二乘法汇总

最小二乘法参数辨识 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系统辨识的目的 在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。通过辨识建立数学模型通常有四个目的。 ①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。 ②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。用于系统分析的仿真模型要求能真实反映系统的特性。用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。 ③预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。预测模型辨识的等价准则主要是使预测误差平方和最小。只要预测误差小就是好的预测

系统参数辨识+matlab+实现

4. 设某物理量Y 与X 满足关系式Y=aX 2+bX+c ,实验获得一批数据如下表,试辨识模型参数a ,b 和c 。(50分) X 1.01 2.03 3.02 4.01 5 6.02 7.03 8.04 9.03 10 Y 9.6 4.1 1.3 0.4 0.05 0.1 0.7 1.8 3.8 9.0 报告要求:要有问题描述、参数估计原理、程序流程图、程序清单,最后给出结果及分析。 (1)问题描述: 由题意知,这是一个已知模型为Y=aX 2+bX+c ,给出了10组实验输入输出数 据,要求对模型参数a ,b ,c 进行辨识。这里对该模型参数辨识采用递推最小二乘法。 (2)参数估计原理 对该模型参数辨识采用递推最小二乘法,即RLS ( recurisive least square ), 它是一种能够对模型参数进行在线实时估计的辨识方法。 其基本思想可以概括为:新的估计值)(?k θ=旧的估计值)1(?-k θ+修正项 下面将批处理最小二乘法改写为递推形式即递推最小二乘参数估计的计算方法。 批处理最小二乘估计θ?为Y T T ΦΦΦ=-1 ) (?θ,设k 时刻的批处理最小二乘估计为: k T k k T k Y ΦΦΦ=-1 )(?θ令1 11 )] 1()()1([) ()(----+-=ΦΦ=k k k P k P T k T k ?? K 时刻的最小二乘估计可以表示为 k T k Y k P k Φ=)()(?θ=)]()()[(1 1k y k Y k P k T k ?+Φ-- =)]1(?)()()[()1(?--+-k k k y k K k T θ?θ ;式中)()()(k k P k K ?=,因为要 推导出P(k)和K(k)的递推方程,因此这里介绍一下矩阵求逆引理:设A 、(A+BC )和(I +B CA 1 -)均为非奇异方阵,则1 11 11 1 )() (------+-=+CA B CA I B A A BC A 通过运用矩 阵求逆引理,把复杂的矩阵求逆转化为标量求倒数,大大减小了计算量。1+N P 与N P 间的递推关系。最终得到递推最小二乘参数递推估计公式如下: ??? ()(1)()[()()(1)]T k k K k y k k k θθ?θ=-+-- ① ()[() ()](T P k I K k k P k ?=-- ②

相关文档
最新文档