您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 系统辨识—最小二乘法汇总
最小二乘法参数辨识201403027摘要:系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小二乘法是一种应用极其广泛的系统辨识方法.阐述了动态系统模型的建立及其最小二乘法在系统辨识中的应用,并通过实例分析说明了最小二乘法应用于系统辨识中的重要意义.关键词:最小二乘法;系统辨识;动态系统Abstract:Systemidentificationinengineeringiswidelyused,systemidentificationmethodstherearemanyways,leastsquaresmethodisaverywiderangeofapplicationofsystemidentificationmethodandtheleastsquaresmethodelaboratedestablishadynamicsystemmodelsinSystemIdentificationapplicationsandexamplesanalyzedbytheleastsquaresmethodisappliedtoillustratetheimportanceofsystemidentification.Keywords:LeastSquares;systemidentification;dynamicsystem引言随着科学技术的不断发展,人们认识自然、利用自然的能力越来越强,对于未知对象的探索也越来越深入.我们所研究的对象,可以依据对其了解的程度分为三种类型:白箱、灰箱和黑箱.如果我们对于研究对象的内部结构、内部机制了解很深入的话,这样的研究对象通常称之为“白箱”;而有的研究对象,我们对于其内部结构、机制只了解一部分,对于其内部运行规律并不十分清楚,这样的研究对象通常称之为“灰箱”;如果我们对于研究对象的内部结构、内部机制及运行规律均一无所知的话,则把这样的研究对象称之为“黑箱”.研究灰箱和黑箱时,将研究的对象看作是一个系统,通过建立该系统的模型,对模型参数进行辨识来确定该系统的运行规律.对于动态系统辨识的方法有很多,但其中应用最广泛,辨识效果良好的就是最小二乘辨识方法,研究最小二乘法在系统辨识中的应用具有现实的、广泛的意义.1.1系统辨识简介系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。通常,预先给定一个模型类μ={M}(即给定一类已知结构的模型),一类输入信号u和等价准则J=L(y,yM)(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。系统辨识包括两个方面:结构辨识和参数估计。在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的。1.2系统辨识的目的在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。通过辨识建立数学模型通常有四个目的。①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。用于系统分析的仿真模型要求能真实反映系统的特性。用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。③预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。预测模型辨识的等价准则主要是使预测误差平方和最小。只要预测误差小就是好的预测模型,对模型的结构及参数则很少再有其他要求。这时辨识的准则和模型应用的目的是一致的,因此可以得到较好的预测模型。④控制为了设计控制系统就需要知道描述系统动态特性的数学模型,建立这些模型的目的在于设计控制器。建立什么样的模型合适,取决于设计的方法和准备采用的控制策略。2最小二乘方法2.1.1系统辨识最小二乘方法简介对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即是最小二乘法。最小二乘法是一种经典的数据处理方法。在系统辨识领域中,最小二乘法是一种得到广泛应用的估计方法,可用于动态系统,静态系统,线性系统,非线性系统。可用于离线估计,也可用于在线估计。这种辨识方法主要用于在线辨识。在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。MATLAB是一套高性能数字计算和可视化软件,它集成概念设计,算法开发,建模仿真,实时实现于一体,构成了一个使用方便、界面友好的用户环境,其强大的扩展功能为各领域的应用提供了基础。对于比较复杂的生产过程,由于过程的输入输出信号一般总是可以测量的,而且过程的动态特性必然表现在这些输入输出数据中,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。这种建模方法就称为系统辨识。把辨识建模称作“黑箱建模”。2.1.2最小二乘法系统辨识结构:本文把待辨识的过程看作“黑箱”。只考虑过程的输入输出特性,而不强调过程的内部机理。图中,输入u(k)和输出z(k)是可以观测的;G是系统模型,用来描述系统的输入输出特性;N是噪声模型,v(k)是白噪声,e(k)是有色噪声,根据表示定理:可以表示为e(k)=Nv(k)++e(k)图2-1SISO系统辨识“黑箱”结构图y(k)u(k)z(k)v(k))(1zN)(1zG)(1zG)()(11zAzB)(1zN)()(11zCzD1121211212()1()aabbnnnnAzazazazBzbzbzbzbbaannnnzdzdzdzDzczczczC2211122111)(1)(2.1.3准则函数设一个随机序列),,2,1(),(Lkkz的均值是参数的线性函数:)()(khkzET,其中)(kh是可测的数据向量,那么利用随机序列的一个实现,使准则函数:21])()([)(LkTkhkzJ(式2-2)达到极小的参数估计值称作的最小二乘估计。最小二乘格式:)()()(kekhkzt,为模型参数向量,ke为零均值随机2.2广义最小二乘法2.2.1广义最小二乘数学模型)()(1)()()()(111kvzCkuzBkzzA式中,u(k)和)(kz表示系统的输入输出;v(k)是均值为零的不相关的随机序列;且ccbbaannnnnnzczczczCzbzbzbzBzazazazA2211122111221111)()(1)(2.2.2广义最小二乘递推算法如下)1()]()([)(1)()1()()()1()()]1(ˆ)()(ˆ)[()1(ˆ)(ˆ)1()]()([)(1)()1()()()1()()]1(ˆ)()()[()1(ˆ)(ˆ11kkkkkkkkkkkkkekkkkkkkkkkkkkkkkzkkkeeeeeeeeeeeeeeefffffffffffffPhKPhPhhPKhKPhKPhPhhPKhKII式中)(ˆ)()()(ˆ)](ˆ,),1(ˆ[)()](,),1(),(,),1([)(kkkzkenkekeknkukunkzkzkcebffafffhhh2.2.3广义最小二乘递推算法的计算步骤:1.给定初始条件I)0(P)0(ˆ)(I)0(P)()0(ˆee2f0θθ为充分大的数充分小的实向量aa2利用式)()(z)()()(z)(11kzCkukzCkzff,计算)(kzf和)(kuf;3利用式)](,),1(),(,),1([)(],,,,,[fffff11bannnkukunkzkzkbbaabahθ,构造)(fkh;4利用式)1()]()([)(1)()1()()()1()()]1(ˆ)()()[()1(ˆ)(ˆ1kkkkkkkkkkkkkzkkkfffffffffffffPhKPhPhhPKhKI递推计算)(ˆkθ;5利用)(ˆ)()()(ˆkkkzkeh和)](,),1(),(,),1([)(bankukunkzkzkh计算)(ˆke;6根据)](ˆ,),1(ˆ[)(cenkekekh来构造)(keh;7利用)1()]()([)(1)()1()()()1()()]1(ˆ)()(ˆ)[()1(ˆ)(ˆ1kkkkkkkkkkkkkekkkeeeeeeeeeeeeeeePhKPhPhhPKhKI返回第2步进行迭代计算,直至获得满意的辨识结果。3工程实例3.1典型系统建模以某微循环流体系统模型的参数辨识为例.我们已经得到该系统模型的差分方程形式,取特定点的压力波作为模型的输入,以另一点的压力波作为模型的输出.由于我们采集的数据是实时的,因此采用在线辨识方法.由于建立的微循环流体系统模型是一个单输入、单输出的模型,为使参数估计的结果很好地跟踪参数真值的变化,我们采用渐消记忆的最小二乘法对系统模型参数进行辨识,即强调新数据的作用,贬低老数据的作用.抽象出的SISO系统的差分方程为:)()2()1()2()1()(2121kkubkubkzakzakz式(1-1)参数取真值为:0.420.570.4831.376T,利用MATLAB的M语言辨识系统中的未知参数1a、2a、1b、2b。要求:用参数的真值利用差分方程求出)(kz作为测量值,)(k是均值为0,方差为0.1、0.5和0.01的不相关随机序列。使用最小二乘算法辨识。3.2广义最小二乘递推算法的MATLAB仿真(程序源代码见附录)考虑仿真对象z(k)=-1.376z(k-1)-0.483z(k-2)+0.57u(k-1)+0.42u(k-2)+v(k)式中,v(k)是均值为0,方差为0.01、0.1和0.5的不相关随机序列。输入信号采用4阶M序列,幅度为1。选择如下形式的辨识模型其中取c1=0,c2=0.+y(k)u(k)e(k)z(k)+v(k)2121483.0376.1142.057.0zzzz221111zczc图3.1广义最小二乘法辨识实例结构图4结果分析及算法优化由于辨识算法中输入或噪声信号为不相关随机序列,所以每次辨识结果都不完全相同。但是,在相同输入、相同的噪声、相同的步长条件下,精度大体相同。算法优化方案:(1)使用M序列(具有近似白噪声的性质)为输入信号;(2)增加数据长度去L;(3)减小噪声信号v(k)的方差。4.1广义最小二乘递推算法的的MATLAB仿真结果及分析(1)、输入选用题目给出的30个随机数,即数据长度去L=30,噪声选用均值零,方差分别为0.5、0.1和0.01的随机序列,辨识结果如表
本文标题:系统辨识—最小二乘法汇总
链接地址:https://www.777doc.com/doc-7237568 .html