最小二乘法系统辨识小结

吴爱国.系统辨识讲义
丁峰.系统辨识新论

最近看完了系统辨识课程的讲义,总结一下讲义上的内容:
系统辨识分为系统结构辨识和系统参数辨识。课程的内容是系统参数的辨识,即假设系统结构已知。
辨识的四要素:输入输出数据,模型集,准则函数,优化方法。
课程中模型的结构已知,实际的辨识中会存在多个可能的模型结构,构成待辨识的模型集。

A(z)=1+a1z1+a2z2+.....+anaznaA(z)=1+a_1z^{-1}+a_2z^{-2}+.....+a_{n_a}z^{-n_a}B(z)=b1z1+b2z2+.....+bnbznbB(z)=b_1z^{-1}+b_2z^{-2}+.....+b_{n_b}z^{-n_b}C(z)=1+c1z1+c2z2+.....+cnczncC(z)=1+c_1z^{-1}+c_2z^{-2}+.....+c_{n_c}z^{-n_c}D(z)=1+d1z1+d2z2+.....+dndzndD(z)=1+d_1z^{-1}+d_2z^{-2}+.....+d_{n_d}z^{-n_d}F(z)=1+f1z1+f2z2+.....+fnfznfF(z)=1+f_1z^{-1}+f_2z^{-2}+.....+f_{n_f}z^{-n_f}
随机白噪声 v(t)v(t),E(v(t))=0E(v(t))=0,D(v(t))=σ2D(v(t))=\sigma^2

一.常用随机系统模型

常用的辨识模型有以下几类:

1.时间序列模型

(1)自回归模型(AR)A(z)y(t)=v(t)A(z)y(t)=v(t)
该模型表示当前值是过去值的组合。
(2)滑动平均模型(MA)y(t)=D(z)v(t)y(t)=D(z)v(t)
当前值是过去白噪声的组合。
(3)滑动平均自回归模型(ARMA)A(z)y(t)=D(z)v(t)A(z)y(t)=D(z)v(t)
(4)确定性模型(ARMA)A(z)y(t)=B(z)u(t)A(z)y(t)=B(z)u(t)

2.方程误差模型

误差是指描述输入和输出之间的差分方程的误差.
(1)受控自回归模型(ARX)A(z)y(t)=B(z)u(t)+v(t)A(z)y(t)=B(z)u(t)+v(t)
(2)受控自回归滑动平均模型(ARMAX)A(z)y(t)=B(z)u(t)+D(z)v(t)A(z)y(t)=B(z)u(t)+D(z)v(t)
(3)受控ARAR模型(ARARX)A(z)y(t)=B(z)u(t)+v(t)/C(z)A(z)y(t)=B(z)u(t)+v(t)/C(z)
(4)受控ARARMA模型(ARARMAX)A(z)y(t)=B(z)u(t)+D(z)C(z)v(t)A(z)y(t)=B(z)u(t)+\frac{D(z)}{C(z)}v(t)

3.输出误差模型

(1)输出误差模型(OE)y(t)=B(z)A(z)u(t)+v(t)y(t)=\frac{B(z)}{A(z)}u(t)+v(t)
(2)输出误差滑动平均模型(OEMA)y(t)=B(z)A(z)u(t)+D(z)v(t)y(t)=\frac{B(z)}{A(z)}u(t)+D(z)v(t)
(3)输出误差自回归模型(OEAR)y(t)=B(z)A(z)u(t)+1C(z)v(t)y(t)=\frac{B(z)}{A(z)}u(t)+\frac{1}{C(z)}v(t)
(4)输出误差自回归滑动平均模型(OEARMA)y(t)=B(z)A(z)u(t)+D(z)C(z)v(t)y(t)=\frac{B(z)}{A(z)}u(t)+\frac{D(z)}{C(z)}v(t)

二.辨识模型

为了辨识系统参数,一般把系统的参数写成一个参数向量形式,输入输出写成一个信息向量形式,就得到系统的辨识模型,也称为辨识表达式.一般单输入单输出线性参数系统的辨识模型可以表达为:y(t)=φT(t)θ+v(t)y(t)=\varphi^T(t)\theta+v(t)

三. 最小二乘基本原理

以一个典型的受控自回归模型为例:
设系统的模型为y(t)+a1y(t1)+a2y(t2)=b1u(t)+b2u(t1)+v(t)y(t)+a_1y(t-1)+a-2y(t-2)=b_1u(t)+b_2u(t-1)+v(t)
将其写为如下的形式:y(t)=a1y(t1)a2y(t2)+b1u(t)+b2u(t1)+v(t)y(t)=-a_1y(t-1)-a_2y(t-2)+b_1u(t)+b_2u(t-1)+v(t)
设观测的数据长度为t,对这个模型有:y(3)=a1y(2)a2y(1)+b1u(3)+b2u(2)+v(3)y(3)=-a_1y(2)-a_2y(1)+b_1u(3)+b_2u(2)+v(3)y(4)=a1y(3)a2y(2)+b1u(4)+b2u(3)+v(4)y(4)=-a_1y(3)-a_2y(2)+b_1u(4)+b_2u(3)+v(4)..............................y(t)=a1y(t1)a2y(t2)+b1u(t)+b2u(t1)+v(t)y(t)=-a_1y(t-1)-a_2y(t-2)+b_1u(t)+b_2u(t-1)+v(t)
Y=[y(3),y(4)....y(t)]TY=[y(3),y(4)....y(t)]^TφT(i)=[y(i1),y(i2),u(i),u(i1)]\varphi^T(i)=[-y(i-1),-y(i-2),u(i),u(i-1)]θ=[a1,a2,b1,b2]\theta=[a_1,a_2,b_1,b_2]H=[φ(3),φ(4),.....φ(t)]TH=[\varphi(3),\varphi(4),.....\varphi(t)]^TV=[v(3),v(4)....v(t)]T V=[v(3),v(4)....v(t)]^T

