最小二乘法参数辨识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系统辨识的目的在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。
它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。
通过辨识建立数学模型通常有四个目的。
①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。
这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。
②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。
用于系统分析的仿真模型要求能真实反映系统的特性。
用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。
③预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。
例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。
预测模型辨识的等价准则主要是使预测误差平方和最小。
只要预测误差小就是好的预测模型,对模型的结构及参数则很少再有其他要求。
这时辨识的准则和模型应用的目的是一致的,因此可以得到较好的预测模型。
④控制为了设计控制系统就需要知道描述系统动态特性的数学模型,建立这些模型的目的在于设计控制器。
建立什么样的模型合适,取决于设计的方法和准备采用的控制策略。
2最小二乘方法2.1.1 系统辨识最小二乘方法简介对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即是最小二乘法。
最小二乘法是一种经典的数据处理方法。
在系统辨识领域中 ,最小二乘法是一种得到广泛应用的估计方法 ,可用于动态系统 ,静态系统 , 线性系统 ,非线性系统。
可用于离线估计,也可用于在线估计。
这种辨识方法主要用于在线辨识。
在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。
MATLAB是一套高性能数字计算和可视化软件,它集成概念设计,算法开发,建模仿真,实时实现于一体,构成了一个使用方便、界面友好的用户环境,其强大的扩展功能为各领域的应用提供了基础。
对于比较复杂的生产过程,由于过程的输入输出信号一般总是可以测量的,而且过程的动态特性必然表现在这些输入输出数据中,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。
这种建模方法就称为系统辨识。
把辨识建模称作“黑箱建模”。
2.1.2 最小二乘法系统辨识结构:本文把待辨识的过程看作“黑箱”。
只考虑过程的输入输出特性,而不强调过程的内部机理。
图中,输入u(k)和输出z(k)是可以观测的;G是系统模型,用来描述系统的输入输出特性;N是噪声模型,v(k)是白噪声,e(k)是有色噪声,根据表示定理:可以表示为e(k) =N v(k))(1-zG )()(11--=z A z B )(1-zN )()(11--=z C z D 1121211212()1()a a b b n n n n A z a z a z a z B z b z b z b z --------⎧=++++⎪⎨=+++⎪⎩⎪⎩⎪⎨⎧+++=++++=--------b b a a n n n n z d z d z d z D z c z c z c z C 2211122111)(1)(2.1.3 准则函数设一个随机序列{}),,2,1(),(L k k z ∈的均值是参数θ的线性函数: {}θ)()(k h k z E T =,其中)(k h 是可测的数据向量,那么利用随机序列的一个实现,使准则函数:21])()([)(∑=-=Lk T k h k z J θθ (式2-2)达到极小的参数估计值∧θ称作θ的最小二乘估计。
最小二乘格式:)()()(k e k h k z t+=θ,θ为模型参数向量,()k e 为零均值随机2.2 广义最小二乘法2.2.1 广义最小二乘数学模型)()(1)()()()(111k v z C k u z B k z z A ---+= 式中,u(k)和)(k z 表示系统的输入输出;v(k)是均值为零的不相关的随机序列;且⎪⎩⎪⎨⎧++++=+++=++++=------------c c b b a a n n n n n n z c z c z c z C z b z b z b z B z a z a z a z A 2211122111221111)()(1)(2.2.2 广义最小二乘递推算法如下[][]⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧--=+--=--+-=--=+--=--+-=--)1()]()([)(1)()1()()()1()()]1(ˆ)()(ˆ)[()1(ˆ)(ˆ)1()]()([)(1)()1()()()1()()]1(ˆ)()()[()1(ˆ)(ˆ11k k k k k k k k k k k k k ek k k k k k k k k k k k k k k k z k k k ee e e ee e e e e ee e e e ff f f ff f f f f fffP h K P h P h h P K h K P h K P h P h h P K h K ττττττθθθθθθI I式中⎪⎩⎪⎨⎧-=----=------=)(ˆ)()()(ˆ)](ˆ,),1(ˆ[)()](,),1(),(,),1([)(k k k z k en k e k e k n k u k u n k z k z k cebffa fffθτττh h h2.2.3 广义最小二乘递推算法的计算步骤:1.给定初始条件 ⎪⎪⎩⎪⎪⎨⎧====I )0(P )0(ˆ)(I )0(P )()0(ˆe e 2f 0θθ为充分大的数充分小的实向量a a ε2利用式)()(z )()()(z )(11k z C k u k z C k z ff--==,计算)(k z f 和)(k u f;3利用式⎩⎨⎧------==ττ)](,),1(),(,),1([)(],,,,,[f f f f f 11ba n n n k u k u n k z k z kb b a a h θ,构造)(fk h ;4利用式[]⎪⎪⎩⎪⎪⎨⎧--=+--=--+-=-)1()]()([)(1)()1()()()1()()]1(ˆ)()()[()1(ˆ)(ˆ1k k k k k k k k k k k k k z k k k ff f f ff f f f f fffP h K P h P h h P K h K τττθθθI 递推计算)(ˆk θ; 5利用)(ˆ)()()(ˆk k k z k eθτh -=和 τ)](,),1(),(,),1([)(ban k u k u n k z k z k ------= h 计算)(ˆk e ;6根据τ)](ˆ,),1(ˆ[)(c e n k e k ek ----= h 来构造)(k e h ;7利用[]⎪⎩⎪⎨⎧--=+--=--+-=-)1()]()([)(1)()1()()()1()()]1(ˆ)()(ˆ)[()1(ˆ)(ˆ1k k k k k k k k k k k k k e k k k ee e e ee e e e e eeeeeP h K P h P h h P K h K τττθθθI返回第2步进行迭代计算,直至获得满意的辨识结果。