您当前的位置: 首页 > 

RuiH.AI

暂无认证

  • 0浏览

    0关注

    274博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

最小二乘系统辨识课 上篇:辨识模型与最小二乘

RuiH.AI 发布时间:2022-06-20 15:00:47 ,浏览量:0

最小二乘系统辨识课 上篇:辨识模型与最小二乘
  • 前言
  • 系统辨识定义
  • 默认表示方法
  • 系统模型分类
    • 自回归模型AR
    • 滑动平均模型MA
    • 滑动平均自回归模型ARMA
    • 确定性模型DARMA
    • 受控自回归模型ARX
    • 受控自回归滑动平均模型ARMAX
    • 受控ARARX模型
    • 受控ARARMA模型
    • 输出误差模型OE
    • 输出误差滑动平均模型OEMA
    • 输出误差自回归模型OEAR
    • 输出误差自回归滑动平均模型OEARMA
  • 辨识模型与最小二乘
    • 系统的辨识模型
    • 参数的最小二乘
  • 后记

前言

电脑再跑程序把CPU占满了,那就回顾一下系统辨识课的内容吧。

系统辨识定义

系统辨识可以分为两类,第一类是系统结构辨识,也就是判断系统属于哪种参数模型。第二类是已知系统结构,估计系统模型的参数。

本文总结的是第二类系统辨识的内容。

系统辨识的四大要素为:输入输出(已知),模型集合(给定),准则函数(误差函数)和优化方法(各种最小二乘迭代法)。

默认表示方法

u ( t ) , y ( t ) , v ( t ) u(t),y(t),v(t) u(t),y(t),v(t)分别表示 t 时刻系统的输出,输入,系统白噪声,白噪声服从高斯分布 v ( t ) ∼ N ( 0 , σ 2 ) v(t) \sim N(0, \sigma^2) v(t)∼N(0,σ2)。默认每个时刻 t 的输入输出是已知的,白噪声是未知的。

此外,系统参数模型可以表示为: A ( z ) = 1 + a 1 z − 1 + . . . + a n a z − n a B ( z ) = b 1 z − 1 + . . . + b n b z − n b C ( z ) = 1 + c 1 z − 1 + . . . + c n c z − n c D ( z ) = 1 + d 1 z − 1 + . . . + d n d z − n d A(z)=1+a_1z^{-1}+...+a_{n_a}z^{-n_a} \\ B(z)=b_1z^{-1}+...+b_{n_b}z^{-n_b} \\ C(z)=1+c_1z^{-1}+...+c_{n_c}z^{-n_c} \\ D(z)=1+d_1z^{-1}+...+d_{n_d}z^{-n_d} \\ A(z)=1+a1​z−1+...+ana​​z−na​B(z)=b1​z−1+...+bnb​​z−nb​C(z)=1+c1​z−1+...+cnc​​z−nc​D(z)=1+d1​z−1+...+dnd​​z−nd​ 其中, z − 1 ϕ ( t ) = ϕ ( t − 1 ) z^{-1}\phi(t)=\phi(t-1) z−1ϕ(t)=ϕ(t−1),依此类推。

例如: A ( z ) y ( t ) = B ( z ) u ( t ) + v ( t ) = > y ( t ) + a 1 y ( t − 1 ) + . . . + a n a y ( t − n a ) = b 1 u ( t − 1 ) + . . . + b n b y ( t − n b ) = > y ( t ) = − a 1 y ( t − 1 ) − . . . − a n a y ( t − n a ) + b 1 u ( t − 1 ) + . . . + b n b y ( t − n b ) A(z)y(t)=B(z)u(t)+v(t) \\ => \\ y(t)+a_1y(t-1)+...+a_{n_a}y(t-n_a)=b_1u(t-1)+...+b_{n_b}y(t-n_b) \\ => \\ y(t)=-a_1y(t-1)-...-a_{n_a}y(t-n_a)+b_1u(t-1)+...+b_{n_b}y(t-n_b) \\ A(z)y(t)=B(z)u(t)+v(t)=>y(t)+a1​y(t−1)+...+ana​​y(t−na​)=b1​u(t−1)+...+bnb​​y(t−nb​)=>y(t)=−a1​y(t−1)−...−ana​​y(t−na​)+b1​u(t−1)+...+bnb​​y(t−nb​)

