吳愛國.系統辨識講義
丁峯.系統辨識新論
最近看完了系統辨識課程的講義,總結一下講義上的內容:
系統辨識分爲系統結構辨識和系統參數辨識。課程的內容是系統參數的辨識,即假設系統結構已知。
辨識的四要素:輸入輸出數據,模型集,準則函數,優化方法。
課程中模型的結構已知,實際的辨識中會存在多個可能的模型結構,構成待辨識的模型集。
A(z)=1+a1z−1+a2z−2+.....+anaz−naB(z)=b1z−1+b2z−2+.....+bnbz−nbC(z)=1+c1z−1+c2z−2+.....+cncz−ncD(z)=1+d1z−1+d2z−2+.....+dndz−ndF(z)=1+f1z−1+f2z−2+.....+fnfz−nf
隨機白噪聲 v(t),E(v(t))=0,D(v(t))=σ2
一.常用隨機系統模型
常用的辨識模型有以下幾類:
1.時間序列模型
(1)自迴歸模型(AR)A(z)y(t)=v(t)
該模型表示當前值是過去值的組合。
(2)滑動平均模型(MA)y(t)=D(z)v(t)
當前值是過去白噪聲的組合。
(3)滑動平均自迴歸模型(ARMA)A(z)y(t)=D(z)v(t)
(4)確定性模型(ARMA)A(z)y(t)=B(z)u(t)
2.方程誤差模型
誤差是指描述輸入和輸出之間的差分方程的誤差.
(1)受控自迴歸模型(ARX)A(z)y(t)=B(z)u(t)+v(t)
(2)受控自迴歸滑動平均模型(ARMAX)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)
(4)受控ARARMA模型(ARARMAX)A(z)y(t)=B(z)u(t)+C(z)D(z)v(t)
3.輸出誤差模型
(1)輸出誤差模型(OE)y(t)=A(z)B(z)u(t)+v(t)
(2)輸出誤差滑動平均模型(OEMA)y(t)=A(z)B(z)u(t)+D(z)v(t)
(3)輸出誤差自迴歸模型(OEAR)y(t)=A(z)B(z)u(t)+C(z)1v(t)
(4)輸出誤差自迴歸滑動平均模型(OEARMA)y(t)=A(z)B(z)u(t)+C(z)D(z)v(t)
二.辨識模型
爲了辨識系統參數,一般把系統的參數寫成一個參數向量形式,輸入輸出寫成一個信息向量形式,就得到系統的辨識模型,也稱爲辨識表達式.一般單輸入單輸出線性參數系統的辨識模型可以表達爲:y(t)=φT(t)θ+v(t)
三. 最小二乘基本原理
以一個典型的受控自迴歸模型爲例:
設系統的模型爲y(t)+a1y(t−1)+a−2y(t−2)=b1u(t)+b2u(t−1)+v(t)
將其寫爲如下的形式:y(t)=−a1y(t−1)−a2y(t−2)+b1u(t)+b2u(t−1)+v(t)
設觀測的數據長度爲t,對這個模型有:y(3)=−a1y(2)−a2y(1)+b1u(3)+b2u(2)+v(3)y(4)=−a1y(3)−a2y(2)+b1u(4)+b2u(3)+v(4)...............y(t)=−a1y(t−1)−a2y(t−2)+b1u(t)+b2u(t−1)+v(t)
令Y=[y(3),y(4)....y(t)]TφT(i)=[−y(i−1),−y(i−2),u(i),u(i−1)]θ=[a1,a2,b1,b2]H=[φ(3),φ(4),.....φ(t)]TV=[v(3),v(4)....v(t)]T
我們可以得到:Y=Hθ+V
令準則函數爲J(θ)=(Y−Hθ)T(Y−Hθ)
J對θ求偏導,並令其偏導數爲零.得到θ的估計值θLS=(HTH)−1HTY
四.最小二乘估計的統計特性
1.無偏性定理
已知θ的最小二乘估計θLS=(HTH)−1HTY,辨識模型可以寫成:Y=Hθ+W,W代表任意形式的噪聲.在這裏先不考慮W中未知參數的辨識,只考慮與輸入和輸出(可測)有關的待估計參數.
則θLS的數學期望E(θLS)=E[(HTH)−1HTY]=E[(HTH)−1HT(Hθ+W)]θ=E[θ+(HTH)−1HTW]=θ+E[(HTH)−1HTW]其中(HTH)−1HT爲常數,所以E(θLS)=θ+(HTH)−1HTE[W]當W爲白噪聲,則E(θLS)=θ.E(θLS)爲θ的無偏估計.
或當噪聲向量W的均值爲0,且與H無關時,E(θLS)爲θ的無偏估計.
2.估計誤差協方差定理
對一個系統Y=Hθ+W,設噪聲向量W的均值爲零,協方差矩陣cov[W]=Rv,且W與H相互獨立,則參數估計誤差θLS~=θLS−θ的協方差矩陣爲cov[θLS~]=E[(HTH)−1HTRvH(HTH)−1]
cov[θLS~]=σ2E[(HTH)−1]
如果W是一白噪聲序列,且其方差爲σ2,則cov[θLS~]=σ2E[(HTH)−1]
3.噪聲方差估計定理
對一個系統Y=Hθ+W,設W和H是統計獨立的零均值白噪聲向量,W的分量爲零均值白噪聲向量v(t),則v(t)的方差σ2的估計爲:σ2^=t−nJ[θLS~],t充分大時其中n:=dimθ=θ的維數
五.常用的各類最小二乘辨識算法
1.遞推最小二乘辨識
適用模型
受控自迴歸模型(ARX):A(z)y(t)=B(z)u(t)+v(t)
將上述模型寫爲辨識模型的形式:Y=Hθ+W
遞推最小二乘的算法如下:θ^(t)=θ^(t−1)+L(t)[y(t)−φT(t)θ^(t−1)]L(t)=1+φT(t)P(t−1)φ(t)P(t−1)φ(t)P(t)=[I−L(t)φT(t)]P(t−1),P(0)=p0Iφ(t)=[−y(t−1),−y(t−2)....,−y(t−na),u(t−1),u(t−2),.....u(t−nb)]
計算順序如下:
P(0)−>L(1)−>θ^(1)−>P(1)−>L(1)−>θ^(2)−>.....
其中P(0)一般取106數量級.
2.帶遺忘因子最小二乘系統辨識
適用模型
受控自迴歸模型(ARX):A(z)y(t)=B(z)u(t)+v(t)
將上述模型寫爲辨識模型的形式:Y=Hθ+W.
算法如下:
θ^(t)=θ^(t−1)+L(t)[y(t)−φT(t)θ^(t−1)]L(t)=λ+φT(t)P(t−1)φ(t)P(t−1)φ(t)P(t)=λ1[I−L(t)φT(t)]P(t−1),P(0)=p0I
λ一般取0.9~1,當λ取1時即爲標準最小二乘算法.
3.新息與殘差之間的關係
新息:e(t)=y(t)−φT(t)θ^(t−1)
殘差:ε(t)=y(t)−φT(t)θ^(t)
e(t)=[1+λ1φT(t)θ^(t)]ε(t)
4.有限數據窗最小二乘系統辨識
適用模型
受控自迴歸模型(ARX):A(z)y(t)=B(z)u(t)+v(t)
將上述模型寫爲辨識模型的形式:Y=Hθ+W.
算法如下:
θ^(t)=θ^(t−1)+P(t)[φ(t),−φ(t−p)][y(t)−φT(t)θ^(t−1),y(t−p)−φT(t−p)θ^(t−1)]TQ(t)=P(t−1)−1+φT(t)P(t−1)φ(t)P(t−1)φ(t)φT(t)P(t−1)P(t)=Q(t)+1−φT(t−p)Q(t)φ(t−p)Q(t)φ(t−p)φT(t−p)Q(t)
5.帶遺忘因子的有限數據窗最小二乘算法
適用模型
受控自迴歸模型(ARX):A(z)y(t)=B(z)u(t)+v(t)
將上述模型寫爲辨識模型的形式:Y=Hθ+W.
θ^(t)=α(t−1)+P(t)φ(t)[y(t)−φT(t)α(t−1)]P(t)=λ1[Pα(t−1)−λ+φT(t)Pα(t−1)φ(t)Pα(t−1)φ(t)φT(t)Pα(t−1)]α(t−1)=θ^(t−1)−λp−1Pα(t−1)φ(t−p)[y(t)−φT(t−p)θ^(t−1)]Pα(t−1)=P(t−1)+λ−1−φT(t−p)Pα(t−1)φ(t−p)Pα(t−1)φ(t−p)φT(t−p)Pα(t−1)