最小二乘法系統辨識小結

吳愛國.系統辨識講義
丁峯.系統辨識新論

最近看完了系統辨識課程的講義,總結一下講義上的內容:
系統辨識分爲系統結構辨識和系統參數辨識。課程的內容是系統參數的辨識,即假設系統結構已知。
辨識的四要素:輸入輸出數據,模型集,準則函數,優化方法。
課程中模型的結構已知,實際的辨識中會存在多個可能的模型結構,構成待辨識的模型集。

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)}

在這裏插入圖片描述

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