系统模型分类 自回归模型AR

A ( z ) y ( t ) = v ( t ) A(z)y(t)=v(t) A(z)y(t)=v(t)

滑动平均模型MA

y ( t ) = D ( z ) v ( t ) y(t)=D(z)v(t) y(t)=D(z)v(t)

滑动平均自回归模型ARMA

A ( z ) y ( t ) = D ( z ) v ( t ) A(z)y(t)=D(z)v(t) A(z)y(t)=D(z)v(t)

确定性模型DARMA

A ( z ) y ( t ) = B ( z ) u ( t ) A(z)y(t)=B(z)u(t) A(z)y(t)=B(z)u(t)

受控自回归模型ARX

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)

受控自回归滑动平均模型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) A(z)y(t)=B(z)u(t)+D(z)v(t)

受控ARARX模型

A ( z ) y ( t ) = B ( z ) u ( t ) + 1 C ( z ) v ( t ) A(z)y(t)=B(z)u(t)+\frac{1}{C(z)}v(t) A(z)y(t)=B(z)u(t)+C(z)1​v(t)

受控ARARMA模型

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) A(z)y(t)=B(z)u(t)+C(z)D(z)​v(t)

输出误差模型OE

y ( t ) = B ( z ) A ( z ) u ( t ) + v ( t ) y(t)=\frac{B(z)}{A(z)}u(t)+v(t) y(t)=A(z)B(z)​u(t)+v(t)

输出误差滑动平均模型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) y(t)=A(z)B(z)​u(t)+D(z)v(t)

输出误差自回归模型OEAR

y ( t ) = B ( z ) A ( z ) u ( t ) + 1 C ( z ) v ( t ) y(t)=\frac{B(z)}{A(z)}u(t)+\frac{1}{C(z)}v(t) y(t)=A(z)B(z)​u(t)+C(z)1​v(t)

输出误差自回归滑动平均模型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)=A(z)B(z)​u(t)+C(z)D(z)​v(t)

辨识模型与最小二乘 系统的辨识模型

上面的各种系统模型,经过移项或替换后都可以统一写成下面这样的形式: y ( t ) = φ T ( t ) θ + v ( t ) y(t)=\varphi^T(t)\theta+v(t) \\ y(t)=φT(t)θ+v(t) 其中, y ( t ) y(t) y(t)已知, v ( t ) v(t) v(t)未知, φ T ( t ) \varphi^T(t) φT(t)是否已知需要根据具体的移项操作判断,如果 φ T ( t ) \varphi^T(t) φT(t),则还需要替换成已知量,这是参数辨识的关键。

假设有如下的多输入单输出线性回归模型,其中 x i ( t ) , y ( t ) x_i(t), y(t) xi​(t),y(t)分别表示 t 时刻的输入分量和输出, θ n \theta_n θn​表示输入分量的权重参数: y ( t ) = θ 1 x 1 ( t ) + θ 2 x 2 ( t ) + . . . + θ n x n ( t ) + v ( t ) 设 : φ ( t ) = [ x 1 ( t ) x 2 ( t ) . . . x n ( t ) ] T θ = [ θ 1 θ 2 . . . θ n ] T 有 : y ( t ) = φ T ( t ) θ + v ( t ) y(t)=\theta_1x_1(t) + \theta_2x_2(t) + ... + \theta_nx_n(t) + v(t) \\ \quad \\ 设:\varphi(t)=[x_1(t)\quad x_2(t) \quad ... \quad x_n(t)]^T \\ \quad \\ \theta = [\theta_1 \quad \theta_2 \quad ... \theta_n]^T \\ \quad \\ 有:y(t)=\varphi^T(t)\theta+v(t) y(t)=θ1​x1​(t)+θ2​x2​(t)+...+θn​xn​(t)+v(t)设:φ(t)=[x1​(t)x2​(t)...xn​(t)]Tθ=[θ1​θ2​...θn​]T有:y(t)=φT(t)θ+v(t)

