基于最小二乘法的系统辨识问题研究综述
基于最小二乘法的系统辨识问题研究综述
摘要:对基于最小二乘法的系统辨识方法进行了介绍。首先对系统辨识概念以及最小二乘法原理进行了介绍,然后根据例子来说明怎样运用最小二乘法来解决实际辨识问题。而且本文针对最小二乘存在的缺陷进一步阐述了一些改进型最小二乘法在系统辨识中的应用,最后对系统辨识的发展趋势做了预测。
关键字:系统辨识最小二乘法改进型最小二乘法发展趋势
1引言
系统辨识归根到底是一种数学建模的过程,而建模过程中运用的方法并不唯一,最小二乘法是较早被应用于系统辨识中的一类方法。1962年,L. A. Zadeh 最先提出了系统辨识的定义[1]:“辨识就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。”简单的来说,就是在现有数据的基础上,按照一个准则在一组模型类中选择一个与提供的数据拟合得最好的模型。而根据最小二乘法的定义[2]:“最小二乘法是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。”其基本思想就是让实测数据和估计数据之间的平方和最小,这恰恰是系统辨识所需要解决的问题,所以最小二乘法很早就被用来求解辨识中需要的拟合数学模型。
本文在阐述最小二乘法理论的基础上对于其在系统辨识中的应
用做了介绍,并指出实际应用中存在的不足,列举了几种改进型的最小二乘算法来改进系统辨识能力,最后给出了系统辨识的发展趋势。
2 基于最小二乘法的系统辨识的理论基础及应用
2.1 系统辨识的理论基础
从字面上讲,系统辨识( System Identification) 就是识别一个系统、辨识一个系统[3]。系统通常是由表征系统输入输出关系的数学模型描述的,这个模型有其特定的结构和参数。因此,系统辨识包含系统结构辨识 ( System Structure Identification) 和参数估计( Parameter Estimation) .
系统结构(或模型结构) 就是系统数学表达式的形式。对单输入单输出线性系统而言,模型结构就是系统的阶次(Order) ;对多变量线性系统而言,模型结构就是系统的能控性结构指数(Controllability Structure Index) 或能观测性结构指数(Observability Structure Index) ,系统阶次等于系统的能控性结构指数或能观测性结构指数之和。对传递函数而言,系统参数就是传递函数分子分母多项式的系数(Coeffi-cient) ,系统阶次就是传递函数分母多项式的次数(Degree) ; 对状态空间模型而言,系统参数就是状态空间模型的 A,B,C,D 矩阵,就是状态向量的维数或矩阵的维数,它等于系统的能控性结构指数系统阶次或能观测性结构指数之和。
求解系统辨识问题实质上就是找到合适的数学方法来判断系统的结构以及得到系统参数。 2.2 最小二乘法的理论基础
最小二乘法作为一种传统的参数估计方法,早已经被大家所了解。 然而大多同学对最小二乘法的认识都比较模糊,仅仅把最小二乘法理解为简单的线性参数估计。 事实上,最小二乘法在参数估计、系统辨识以及预测、预报等众多领域都有着广泛的应用。特别是针对动态系统辨识的方法有很多,但其中应用最广泛,辨识效果良好的就是最小二乘辨识方法,研究最小二乘法在系统辨识中的应用具有现实的、广泛的意义。因此要用最小二乘法解决实际的辨识问题,首先要对最小二乘法有深刻理解。
下面是一般的最小二乘法问题:实系数线性方程组 a 11x 1+a 12x 2+…+a 1n x n -b 1=0 a 21x 1+a 22x 2+…+a 2n x n -b 2=0
………… (2.1) a m1x 1+a m2x 2+…+a mn x n -b m = 0
方程组可能无解。 即可能不存在一组实数 x 1,x2,……,x s 使
211
21
20()i i in n i m
i a
x a x a x b =++?+-=∑ (2.2)
恒成立。因此我们转而求其次,设法找到实数组 x 1,x 2,…,x s 使误差的平方和最小,这样的 x 1,x 2,…,x s 称为方程组的最小二乘解,这样问题就叫最小二乘法问题。
2.3 最小二乘法处理辨识问题的应用举例
考虑如下线性系统:
()()()()()()1111a b n a n b z k a z k a z k n bu k b u k n e k +-+
+-=-++-+ (1)
其中,u(k)为系统激励信号,y(k)为系统输出,e(k)为模型噪声。
其系统模型如图1所示:
图1 SISO 的系统模型结构图
其中G(z -1)是系统函数模型,N(z -1
)为有色噪声系统模型,e(k)为白噪声v(k)经过系统
函数为N(z -1
)的系统后的输出。通常
()()()
()()
()
11111
1
, B z D z G z N z A z
C z
------=
=
(2)
式中:
()()11212112
121a
a
b b n n n n A z a z a z a z B z b z b z b z
--------?=++++??=+++?? (3) ()()11212112
121c
c
d d n n n n C z c z c z c z D z d z d z b z
--------?=++++??=+++?? (4) 则系统可表示为:()()()
()()
()
()111
1
B z D z z k u k v k A z
C z
----=+
(5)
设样本和参数集为:
1212()[-(-1) , -(-2), ...... -(-), (-1),(-2), ......, (-)][,,......,,,,......,]T
T
n n h k z k z k z k n u k u k u k n a a a b b b θ?=?=?
(6) h(k)为可观测的量, 差分方程可写为最小二乘形式
()()()T z k h k e k θ=+ (7)
如何在系统噪声e(k)存在的情况下从该方程中正确的解出θ,即是系统辨识的任务。 为了求出θ,我们面临三大问题:一是输入信号的选择,二是判决准则的选取,三是辨识算法的选择,下面一一探讨。
一.选择输入
为了准确辨识系统参数,我们对输入信号有两大要求,一是信号要能持续的激励系统所有状态,二是信号频带能覆盖系统的频带宽度。除此之外还要求信号有可重复性,不能是不可重复的随机噪声,因此我们通常选择M 序列或逆M 序列作为输入。
二.准则函数
因为本文主要探讨最小二乘类辨识方法,在此选取准则函数
()()()()2
2
1
1
T
k k J e k z k h k θθ∞
∞
==??==-??????∑∑ (8)
使准则函数()min J θ=的θ估计值记做LS θ,称作参数θ的最小二乘估计值。 在式(7)中,令k=1,2,3,……L ,可构成线性方程组:
()()()T
L L L z k H k e k θ=+ (9)
式中
()()()()()()()
()()()()()()()()()()()1122, 010*******L L a b a b L a b z e z e z e z L e L z z n u u n z z n u u n H z L z L n u L u L n ????
????????==????????????????
----????----??=????------???
? (10)
准则函数相应变为:
()()()()()
()2
2
1
1
L
L
T
T
L L L L k k J e k z k h k z H z H θθθθ==??==-=--??????∑∑ (11)
极小化()J θ,求得参数θ的估计值,将使模型更好的预报系统的输出。
三.最小二乘辨识算法
设LS θ使得()min J θ=,则有
()
()()0LS
T
L L L L J z H z H θθθθθ
θ
??=
--=?? (12) 展开上式,并根据以下两个向量微分公式:
()()2 T
T T
T a x a x
x Ax x A A x
?=??=?为对称阵 (13)
得正则方程: (
)T
T L L
LS
L L H H H z θ
= (14)
当T
L
L H H 为正则阵时,有(
)
1
T
T LS L
L
L L H H H z θ-= (15)
且有
()22
20LS
T
L L J H H θθθ?=>?,所以满足式(15)的LS θ唯一使得()min J θ=,这
种通过极小化式(11)计算LS θ的方法称作最小二乘法。而且可以证明,当噪声e(k)是均值为0的高斯白噪声时,可实现无偏估计
3 最小二乘法在辨识时存在的问题及其改进型的系统辨识应用举例 3.1传统最小二乘存在的问题
最小二乘法存在一些缺陷制约着最小二乘法在系统辨识中的应用,在处理日益复杂的系统辨识问题中,最小二乘法在系统辨识中存在的缺陷逐渐显现出来。如传统的最小二乘法不适合在动态辨识系统中使用,而且其参数估计存在偏差,耗时较长的问题。
3.2递推最小二乘算法
为了减少计算量,减少数据在计算机中占用的存,并实时辨识出系统动态特性,我们常
利用最小二乘法的递推形式。下面我们来推导递推最小二乘算法的原理。
首先,将式(11)的最小二乘一次完成算法写为
()()()()()()1
1
11T
T T
WLS L
L L L L L
L L T
i i H H H z P L H z h i h i h i z i θ--====????=????????
∑∑ (16)
定义
()()()()()()11
1
11111k T T k k i k T T k k i P k H H h i h i P k H H h i h i -=----=?==????-==??
∑∑ (17) 式中
()()()()()()11122 1T T T T k k T T h h h h H H h k h k -????????????==????????-????????
(18) 式中,h(i)是一个列向量,也就是H L 的第i 行的倒置,P(k)是一个方阵,它的维数取
决于未知参数的个数,假设未知参数的个数是n ,则P(k)的维数是n ×n .。
由式17可得P(k)的递推关系为:
()()()()()
()()()
1
1
1
11k T T i T P
k h i h i h k h k P k h k h k --=-=+=-+∑ (19)
设
()()()()()()11,2,,11,2,,T k T
k z z z z k z z z z k -?=-?????
?=?
????? (20) 则
()()()()()1
1111
1111T T k k k k k i k H H H z P k h i z i θ------=-=??=-??
??
∑ (21)
由此可得:()()()()1
1
1
11k i P
k k h i z i θ--=--=∑ (22)
由式19和22可得
()()()()()()()()()()()()()()()()(){}
()()()()()()1
11
111111k T
T k
k k k
i T
T k H H H z P k h i z i P k P k k h k z k P k P k h k h k k h k z k k P k h k z k h k k θθθθθ-=--??
==??
??
??=--+??
??=--+????=-+--??
∑ (23)
引进增益矩阵K(k),定义()()()K k P k h k = (24)
式23可以进一步写为()()()()()()11T
k k K k z k h k k θθθ??=-+--?? (25)
接下来可以进一步把式20写为
()()()()1
11T
P k P k h k h k --??=-+?? (26)
利用矩阵反演公式(
)
()1
1
1111T
T T A CC A A C I C A C C A ------+=-+
将式(26)演变成
()()()()()()()()()()()()()()()()1
111111111T
T
T T P k P k P k h k h k P k h k P k h k P k h k h k I P k h k P k h k -??=-----+??
??
-=--??-+??
(27) 将上式代入式24,整理后可得
()()()()()()1
111T K k P k h k h k P k h k -??=--+?? (28)