系列文章目录
【系统辨识】最小二乘估计
【系统辨识】递推最小二乘法的推导及matlab仿真
【系统辨识】最小二乘辨识模型的建立
文章目录
前言
y
(
t
)
=
φ
T
(
t
)
θ
+
v
(
t
)
y(t)= \pmb{\varphi^{T}}(t)\pmb{\theta}+v(t)
y(t)=φT(t)θ+v(t)描述的辨识模型示意图如上图所示,它把输出表示为参数的线性组合形式,是辨识问题的一个基本表达形式,称为最小二乘格式。因为这个最小二乘格式辨识模型的参数向量易于用最小二乘方法辨识。本文主要说明如何把系统模型化为最小二乘格式。
一、线性系统辨识模型
1.线性系统脉冲响应模型
y ( t ) = b 1 u ( t − 1 ) + b 2 u ( t − 2 ) + . . . + b n u ( t − n ) + v ( t ) = [ u ( t − 1 ) , u ( t − 1 ) , . . . , u ( t − n ) ] [ b 1 b 2 . . . b n ] + v ( t ) y(t)=b_{1}u(t-1)+b_{2}u(t-2)+...+b_{n}u(t-n)+v(t) \\=\left [ u(t-1),u(t-1),...,u(t-n) \right ] \begin{bmatrix} b_{1}\\ b_{2}\\ ...\\ b_{n} \end{bmatrix}+v(t) y(t)=b1u(t−1)+b2u(t−2)+...+bnu(t−n)+v(t)=[u(t−1),u(t−1),...,u(t−n)] b1b2...bn +v(t)对应的辨识模型为 { y ( t ) = φ T ( t ) θ + v ( t ) , φ ( t ) = [ u ( t − 1 ) , u ( t − 2 ) , . . . , u ( t − n ) ] T ∈ R n , θ = [ b 1 , b 2 , . . . , b n ] T ∈ R n . \left\{ \begin{array}{l} y(t)= \pmb{\varphi^{T}}(t)\pmb{\theta}+v(t),\\ \pmb{\varphi}(t)=[u(t-1),u(t-2),...,u(t-n) ]^T\in R^{n},\\ \pmb{\theta}=[b_1,b_2,...,b_n]^T\in R^n. \end{array} \right. ⎩ ⎨ ⎧y(t)=φT(t)θ+v(t),φ(t)=[u(t−1),u(t−2),...,u(t−n)]T∈Rn,θ=[b1,b2,...,bn]T∈Rn.
2.时变系统差分方程描述的线性系统
y
(
t
)
+
a
1
(
t
)
y
(
t
−
1
)
+
a
2
(
t
)
y
(
t
−
2
)
=
b
1
u
(
t
−
1
)
+
b
2
u
(
t
−
2
)
y(t)+a_1(t)y(t-1)+a_2(t)y(t-2)=b_1u(t-1)+b_2u(t-2)
y(t)+a1(t)y(t−1)+a2(t)y(t−2)=b1u(t−1)+b2u(t−2)
对应的辨识模型为
{
y
(
t
)
=
φ
T
(
t
)
θ
,
φ
(
t
)
=
[
−
y
(
t
−
1
)
,
−
y
(
t
−
2
)
,
u
(
t
−
1
)
,
u
(
t
−
2
)
]
T
∈
R
4
,
θ
=
[
a
1
(
t
)
,
a
2
,
b
1
,
b
2
]
T
∈
R
4
.
\left\{ \begin{array}{l} y(t)= \pmb{\varphi^{T}}(t)\pmb{\theta},\\ \pmb{\varphi}(t)=[-y(t-1),-y(t-2),u(t-1),u(t-2) ]^T\in R^{4},\\ \pmb{\theta}=[a_1(t),a_2,b_1,b_2]^T\in R^4. \end{array} \right.
⎩
⎨
⎧y(t)=φT(t)θ,φ(t)=[−y(t−1),−y(t−2),u(t−1),u(t−2)]T∈R4,θ=[a1(t),a2,b1,b2]T∈R4.
3.线性动态系统(CAR模型)
A
(
z
)
y
(
t
)
=
B
(
z
)
u
(
t
)
+
v
(
t
)
,
A(z)y(t)=B(z)u(t)+v(t),
A(z)y(t)=B(z)u(t)+v(t),其中
A
(
z
)
A(z)
A(z)和
B
(
z
)
B(z)
B(z)是
z
−
1
z^{-1}
z−1的常系数时不变多项式,定义如下,
A
(
z
)
=
1
+
a
1
z
−
1
+
a
2
z
−
2
+
.
.
.
+
a
n
a
z
−
n
a
,
B
(
z
)
=
b
1
z
−
1
+
b
2
z
−
2
+
.
.
.
+
b
n
b
z
−
n
b
.
A(z)=1+a_1z^{-1}+a_2z^{-2}+...+a_{n_a}z^{-n_a}, \\B(z)=b_1z^{-1}+b_2z^{-2}+...+b_{n_b}z^{-n_b}.
A(z)=1+a1z−1+a2z−2+...+anaz−na,B(z)=b1z−1+b2z−2+...+bnbz−nb.将多项式
A
(
z
)
A(z)
A(z)和
B
(
z
)
B(z)
B(z)带入CAR模型中可得
(
1
+
a
1
z
−
1
+
a
2
z
−
2
+
.
.
.
+
a
n
a
z
−
n
a
)
y
(
t
)
=
(
b
1
z
−
1
+
b
2
z
−
2
+
.
.
.
+
b
n
b
z
−
n
b
)
u
(
t
)
+
v
(
t
)
(1+a_1z^{-1}+a_2z^{-2}+...+a_{n_a}z^{-n_a})y(t)=(b_1z^{-1}+b_2z^{-2}+...+b_{n_b}z^{-n_b})u(t)+v(t)
(1+a1z−1+a2z−2+...+anaz−na)y(t)=(b1z−1+b2z−2+...+bnbz−nb)u(t)+v(t)利用移位算子的性质,上式可以写为
y
(
t
)
+
a
1
y
(
t
−
1
)
+
a
2
y
(
t
−
2
)
+
.
.
.
+
a
n
a
y
(
t
−
n
a
)
=
b
1
u
(
t
−
1
)
+
b
2
u
(
t
−
1
)
+
.
.
.
+
b
n
b
u
(
t
−
n
b
)
+
v
(
t
)
y(t)+a_1y(t-1)+a_2y(t-2)+...+a_{n_a}y(t-n_a)=b_1u(t-1)+b_2u(t-1)+...+b_{n_b}u(t-n_b)+v(t)
y(t)+a1y(t−1)+a2y(t−2)+...+anay(t−na)=b1u(t−1)+b2u(t−1)+...+bnbu(t−nb)+v(t)移项可得
y
(
t
)
=
−
a
1
y
(
t
−
1
)
−
a
2
y
(
t
−
2
)
−
.
.
.
−
a
n
a
y
(
t
−
n
a
)
+
b
1
u
(
t
−
1
)
+
b
2
u
(
t
−
1
)
+
.
.
.
+
b
n
b
u
(
t
−
n
b
)
+
v
(
t
)
y(t)=-a_1y(t-1)-a_2y(t-2)-...-a_{n_a}y(t-n_a)+b_1u(t-1)+b_2u(t-1)+...+b_{n_b}u(t-n_b)+v(t)
y(t)=−a1y(t−1)−a2y(t−2)−...−anay(t−na)+b1u(t−1)+b2u(t−1)+...+bnbu(t−nb)+v(t)对应的辨识模型为
{
y
(
t
)
=
φ
T
(
t
)
θ
+
v
(
t
)
,
φ
(
t
)
=
[
−
y
(
t
−
1
)
,
−
y
(
t
−
2
)
,
.
.
.
,
−
y
(
t
−
n
a
)
,
u
(
t
−
1
)
,
u
(
t
−
2
)
,
.
.
.
,
u
(
t
−
n
b
)
]
T
∈
R
n
a
+
n
b
,
θ
=
[
a
1
,
a
2
,
.
.
.
,
a
n
a
,
b
1
,
b
2
,
.
.
.
,
b
n
b
]
T
∈
R
n
a
+
n
b
.
\left\{ \begin{array}{l} y(t)= \pmb{\varphi^{T}}(t)\pmb{\theta}+v(t),\\ \pmb{\varphi}(t)=[-y(t-1),-y(t-2),...,-y(t-n_a),u(t-1),u(t-2),...,u(t-n_b) ]^T\in R^{n_a+n_b},\\ \pmb{\theta}=[a_1,a_2,...,a_{n_a},b_1,b_2,...,b_{n_b}]^T\in R^{n_a+n_b}. \end{array} \right.
⎩
⎨
⎧y(t)=φT(t)θ+v(t),φ(t)=[−y(t−1),−y(t−2),...,−y(t−na),u(t−1),u(t−2),...,u(t−nb)]T∈Rna+nb,θ=[a1,a2,...,ana,b1,b2,...,bnb]T∈Rna+nb.
二、非线性系统辨识模型
1.静态非线性系统
y
=
a
x
2
+
b
x
+
c
y=ax^2+bx+c
y=ax2+bx+c
将该模型写为向量形式
y
=
[
x
2
x
1
]
[
a
b
c
]
y=\begin{bmatrix}x^2 & x & 1 \end{bmatrix} \begin{bmatrix}a \\ b \\ c\end{bmatrix}
y=[x2x1]
abc
对应的辨识模型为
{
y
=
φ
T
θ
,
φ
=
[
x
2
,
x
,
1
]
T
∈
R
3
,
θ
=
[
a
,
b
,
c
]
T
∈
R
3
.
\left\{ \begin{array}{l} y= \pmb{\varphi^{T}}\pmb{\theta},\\ \pmb{\varphi}=[x^2,x,1 ]^T\in R^{3},\\ \pmb{\theta}=[a,b,c]^T\in R^{3}. \end{array} \right.
⎩
⎨
⎧y=φTθ,φ=[x2,x,1]T∈R3,θ=[a,b,c]T∈R3.
2.动态非线性系统
y
(
t
)
=
a
1
y
(
t
−
1
)
+
a
2
y
(
t
−
2
)
y
(
t
−
3
)
+
b
1
u
(
t
)
+
b
2
u
2
(
t
−
1
)
+
c
cos
(
t
)
+
v
(
t
)
y(t)=a_1y(t-1)+a_2y(t-2)y(t-3)+b_1u(t)+b_2u^2(t-1)+c\cos (\sqrt{t})+v(t)
y(t)=a1y(t−1)+a2y(t−2)y(t−3)+b1u(t)+b2u2(t−1)+ccos(t)+v(t)
可以写为
y
(
t
)
=
[
y
(
t
−
1
)
y
(
t
−
2
)
y
(
t
−
3
)
u
(
t
)
u
2
(
t
−
1
)
cos
(
t
)
]
[
a
1
a
2
b
1
b
2
c
]
+
v
(
t
)
y(t)=\begin{bmatrix}y(t-1) & y(t-2)y(t-3) & u(t) & u^2(t-1) & \cos(\sqrt t) \end{bmatrix} \begin{bmatrix}a_1 \\ a_2 \\ b_1 \\ b_2 \\ c \end{bmatrix} +v(t)
y(t)=[y(t−1)y(t−2)y(t−3)u(t)u2(t−1)cos(t)]
a1a2b1b2c
+v(t)
对应的辨识模型为
{
y
(
t
)
=
φ
T
(
t
)
θ
+
v
(
t
)
,
φ
(
t
)
=
[
y
(
t
−
1
)
,
y
(
t
−
2
)
y
(
t
−
3
)
,
u
(
t
)
,
u
2
(
t
−
1
)
,
cos
(
t
)
]
T
∈
R
5
,
θ
=
[
a
1
,
a
2
,
b
1
,
b
2
,
c
]
T
∈
R
5
.
\left\{ \begin{array}{l} y(t)= \pmb{\varphi^{T}(t)}\pmb{\theta}+v(t),\\ \pmb{\varphi}(t)=[y(t-1),y(t-2)y(t-3),u(t),u^2(t-1),\cos(\sqrt t) ]^T\in R^{5},\\ \pmb{\theta}=[a_1,a_2,b_1,b_2,c]^T\in R^{5}. \end{array} \right.
⎩
⎨
⎧y(t)=φT(t)θ+v(t),φ(t)=[y(t−1),y(t−2)y(t−3),u(t),u2(t−1),cos(t)]T∈R5,θ=[a1,a2,b1,b2,c]T∈R5.
3.非线性系统
y
(
t
)
=
b
[
e
t
+
u
2
(
t
−
3
)
]
u
2
(
t
)
+
a
1
u
(
t
−
1
)
+
a
2
u
(
t
−
2
)
y(t)=\frac{b[e^t+u^2(t-3)]}{u^2(t)+a_1u(t-1)+a_2u(t-2)}
y(t)=u2(t)+a1u(t−1)+a2u(t−2)b[et+u2(t−3)]
为了将参数分离出来,可以通过定义新的输出
y
1
(
t
)
=
1
/
y
(
t
)
y_1(t)=1/y(t)
y1(t)=1/y(t),新的参数
θ
1
=
1
/
b
,
θ
2
=
a
1
/
b
,
θ
3
=
a
2
/
b
\theta_1=1/b,\theta_2=a_1/b,\theta_3=a_2/b
θ1=1/b,θ2=a1/b,θ3=a2/b,该模型可以变化为线性参数系统:
y
1
(
t
)
=
1
y
(
t
)
=
u
2
(
t
)
+
a
1
u
(
t
−
1
)
+
a
2
u
(
t
−
2
)
b
[
e
t
+
u
2
(
t
−
3
)
]
=
1
b
u
2
(
t
)
e
t
+
u
2
(
t
−
3
)
+
a
1
b
u
(
t
−
1
)
e
t
+
u
2
(
t
−
3
)
+
a
2
b
u
(
t
−
2
)
e
t
+
u
2
(
t
−
3
)
=
[
u
2
(
t
)
e
t
+
u
2
(
t
−
3
)
u
(
t
−
1
)
e
t
+
u
2
(
t
−
3
)
u
(
t
−
2
)
e
t
+
u
2
(
t
−
3
)
]
[
θ
1
θ
2
θ
3
]
y_1(t)=\frac{1}{y(t)}=\frac{u^2(t)+a_1u(t-1)+a_2u(t-2)}{b[e^t+u^2(t-3)]} \\=\frac{1}{b}\frac{u^2(t)}{e^t+u^2(t-3)}+\frac{a_1}{b}\frac{u(t-1)}{e^t+u^2(t-3)}+\frac{a_2}{b}\frac{u(t-2)}{e^t+u^2(t-3)} \\=\begin{bmatrix}\frac{u^2(t)}{e^t+u^2(t-3)} & \frac{u(t-1)}{e^t+u^2(t-3)} & \frac{u(t-2)}{e^t+u^2(t-3)} \end{bmatrix} \begin{bmatrix}\theta_1 \\ \theta_2 \\ \theta_3 \end{bmatrix}
y1(t)=y(t)1=b[et+u2(t−3)]u2(t)+a1u(t−1)+a2u(t−2)=b1et+u2(t−3)u2(t)+ba1et+u2(t−3)u(t−1)+ba2et+u2(t−3)u(t−2)=[et+u2(t−3)u2(t)et+u2(t−3)u(t−1)et+u2(t−3)u(t−2)]
θ1θ2θ3
对应的辨识模型为
{
y
1
(
t
)
=
φ
T
(
t
)
θ
,
φ
(
t
)
=
[
u
2
(
t
)
e
t
+
u
2
(
t
−
3
)
,
u
(
t
−
1
)
e
t
+
u
2
(
t
−
3
)
,
u
(
t
−
2
)
e
t
+
u
2
(
t
−
3
)
]
T
∈
R
3
,
θ
=
[
1
b
,
a
1
b
,
a
2
b
]
T
∈
R
3
.
\left\{ \begin{array}{l} y_1(t)= \pmb{\varphi^{T}(t)}\pmb{\theta},\\ \pmb{\varphi}(t)=[\frac{u^2(t)}{e^t+u^2(t-3)}, \frac{u(t-1)}{e^t+u^2(t-3)} ,\frac{u(t-2)}{e^t+u^2(t-3)}]^T\in R^{3},\\ \pmb{\theta}=[\frac{1}{b},\frac{a_1}{b},\frac{a_2}{b}]^T\in R^{3}. \end{array} \right.
⎩
⎨
⎧y1(t)=φT(t)θ,φ(t)=[et+u2(t−3)u2(t),et+u2(t−3)u(t−1),et+u2(t−3)u(t−2)]T∈R3,θ=[b1,ba1,ba2]T∈R3.
4.状态空间系统
{
x
(
t
+
1
)
=
A
x
(
t
)
+
b
u
(
t
)
+
ω
(
t
)
,
y
(
t
)
=
c
x
(
t
)
+
d
u
(
t
)
+
v
(
t
)
,
\left\{ \begin{array}{l} \pmb x(t+1)=\pmb {Ax}(t)+\pmb bu(t)+\pmb \omega(t),\\ y(t)=\pmb{cx}(t)+du(t)+v(t), \end{array} \right.
{x(t+1)=Ax(t)+bu(t)+ω(t),y(t)=cx(t)+du(t)+v(t),
其中
ω
(
t
)
\pmb \omega(t)
ω(t)为过程噪声向量,
v
(
t
)
v(t)
v(t)为观测噪声。
定义:
Y
(
t
)
=
[
x
(
t
+
1
)
y
(
t
)
]
,
φ
(
t
)
=
[
x
(
t
)
u
(
t
)
]
,
θ
T
=
[
A
b
c
d
]
,
e
(
t
)
=
[
ω
(
t
)
v
(
t
)
]
.
Y(t)=\begin{bmatrix} \pmb x(t+1) \\ y(t) \end{bmatrix},\pmb \varphi(t)=\begin{bmatrix} \pmb x(t) \\ u(t) \end{bmatrix},\\ \pmb \theta^T=\begin{bmatrix} \pmb A & \pmb b\\ \pmb c & d\end{bmatrix},\pmb e(t)=\begin{bmatrix} \pmb \omega(t) \\ v(t) \end{bmatrix}.
Y(t)=[x(t+1)y(t)],φ(t)=[x(t)u(t)],θT=[Acbd],e(t)=[ω(t)v(t)].
则状态空间模型对应的辨识模型为
Y
(
t
)
=
θ
T
φ
(
t
)
+
e
(
t
)
.
\pmb Y(t)=\pmb {\theta^T \varphi}(t)+\pmb e(t).
Y(t)=θTφ(t)+e(t).
参考文献
丁锋.系统辨识新论[M].北京:科学出版社,2013:10.