最小二乘系统辨识课 上篇:辨识模型与最小二乘
最小二乘系统辨识课 上篇:辨识模型与最小二乘
- 前言
- 系统辨识定义
- 默认表示方法
- 系统模型分类
- 自回归模型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+a1z−1+...+anaz−naB(z)=b1z−1+...+bnbz−nbC(z)=1+c1z−1+...+cncz−ncD(z)=1+d1z−1+...+dndz−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)+a1y(t−1)+...+anay(t−na)=b1u(t−1)+...+bnby(t−nb)=>y(t)=−a1y(t−1)−...−anay(t−na)+b1u(t−1)+...+bnby(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)1v(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)1v(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)=θ1x1(t)+θ2x2(t)+...+θnxn(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)设:YtHtVt=[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∑tv2(i)=i=1∑t[y(i)−φT(i)θ]2=VtTVt=(Yt−Htθ)T(Yt−Htθ)θ^LS=θargminJ(θ)
求 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(HtTHt)θ^LS=HtTYtθ^LS=(HtTHt)−1HtTYt
后记
中篇将继续学习辨识模型的递归最小二乘算法。
最小二乘系统辨识课 上篇:辨识模型与最小二乘相关推荐
- python做系统辨识_python实现一般最小二乘系统辨识方法
问题: 对于一个未知参数的系统,往往需要用到系统辨识的方法,例如对于一个单输入单输出系统: Z(k)+a1*Z(k-1)+a2*Z(k-2)=b1*U(k-1)+b2*U(k-2)+V(k) 其中:V ...
- 最小二乘、加权最小二乘(WLS)、迭代加权最小二乘(迭代重加全最小二乘)(IRLS)
最小二乘.加权最小二乘(WLS).迭代加权最小二乘(迭代重加全最小二乘)(IRLS) 最小二乘: 最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找数据的最佳函数匹配.利用最 ...
- 0.0 目录-深度学习第五课《序列模型》-Stanford吴恩达教授
文章目录 目录 第五课 第四课 第三课 第二课 第一课 目录 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1. ...
- Transformer课程 第8课 NER案例模型训练及预测
Transformer课程 第8课 NER案例模型训练及预测 Train Our Classification Model 现在,我们的输入数据已正确格式化,是时候对BERT模型进行微调了. 4.1. ...
- 副业案例一:变现100万美元的国外网课销售漏斗模型案例
副业案例一:变现100万美元的国外网课销售漏斗模型案例 引流,在facebook上进行视频广告投放,标题要吸引人 引导注册,等级名字,EMAIL,用户自主选择观看时间,并通过email地址提前10分钟 ...
- Python小白的数学建模课-09.微分方程模型
小白往往听到微分方程就觉得害怕,其实数学建模中的微分方程模型不仅没那么复杂,而且很容易写出高水平的数模论文. 本文介绍微分方程模型的建模与求解,通过常微分方程.常微分方程组.高阶常微分方程 3个案例手 ...
- 基于模型参考自适应的永磁同步电机参数辨识模型
基于模型参考自适应的永磁同步电机参数辨识模型 编号:7540655961097765三人班
- 永磁同步电机参数辨识模型,在线辨识,离线辨识
永磁同步电机参数辨识模型,在线辨识,离线辨识,电参数机械参数均可辨识,基于最小二乘法,滑模观测,电压注入,模型参考自适应等 机械参数在线 离线 ,电气参数在线 离线 指明要哪个 q ID:695066 ...
- R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类...
原文链接:http://tecdat.cn/?p=21379 本文我们对逻辑回归和样条曲线进行介绍. logistic回归基于以下假设:给定协变量x,Y具有伯努利分布, 目的是估计参数β. 回想一下, ...
最新文章
- 专访陈天桥:把钱投给甘坐冷板凳的AI研究员
- HDU_1087-Super Jumping! Jumping! Jumping!
- Linux-鸟菜-6-文件与目录的 默认权限、隐藏权、特殊权限
- 统计5个字符串回文个数c语言,第一章 字符串 – 1.5 最长回文子串 - 编程之法:面试和算法心得...
- java jtable 单元格编辑_java – 在基于JTable面板的单元格编辑器中...
- pytorch使用torch.nn.Sequential构建网络
- mybatis log4j 在日志中打印sql_SpringBoot整合MyBatis+详细打印执行SQL语句
- radiobutton模拟tab点击效果
- 矩阵运算_SLAM中用到的矩阵计算_基本公式及知识汇总
- excel npoi 连接_Asp.Net使用Npoi导入导出Excel的方法
- 运筹学_化标准型_week2
- Gstreamer学习笔记(5):GStreamer Pad and Capabilities Negotiation
- VM虚拟机下载安装步骤
- Eloquent ORM
- android模拟微信聊天功能,android仿微信聊天界面 语音录制功能
- 阿里云HaaS100物联网开发板学习笔记(三)轻应用初步--用js让小灯闪烁起来
- stata半个小时入门篇
- 【大数据存储技术】实验2:MongoDB数据库的部署和操作
- 10大网络美女排行榜(组图)(*^__^*) ……
- Baumer工业相机堡盟工业相机中彩色工业相机和黑白工业相机像素格式的区别和优点以及行业应用
热门文章
- input js赋值 text_javascript怎么给文本框赋值?
- vs code 使用eslint prettier插件格式化eslint
- 二维码制作完成后,还能修改二维码的内容吗?
- 计算机制图专业培训班,CAD机械制图培训班
- 结构力学计算软件_有限元分析软件能够带来什么优势?
- 自由之剑之游侠在线使用方法(三)
- sql---distinct函数用法
- 2020江苏省大学生计算机设计大赛,我校学生在2020年中国大学生计算机设计大赛江苏省级赛中喜获佳绩...
- CameraBag Pro for Mac(照片滤镜处理软件)
- c语言8 8点阵,共阴共阳的疑问解答以及8*8LED点阵基础知识讲解