我们可以得到:Y=Hθ+VY=H\theta+V
令准则函数为J(θ)=(YHθ)T(YHθ)J(\theta)=(Y-H\theta)^T(Y-H\theta)
JJθ\theta求偏导,并令其偏导数为零.得到θ\theta的估计值θLS=(HTH)1HTY\theta_{LS}=(H^TH)^{-1}H^TY

四.最小二乘估计的统计特性

1.无偏性定理

已知θ\theta的最小二乘估计θLS=(HTH)1HTY\theta_{LS}=(H^TH)^{-1}H^TY,辨识模型可以写成:Y=Hθ+WY=H\theta+W,WW代表任意形式的噪声.在这里先不考虑WW中未知参数的辨识,只考虑与输入和输出(可测)有关的待估计参数.
θLS\theta_{LS}的数学期望E(θLS)=E[(HTH)1HTY]E(\theta_{LS})=E[(H^TH)^{-1}H^TY]=E[(HTH)1HT(Hθ+W)]θ=E[(H^TH)^{-1}H^T(H\theta+W)]\theta=E[θ+(HTH)1HTW]=E[\theta+(H^TH)^{-1}H^TW]=θ+E[(HTH)1HTW]=\theta+E[(H^TH)^{-1}H^TW]其中(HTH)1HT(H^TH)^{-1}H^T为常数,所以E(θLS)=θ+(HTH)1HTE[W]E(\theta_{LS})=\theta+(H^TH)^{-1}H^TE[W]WW为白噪声,则E(θLS)=θE(\theta_{LS})=\theta.E(θLS)E(\theta_{LS})θ\theta的无偏估计.
或当噪声向量WW的均值为0,且与HH无关时,E(θLS)E(\theta_{LS})θ\theta的无偏估计.

2.估计误差协方差定理

对一个系统Y=Hθ+WY=H\theta+W,设噪声向量WW的均值为零,协方差矩阵cov[W]=Rvcov[W]=R_v,且WWHH相互独立,则参数估计误差θLS~=θLSθ\tilde{\theta_{LS}}=\theta_{LS}-\theta的协方差矩阵为cov[θLS~]=E[(HTH)1HTRvH(HTH)1]cov[\tilde{\theta_{LS}}]=E[(H^TH)^{-1}H^TR_vH(H^TH)^{-1}]
cov[θLS~]=σ2E[(HTH)1]cov[\tilde{\theta_{LS}}]=\sigma^2E[(H^TH)^{-1}]
如果WW是一白噪声序列,且其方差为σ2\sigma^2,则cov[θLS~]=σ2E[(HTH)1]cov[\tilde{\theta_{LS}}]=\sigma^2E[(H^TH)^{-1}]

3.噪声方差估计定理

对一个系统Y=Hθ+WY=H\theta+W,设WWHH是统计独立的零均值白噪声向量,WW的分量为零均值白噪声向量v(t)v(t),则v(t)的方差σ2\sigma^2的估计为:σ2^=J[θLS~]tn,t\hat{\sigma^2}=\frac{J[\tilde{\theta_{LS}}]}{t-n},t充分大时其中n:=dimθ=θn:=dim\theta=\theta的维数

五.常用的各类最小二乘辨识算法

1.递推最小二乘辨识

适用模型
受控自回归模型(ARX):A(z)y(t)=B(z)u(t)+v(t)A(z)y(t)=B(z)u(t)+v(t)
将上述模型写为辨识模型的形式:Y=Hθ+WY=H\theta+W
递推最小二乘的算法如下:θ^(t)=θ^(t1)+L(t)[y(t)φT(t)θ^(t1)]\hat\theta(t)=\hat\theta(t-1)+L(t)[y(t)-\varphi^T(t)\hat\theta(t-1)]L(t)=P(t1)φ(t)1+φT(t)P(t1)φ(t)L(t)=\frac{P(t-1)\varphi(t)}{1+\varphi^T(t)P(t-1)\varphi(t)}P(t)=[IL(t)φT(t)]P(t1),P(0)=p0IP(t)=[I-L(t)\varphi^T(t)]P(t-1),P(0)=p_0Iφ(t)=[y(t1),y(t2)....,y(tna),u(t1),u(t2),.....u(tnb)]\varphi(t)=[-y(t-1) ,-y(t-2)....,-y(t-n_a),u(t-1),u(t-2),.....u(t-n_b)]
计算顺序如下:
P(0)>L(1)>θ^(1)>P(1)>L(1)>θ^(2)>.....P(0)->L(1)->\hat\theta(1)->P(1)->L(1)->\hat\theta(2)->.....
其中P(0)一般取10610^6数量级.