这就构建了该系统的辨识模型。辨识目的是获得参数 θ \theta θ的估计值。

参数的最小二乘

我们的目的是估计模型参数 θ \theta θ,并且系统辨识模型中当前时刻与之前时刻的输入输出 y ( t ) y(t) y(t)和 φ T ( t ) \varphi^T(t) φT(t)都是已知的,即: { y ( 1 ) = φ T ( 1 ) θ + v ( 1 ) y ( 2 ) = φ T ( 2 ) θ + v ( 2 ) . . . y ( t ) = φ T ( t ) θ + v ( t ) 设 : Y t = [ y ( 1 ) y ( 2 ) . . . y ( t ) ] T H t = [ φ ( 1 ) φ ( 2 ) . . . φ ( t ) ] T V t = [ v ( 1 ) v ( 2 ) . . . v ( n ) ] T 有 : Y t = H t θ + V t \left \{ \begin{aligned} y(1)&=\varphi^T(1)\theta+v(1) \\ y(2)&=\varphi^T(2)\theta+v(2) \\ &... \\ y(t)&=\varphi^T(t)\theta+v(t) \end{aligned} \right . \\ \quad \\ \begin{aligned} 设: Y_t&=[y(1)\quad y(2)\quad ... \quad y(t)]^T \\ H_t&=[\varphi(1) \quad \varphi(2) \quad ... \quad \varphi(t)]^T \\ V_t&=[v(1) \quad v(2) \quad ... \quad v(n)]^T \end{aligned} \\ \quad \\ 有: Y_t=H_t\theta +V_t ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧​y(1)y(2)y(t)​=φT(1)θ+v(1)=φT(2)θ+v(2)...=φT(t)θ+v(t)​设:Yt​Ht​Vt​​=[y(1)y(2)...y(t)]T=[φ(1)φ(2)...φ(t)]T=[v(1)v(2)...v(n)]T​有:Yt​=Ht​θ+Vt​

我们希望估计的参数 θ ^ \hat \theta θ^能够使系统输出误差尽量小: J ( θ ) = ∑ i = 1 t v 2 ( i ) = ∑ i = 1 t [ y ( i ) − φ T ( i ) θ ] 2 = V t T V t = ( Y t − H t θ ) T ( Y t − H t θ ) θ ^ L S = arg min ⁡ θ J ( θ ) J(\theta)= \sum_{i=1}^t v^2(i) = \sum_{i=1}^t [y(i)-\varphi^T(i)\theta]^2 \\ =V_t^TV_t = (Y_t-H_t\theta)^T(Y_t-H_t\theta) \\ \quad \\ \hat \theta_{LS} = \argmin_\theta J(\theta) J(θ)=i=1∑t​v2(i)=i=1∑t​[y(i)−φT(i)θ]2=VtT​Vt​=(Yt​−Ht​θ)T(Yt​−Ht​θ)θ^LS​=θargmin​J(θ)

求 J ( θ ) J(\theta) J(θ)取极值时的 θ ^ \hat \theta θ^,就是参数的最小二乘估计: d J d θ = H t T ( Y t − H t θ ^ ) = 0 ( H t T H t ) θ ^ L S = H t T Y t θ ^ L S = ( H t T H t ) − 1 H t T Y t \frac{dJ}{d\theta} = H_t^T(Y_t-H_t\hat \theta)=0 \\ (H_t^TH_t)\hat \theta_{LS} = H_t^TY_t \\ \hat\theta_{LS} = (H_t^TH_t)^{-1}H_t^TY_t dθdJ​=HtT​(Yt​−Ht​θ^)=0(HtT​Ht​)θ^LS​=HtT​Yt​θ^LS​=(HtT​Ht​)−1HtT​Yt​

后记

中篇将继续学习辨识模型的递归最小二乘算法。

关注
打赏
1658651101
查看更多评论
立即登录/注册

微信扫码登录

0.0445s