递推最小二乘参数估计

递推最小二乘参数估计
递推最小二乘参数估计

递推最小二乘参数估计(RLS)

考虑如下系统:

() 1.5(1)0.7(2)(3)0.5(4)()y k y k y k u k u k k ξ--+-=-+-+ 式中ξ(k )为方差为0.1的白噪声。

clear all; close all;

a=[1 -1.5 0.7]';b=[1 0.5]';d=3; %对象参数

na=length(a)-1;nb=length(b)-1; %计算阶次,na=2,nb=1

L=500; %数据长度(仿真长度)

uk=zeros(d+nb,1);yk=zeros(na,1); %输入输出初值uk:4x1,ykx1 u=randn(L,1); %输入采用方差为1的白噪声序列

xi=sqrt(0.1)*randn(L,1); %方差为0.1的白噪声干扰序列

theta=[a(2:na+1);b]; %对象参数真值theta=[-1.5,0.7;1,0.5] thetae_1=zeros(na+nb+1,1); %参数初值θ为4x1的全零矩阵 P=10^6*eye(na+nb+1);

for k=1:L

phi=[-yk;uk(d:d+nb)]; %此处phi 为列向量4x1

y(k)=phi'*theta+xi(k); %采集输出数据

%递推公式

K=P*phi/(1+phi'*P*phi);

thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1);