2.带遗忘因子最小二乘系统辨识

适用模型
受控自回归模型(ARX):A(z)y(t)=B(z)u(t)+v(t)A(z)y(t)=B(z)u(t)+v(t)
将上述模型写为辨识模型的形式:Y=Hθ+WY=H\theta+W.
算法如下:
θ^(t)=θ^(t1)+L(t)[y(t)φT(t)θ^(t1)]\hat\theta(t)=\hat\theta(t-1)+L(t)[y(t)-\varphi^T(t)\hat\theta(t-1)]L(t)=P(t1)φ(t)λ+φT(t)P(t1)φ(t)L(t)=\frac{P(t-1)\varphi(t)}{\lambda+\varphi^T(t)P(t-1)\varphi(t)}P(t)=1λ[IL(t)φT(t)]P(t1),P(0)=p0IP(t)=\frac{1}{\lambda}[I-L(t)\varphi^T(t)]P(t-1),P(0)=p_0I
λ\lambda一般取0.9~1,当λ\lambda取1时即为标准最小二乘算法.

3.新息与残差之间的关系

新息:e(t)=y(t)φT(t)θ^(t1)e(t)=y(t)-\varphi^T(t)\hat\theta(t-1)
残差:ε(t)=y(t)φT(t)θ^(t)\varepsilon(t)=y(t)-\varphi^T(t)\hat\theta(t)
e(t)=[1+1λφT(t)θ^(t)]ε(t)e(t)=[1+\frac{1}{\lambda}\varphi^T(t)\hat\theta(t)]\varepsilon(t)

4.有限数据窗最小二乘系统辨识

适用模型
受控自回归模型(ARX):A(z)y(t)=B(z)u(t)+v(t)A(z)y(t)=B(z)u(t)+v(t)
将上述模型写为辨识模型的形式:Y=Hθ+WY=H\theta+W.
算法如下:
θ^(t)=θ^(t1)+P(t)[φ(t),φ(tp)][y(t)φT(t)θ^(t1),y(tp)φT(tp)θ^(t1)]T\hat\theta(t)=\hat\theta(t-1)+P(t)[\varphi(t),-\varphi(t-p)][y(t)-\varphi^T(t)\hat\theta(t-1),y(t-p)-\varphi^T(t-p)\hat\theta(t-1)]^TQ(t)=P(t1)P(t1)φ(t)φT(t)P(t1)1+φT(t)P(t1)φ(t)Q(t)=P(t-1)-\frac{P(t-1)\varphi(t)\varphi^T(t)P(t-1)}{1+\varphi^T(t)P(t-1)\varphi(t)}P(t)=Q(t)+Q(t)φ(tp)φT(tp)Q(t)1φT(tp)Q(t)φ(tp)P(t)=Q(t)+\frac{Q(t)\varphi(t-p)\varphi^T(t-p)Q(t)}{1-\varphi^T(t-p)Q(t)\varphi(t-p)}

5.带遗忘因子的有限数据窗最小二乘算法

适用模型
受控自回归模型(ARX):A(z)y(t)=B(z)u(t)+v(t)A(z)y(t)=B(z)u(t)+v(t)
将上述模型写为辨识模型的形式:Y=Hθ+WY=H\theta+W.
θ^(t)=α(t1)+P(t)φ(t)[y(t)φT(t)α(t1)]\hat\theta(t)=\alpha(t-1)+P(t)\varphi(t)[y(t)-\varphi^T(t)\alpha(t-1)]P(t)=1λ[Pα(t1)Pα(t1)φ(t)φT(t)Pα(t1)λ+φT(t)Pα(t1)φ(t)]P(t)=\frac{1}{\lambda}[P_{\alpha}(t-1)-\frac{P_{\alpha}(t-1)\varphi(t)\varphi^T(t)P_\alpha(t-1)}{\lambda+\varphi^T(t)P_{\alpha}(t-1)\varphi(t)}]α(t1)=θ^(t1)λp1Pα(t1)φ(tp)[y(t)φT(tp)θ^(t1)]\alpha(t-1)=\hat\theta(t-1)-\lambda^{p-1}P_{\alpha}(t-1)\varphi(t-p)[y(t)-\varphi^T(t-p)\hat\theta(t-1)]Pα(t1)=P(t1)+Pα(t1)φ(tp)φT(tp)Pα(t1)λ1φT(tp)Pα(t1)φ(tp)P_{\alpha}(t-1)=P(t-1)+\frac{P_{\alpha}(t-1)\varphi(t-p)\varphi^T(t-p)P_\alpha(t-1)}{\lambda^{-1}-\varphi^T(t-p)P_{\alpha}(t-1)\varphi(t-p)}

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章