【系统辨识】最小二乘法

系统辨识的基本原理

由于系统辨识建模的方法是利用试验数据来确定数学模型,因此,这种方法就是针对已经存在的实际系统来建立数学模型。通过试验可以获得系统的输入输出数据,这些数据能够反映出系统的动态特性,所以利用试验所得的数据信息来建立系统数学模型是合理的,这就是系统辩识。
​​​​【系统辨识】最小二乘法_第1张图片
如上图所示,根据实际系统提供的测量信息,按照确定的辨识准则,辨识出能达到要求的系统模型。简单来说,系统辨识的要点,一是用模型去预测,二是用数据去修正。

最小二乘法的基本算法

尽管基于人工智能系统的系统辨识具有良好的非线性系统适用性,但是也有计算速度慢、辨识参数繁多等局限性。在实际工程应用中,最小二乘法是最常见的系统辨识方法。
在这里插入图片描述
对于随机模型的参数估计问题,以单输入单输出系统为例,如上图所示。将待辨识的随机系统看成“灰箱”,不讨论系统的内部构造,只考虑系统的输入及输出特性。在实际中,系统的输入量u(k)和输出量z(k)是可以通过测量手段得到的,而系统模型G(k)用来描述系统的输入、输出特性,v(k)表示测量噪声。对于以上的SISO随机系统,被辨识模型的z域传递函数为:
G ( z ) = y ( z ) u ( z ) = b 1 z − 1 + b 2 z − 2 + ⋯ + b n z − n 1 + a 1 z − 1 + a 2 z − 2 + ⋯ + a n z − n G ( z ) = \frac { y ( z ) } { u ( z ) } = \frac { b _ { 1 } z ^ { - 1 } + b _ { 2 } z ^ { - 2 } + \cdots + b _ { n } z ^ { - n } } { 1 + a _ { 1 } z ^ { - 1 } + a _ { 2 } z ^ { - 2 } + \cdots + a _ { n } z ^ { - n } } G(z)=u(z)y(z)=1+a1z1+a2z2++anznb1z1+b2z2++bnzn其对应的差分方程为
y ( k ) = − ∑ i = 1 n a i y ( k − i ) + ∑ i = 1 n b i u ( k − i ) y ( k ) = - \sum _ { i = 1 } ^ { n } a _ { i } y ( k - i ) + \sum _ { i = 1 } ^ { n } b _ { i } u ( k - i ) y(k)=i=1naiy(ki)+i=1nbiu(ki)式中,y(k)表示系统输出量的第k次真值,y(k-1)表示系统输出量的第k-1次真值,u(k)表示的是系统的第k个输入值,u(k-1)表示的是系统的第k-1个输入值,以此类推。将差分方程整理成矩阵形式,并考虑测量噪声v(k),可得
z ( k ) = h ( k ) θ + v ( k ) z ( k ) = h ( k ) \theta + v ( k ) z(k)=h(k)θ+v(k)其中
h ( k ) = [ − y ( k − 1 ) , ⋯   , − y ( k − n ) , u ( k − 1 ) , ⋯   , u ( k − n ) ] h ( k ) = [ - y ( k - 1 ) , \cdots , - y ( k - n ) , u ( k - 1 ) , \cdots , u ( k - n ) ] h(k)=[y(k1),,y(kn),u(k1),,u(kn)] θ = [ a 1 , a 2 ⋯   , a n , b 1 , b 2 , ⋯   , b n ] T \theta = [ a _ { 1 } , a _ { 2 } \cdots , a _ { n } , b _ { 1 } , b _ { 2 } , \cdots , b _ { n } ] ^ { T } θ=[a1,a2,an,b1,b2,,bn]T θ \theta θ为待辨识参数矩阵。z(k)表示第k次测量输出。令k=1,2,…,m,则有 Z m = [ z ( 1 ) z ( 2 ) ⋮ z ( m ) ] Z _ { m } = \left[ \begin{array} { l } { z ( 1 ) } \\ { z ( 2 ) }\\\vdots\\ { z ( m ) } \end{array} \right] Zm=z(1)z(2)z(m)在这里插入图片描述

最小二乘法的基本思路就是寻找 θ \theta θ的一个估计值 θ ^ \hat{\theta} θ^,使得各次测量的 Z i ( i = 1 , … , m ) Z_i(i=1,\ldots,m) Zi(i=1,,m)与由估计 θ ^ \hat{\theta} θ^确定的测量估计 Z ^ i = H i θ ^ {\hat{Z}}_i=H_i\hat{\theta} Z^i=Hiθ^之差的平方和达到最小,即 J ( θ ^ ) = ( Z m − H m θ ^ ) T ( Z m − H m θ ^ ) = m i n J (\hat{\theta} ) = ( Z _ { m } - H _ { m }\hat{\theta} ) ^ { T } ( Z _ { m } - H _ { m } \hat{\theta} ) = m i n J(θ^)=(ZmHmθ^)T(ZmHmθ^)=min【系统辨识】最小二乘法_第2张图片根据极值定理便可以得到参数矩阵的最小二乘估计 θ ^ = ( H m T H m ) − 1 H m T Z m \hat{\theta} = ( H _ { m } ^ { T } H _ { m } ) ^ { - 1 } H _ { m } ^ { T } Z _ { m } θ^=(HmTHm)1HmTZm

你可能感兴趣的:(系统辨识与滤波,其他)