P=(eye(na+nb+1)-K*phi')*P;

%更新数据

thetae_1=thetae(:,k);

for i=d+nb:-1:2

uk(i)=uk(i-1);

end

uk(1)=u(k);

for i=na:-1:2

yk(i)=yk(i-1);

end

yk(1)=y(k);

end

plot([1:L],thetae); %line([1:L],[theta,theta]); xlabel('k');ylabel('参数估计a,b');

legend('a_1','a_2','b_0','b_1');

axis([0 L -2 2]);

2动态过程数学模型参数估计的最小二乘方法

第二章 参数估计的最小二乘方法Least Squares §2—1静态线性模型参数的最小二乘估计(多元线性回归) 一、 什么是最小二乘估计 系统辨识三要素:模型,数据,准则。 例: y = ax + ε 其中:y 、x 可测;ε — 不可测的干扰项; a —未知参数。通过 N 次实验,得到测量数据 y k 和 x k k = 1、2、3 …,确定未知参数 a 称“参数估计”。 使准则 J 为 最小 : 令:? J / ? a = 0 , 导出 a = ? 称为“最小二乘估计”,即残差平方总和为最小的估计,Gauss 于 1792 年提出。 min )(2 1 =-=∑=k N k k ax y J 0)(21 =--=??∑=k k N k k ax y x a J

二、多元线性回归 线性模型 y = a 0+ a 1x 1+ + a n x n + ε 式(2 - 1- 1) 引入参数向量: θ = [ a 0,a 1, a n ]T (n+1)*1 进行 N 次试验,得出N 个方程: y k = ?k T θ + εk ; k=1、2…、N 式(2 -1- 2) 其中:?k = [ 1,x 1,x 2, ,x N ] T (n+1) *1 方程组可用矩阵表示为 y = Φ θ + ε 式(2 -1- 3) 其中:y = [ y 1,y 2, 。。。,y N ] T (N *1) ε = [ ε1, ε2, 。。。,ε N ] T (N *1) N *(n+1) 估计准则有: = (y — Φ θ)T ( y — Φ θ) (1*N) ( N *1) ?????? ? ???????=??????? ?? ???=T N T T nN N n n x x x x x x ???φ.... 1...........1 (1211212) 111 21)(θ?T k N k k y J -=∑=[] ? ? ?? ? ?????----=)(..)(*)(...)(1 111θ?θ?θ?θ?T N N T T N N T y y y y J

系统辨识最小二乘参数估计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年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。”这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最

递推最小二乘法推导(RLS)——全网最简单易懂的推导过程

递推最小二乘法推导(RLS)——全网最简单易懂的推导过程 作者:阿Q在江湖 先从一般最小二乘法开始说起 已知x和y的一系列数据,求解参数theta的估计。用矩阵的形式来表达更方便一些: 其中k代表有k组观测到的数据, 表示第i组数据的输入观测量,yi表示第i组数据的输出观测量。令: ,则最小二乘的解很简单, 等价于即参数解为:如果数据是在线的不断的过来,不停的采用最小二乘的解法来解是相当消耗资源与内存的,所

以要有一种递推的形式来保证对的在线更新。 进一步推导出递推最小二乘法(RLS) 我们的目的是从一般最小二乘法的解 推导出 的递推形式。一定要理解这里的下标k代表的意思,是说在有k组数据情况下的预测,所以k比k-1多了一组数据,所以可以用这多来的一组数据来对原本的估计进行修正,这是一个很直观的理解。下面是推导过程: 先看一般最小二乘法的解 下面分别对 和 这两部分进行推导变换,令

得到下面公式(1) 下面来变换得到公式(2) 下面再来,根据一般最小二乘法的解,我们知道下式成立,得到公式(3)(注:后续公式推导用到) 好了,有了上面最主要的三步推导,下面就简单了,将上面推导的结果依次代入公式即可:

至此,终于变成 的形式了。 通过以上推导,我们来总结一下上面RLS方程: 注:以上公式7中,左边其实是根据公式1,右边I为单位矩阵

公式(5)和(7)中,有些文献资料是用右边的方程描述,实际上是等效的,只需稍微变换即可。例如(5)式右边表达式是将公式(1)代入计算的。为简化描述,我们下面还是只讨论左边表达式为例。 上面第7个公式要计算矩阵的逆,求逆过程还是比较复杂,需要用矩阵引逆定理进一步简化。 矩阵引逆定理: 最终RLS的方程解为:

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

递推最小二乘法算法

题目: (递推最小二乘法) 考虑如下系统: )()4(5.0)3()2(7.0)1(5.1)(k k u k u k y k y k y ξ+-+-=-+-- 式中,)(k ξ为方差为0.1的白噪声。 取初值I P 610)0(=、00=∧ )(θ。选择方差为1的白噪声作为输入信号)(k u ,采用PLS 法进行参数估计。 Matlab 代码如下: clear all close all L=400; %仿真长度 uk=zeros(4,1); %输入初值:uk(i)表示u(k-i) yk=zeros(2,1); %输出初值 u=randn(L,1); %输入采用白噪声序列 xi=sqrt(0.1)*randn(L,1); %方差为0.1的白噪声序列 theta=[-1.5;0.7;1.0;0.5]; %对象参数真值 thetae_1=zeros(4,1); %()θ初值 P=10^6*eye(4); %题目要求的初值 for k=1:L phi=[-yk;uk(3:4)]; %400×4矩阵phi 第k 行对应的y(k-1),y(k-2),u(k-3), u(k-4) y(k)=phi'*theta+xi(k); %采集输出数据 %递推最小二乘法的递推公式 K=P*phi/(1+phi'*P*phi); thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1); P=(eye(4)-K*phi')*P; %更新数据 thetae_1=thetae(:,k); for i=4:-1:2 uk(i)=uk(i-1); end uk(1)=u(k); for i=2:-1:2 yk(i)=yk(i-1);

最小二乘法参数估计

【2-1】 设某物理量Y 与X1、X2、X3的关系如下:Y=θ1X 1+θ2X 2+θ3X 3 由试验获得的数据如下表。试用最小二乘法确定模型参数θ1、θ2和θ3 X1: 0.62 0.4 0.42 0.82 0.66 0.72 0.38 0.52 0.45 0.69 0.55 0.36 X2: 12.0 14.2 14.6 12.1 10.8 8.20 13.0 10.5 8.80 17.0 14.2 12.8 X3: 5.20 6.10 0.32 8.30 5.10 7.90 4.20 8.00 3.90 5.50 3.80 6.20 Y: 51.6 49.9 48.5 50.6 49.7 48.8 42.6 45.9 37.8 64.8 53.4 45.3 解:MATLAB 程序为: Clear all; A= [0.6200 12.000 5.2000 0.4000 14.2000 6.1000 0.4200 14.6000 0.3200 0.8200 12.1000 8.3000 0.6600 10.8000 5.1000 0.7200 8.2000 7.9000 0.3800 13.0000 4.2000 0.5200 10.5000 8.0000 0.4500 8.8000 3.9000 0.6900 17.0000 5.5000 0.5500 14.2000 3.8000 0.3600 12.8000 6.2000 ]; B=[51.6 49.9 48.5 50.6 49.7 48.8 42.6 45.9 37.8 64.8 53.4 45.3]'; C=inv(A'*A)*A'*B =[0.62 12 5.2;0.4 14.2 6.1;0.42 14.6 0.32;0.82 12.1 8.3; 0.66 10.8 5.1;0.72 8.2 7.9;0.38 13 4.2;0.52 10.5 8; 0.45 8.8 3.9;0.69 17 5.5;0.55 14.2 3.8;0.36 12.8 6.2] 公式中的A 是ΦN, B 是YN ,运行M 文件可得结果: 在matlab 中的运行结果: C= 29.5903 2.4466 0.4597 【2-3】 考虑如下模型 )()(3.03.115.0)(2 12 1t w t u z z z z t y ++-+=---- 其中w(t)为零均值、方差为1的白噪声。根据模型生成的输入/输出数据u(k)和y(k),分别采用批处理最小二乘法、具有遗忘因子的最小二乘法(λ=0.95)和递推最小二乘法估计模型参数(限定数据长度N 为某一数值,如N=150或其它数

第四章参数的最小二乘法估计

精心整理 第四章最小二乘法与组合测量 §1概述 最小二乘法是用于数据处理和误差估计中的一个很得力的数学工具。对于从事精密科学实验的人们来说,应用最小乘法来解决一些实际问题,仍是目前必不可少的手段。例如,取重复测量数据 其后在 x x, , 2 1 n 2 1 显然,最可信赖值应使出现的概率P为最大,即使上式中页指数中的因子达最小,即 权因子: 2 2 o i i w 即权因子 i w∝ 2 1 i ,则 再用微分法,得最可信赖值x

11 n i i i n i i w x x w 即加权算术平均值 这里为了与概率符号区别,以i 表示权因子。 特别是等权测量条件下,有: 以上最可信赖值是在残差平方和或加权残差平方和为最小的意义下求得的,称之为最小二乘法 1x +3x =0.5 2x +3x =-0.3 这是一个超定方程组,即方程个数多于待求量个数,不存在唯一的确定解,事实上,考虑到测量有误差,记它们的测量误差分别为4321,,,v v v v ,按最小二乘法原理 Min v i 2 分别对321,,x x x 求偏导数,令它们等于零,得如下的确定性方程组。

(1x -0.3)+(1x +3x -0.5)=0 (2x +0.4)+(2x +3x +0.3)=0 (1x +3x -0.5)+(2x +3x +0.3)=0 可求出唯一解1x =0.325,2x =-0.425,3x =0.150这组解称之为原超定方程组的最小二乘解。 以下,一般地讨论线性参数测量方程组的最小二乘解及其精度估计。 即 x j ][][][][2211y a x a a x a a x a a t t t t t t 式中,j a ,y 分别为如下列向量 ][k l a a 和][y a j 分别为如下两列向量的内积: ][k l a a =nk nl k l k l a a a a a a 2211 ][y a j =n nj j j y a y a y a 2211

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

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

参数的最小二乘法估计

第四章最小二乘法与组合测量 §1概述 最小二乘法是用于数据处理和误差估计中的一个很得力的数学工具。对于从事精密科学实验的人们来说,应用最小乘法来解决一些实际问题,仍是目前必不可少的手段。例如,取重复测量数据的算术平均值作为测量的结果,就是依据了使残差的平方和为最小的原则,又如,在本章将要用最小二乘法来解决一类组合测量的问题。另外,常遇到用实验方法来拟合经验公式,这是后面一章回归分析方法的内容,它也是以最小二乘法原理为基础。 最小二乘法的发展已经经历了200多年的历史,它最先起源于天文和大地测量的需要,其后在许多科学领域里获得了广泛应用,特别是近代矩阵理论与电子计算机相结合,使最小二乘法不断地发展而久盛不衰。 本章只介绍经典的最小二乘法及其在组合测量中的一些简单的应用,一些深入的内容可参阅专门的书籍和文献。 §2最小二乘法原理 最小二乘法的产生是为了解决从一组测量值中寻求最可信赖值的问题。对某量x 测量一组数据n x x x ,,,21 ,假设数据中不存在系统误差和粗大误差,相互独立,服从正态分布,它们的标准偏差依次为:n σσσ ,,21记最可信赖值为x ,相应的残差x x v i i -=。测值落入),(dx x x i i +的概率。 根据概率乘法定理,测量n x x x ,,,21 同时出现的概率为 显然,最可信赖值应使出现的概率P 为最大,即使上式中页指数中的因子达最小,即

权因子:2 2o i i w σσ=即权因子i w ∝21i σ,则 再用微分法,得最可信赖值x 1 1 n i i i n i i w x x w === ∑∑即加权算术平均值 这里为了与概率符号区别,以i ω表示权因子。 特别是等权测量条件下,有: 以上最可信赖值是在残差平方和或加权残差平方和为最小的意义下求得的,称之为最小二乘法原理。它是以最小二乘方而得名。 为从一组测量数据中求得最佳结果,还可使用其它原理。 例如 (1)最小绝对残差和法:Min v i =∑ (2)最小最大残差法:Min v i =max (3)最小广义权差法:Min v v i i =-m in m ax 以上方法随着电子计算机的应用才逐渐引起注意,但最小二乘法便于解析,至今仍用得最广泛。 §3.线性参数最小二乘法 先举一个实际遇到的测量问题,为精密测定三个电容值:321,,x x x 采用的测量方案是,分别等权、独立测得323121,,,x x x x x x ++,列出待解的数学模型。 1x =0.3 2x =-0.4 1x +3x =0.5

系统辨识之最小二乘法

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

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

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

递推阻尼最小二乘法辨识算法公式的详细推导与说明

控制理论与控制工程 学位课程《系统辨识》考试报告 递推阻尼最小二乘法公式详细 推导 专业:控制理论与控制工程 班级:2011双控(研) 学生姓名:江南 学号:20110201016 任课教师:蔡启仲老师 2012年06月29 日

摘要 在参数辨识中,递推最小二乘法是用得最多的一种算法。但是,最小二乘法存在一些缺点,如随着协方差矩阵的减小,易产生参数爆发现象;参数向量和协方差矩阵的处置选择不当会使得辨识过程在参数收敛之前结束;在存在随机噪声的情况下,参数易产生漂移,出现不稳定等。为了防止参数爆发现象,Levenberg 提出在参数优化算法中增加一个阻尼项,以增加算法的稳定性。本文在一般的最小二乘法中增加了阻尼因子,构成了阻尼最小二乘法。又根据实时控制的要求,详细推到了递推阻尼最小二乘公式,实现在线辨识。 关键字:系统辨识,最小二乘法,递推算法 正文 1.题目的基本要求 已知单入单出系统的差分方程以及噪声,在应用最小二乘法进行辨识的时候,在性能指标中加入阻尼因子,详细推导阻尼最小二乘法的递推公式。 2.输入辨识信号和系统噪声的产生方法和理论依据 2.1系统辩识信号输入选择准则 (1)输入信号的功率或副度不宜过大,以免使系统工作在非线性区,但也不应过小,以致信噪比太小,直接影响辩识精度; (2)输入信号对系统的“净扰动”要小,即应使正负向扰动机会几乎均等; (3)工程上要便于实现,成本低。 2.2白噪声及其产生方法 (1) 白噪声过程 (2)白噪声是一种均值为0、谱密度为非0常数的平稳随机过程。 (3)白噪声过程定义:如果随机过程 () t ω的均值为0,自相关函数为 ()()2 R t t ωσδ= (2.2.1) 式中()t δ 为狄拉克(Dirac) 分布函数,即 (){ (),00,0 1t t t dt δδ∞ ∞=≠∞ ==? -且t (2.2.2) 则称该随机过程为白燥声过程。 2.3白噪声序列 (1) 定义 如果随机序列{() }w t 均值为0,并且是两两不相关的,对应的自相关函数为 ()2 ,0,1,2w l R l l σδ==±± 式中{1,0 0,0 l l l δ=≠=则称这种随机序列{()}w t 为白噪声序列。 2.4白噪声序列的产生方法 (1) (0,1)均匀分布随机数的产生 在计算机上产生(0,1)均匀分布随机数的方法很多,其中最简单、最方便的是数学方法。产生伪随机数的数学方法很多,其中最常用的是乘同余法和混合同余法。 ①乘同余法。

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

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

用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));

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

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

应用最小二乘一次完成法和递推最小二乘法算法的系统辨识讲解

1最小二乘法的理论基础 1.1最小二乘法 设单输入单输出线性定长系统的差分方程表示为: 其中δ(k)为服从N(0,1)的随机噪声,现分别测出n+N 个输出输入值y(1),y(2),…,y(n+N),u(1),u(2),…,u(n+N),则可写出N 个方程,写成向量-矩阵形式 (4.1.1) ()()()()()()()() 1201121n n y k a y k a y k a y k n b u k b u k b u k n k ξ=-------+ +-+ +-+()()()()()()101122,,n n a y n n y n a n y b y n N n N b ξξθξξ?? ??++????????????++? ???===??????????????++?????????? ???? ()()()()()()()()() () ()()()() ()( )()()10111121222112n n y n y n y u n u y n y n y u n u y n N y n N y N u n N u N a n a n b n N b ξξξ+--+???? ????+-+-+???? =?????????+-+--+???? ?? ???? ??+?? ??????+??+??????? ???+??????????

则式(1.1.1)可写为 (4.1.2) 式中:y 为N 维输出向量;ξ为N 为维噪声向量;θ为(2n+1)维参数向量;Φ为N ×(2n+1)测量矩阵。因此,式(4.1.1)是一个含有(2n+1)个未知参数,由N 个方程组成的联立方程组。 11y θφφξ--=- 在给定输出向量y 和测量矩阵Φ的条件下求参数θ的估计,这就是系统辨识问题。 设 表示 θ 的估计值,?表示y 的最优估计,则有 (4.1.3) 式中: ()()()10??1??2??,???n n a y n a y n y b y n N b θ???? +????????+????==????????+?????? ???? 设e(k)=y(k)- ?(k), e(k)称为残差,则有e=y- ?=y-Φθ 最小二乘估计要求残差的平方和最小,即按照指数函数 (4.1.4) 求J对 的偏导数并令其等于0可得: (4.1.5) 由式(4.1.5)可得的 θ 最小二乘估计: (4.1.6) J 为极小值的充分条件是: 即矩阵ΦT Φ为正定矩阵,或者说是非奇异的。 1.1.1最小二乘法估计中的输入信号 当矩阵ΦT Φ的逆阵存在是,式(1.1.6)才有解。一般地,如果u(k)是随机序列或伪随机二位式序列,则矩阵ΦT Φ是非奇异的,即(ΦT Φ)-1存在,式(1.1.6)有解。 现在从ΦT Φ必须正定出发,讨论对u(k)的要求。 y φθξ=+?θ??y θ=Φ()() ??T T J e e y y θ θ==-Φ-Φ?θ() ?20?T J y θ θ ?=-Φ-Φ=??T T y θ ΦΦ=Φ()1 ?T T y θ -=ΦΦΦ220?T J θ ?=ΦΦ>?1 n N yy yu T +-ΦΦ??

相关文档
最新文档