最小二乘法及参数辨识

news2024/10/5 14:19:19

文章目录

  • 一、最小二乘法
    • 1.1 定义
    • 1.2 SISO系统运用最小二乘估计进行辨识
    • 1.3 几何解释
    • 1.4 最小二乘法性质
  • 二、加权最小二乘法
  • 三、递推最小二乘法
  • 四、增广最小二乘法

一、最小二乘法

1.1 定义

1974年高斯提出的最小二乘法的基本原理是未知量的最可能值是使各项实际观测值和计算值之间差的平方乘以其精确度的数值以后的和为最小。
z ( k ) = y ( k ) + v ( k ) z(k)=y(k)+v(k) z(k)=y(k)+v(k)
z ( k ) z(k) z(k)为观测值, y ( k ) y(k) y(k)为计算值, v ( k ) v(k) v(k)误差。
最小二乘法为 m i n   ∑ k = 1 m w ( k ) ∣ z ( k ) − y ( k ) ∣ 2 min \ \sum_{k=1}^mw(k)|z(k)-y(k)|^2 min k=1mw(k)z(k)y(k)2
w(k)为精确度。

通过一个例子来理解最小二乘法。
通过试验确定热敏电阻阻值和温度间的关系如下表所示:

t(℃) t 1 t_1 t1 t 2 t_2 t2 ⋯ \cdots t N − 1 t_{N-1} tN1 t N t_N tN
R( Ω \Omega Ω) R 1 R_1 R1 R 2 R_2 R2 ⋯ \cdots R N − 1 R_{N-1} RN1 R N R_N RN

在这里插入图片描述
用直线 y = a + b t y=a+bt y=a+bt拟合该曲线,a和b为待估计参数。
每次测量总是存在随机误差。
y i = R i + v i y_i=R_i+v_i yi=Ri+vi

当采用每次测量的随机误差的平方和最小时,即
J m i n = ∑ i = 1 N v i 2 = ∑ i = 1 N [ R i − ( a + b t i ) ] 2 J_{min}=\sum_{i=1}^Nv_i^2=\sum_{i=1}^N[R_i-(a+bt_i)]^2 Jmin=i=1Nvi2=i=1N[Ri(a+bti)]2
,平方运算又称二乘,而且又是按照J最小来估计a和b的,称这种方法为最小二乘估计算法,简称最下二乘法。

为什么用平方呢?因为平方可以求导。


利用最小二乘法求取模型参数
若使得J最小,利用求极值的方法得

整理得

解方程组得


1.2 SISO系统运用最小二乘估计进行辨识

对于SISO系统,被辨识模型传递函数为:

对其离散化,对应的差分方程为

若考虑噪声影响

式中, z ( k ) z(k) z(k)为系统输出量的第 k k k次观测值; y ( k ) y(k) y(k)为系统输出量的第 k k k次真值; u ( k ) u(k) u(k)为系统的第 k k k个输入值; v ( k ) v(k) v(k)是均值为0的随机噪声。

定义

z ( k ) z(k) z(k)可写为
z ( k ) = h ( k ) θ + v ( k ) z(k)=h(k)\theta+v(k) z(k)=h(k)θ+v(k)
式中, θ \theta θ为待估计参数。

k = 1 , 2 , ⋯   , m k=1,2,\cdots,m k=1,2,,m,则有

最小二乘的思想就是寻找一个 θ \theta θ的估计值 θ ^ \hat\theta θ^,使得各次测量的 Z i ( i = 1 , ⋯   , m ) Z_i(i=1,\cdots,m) Zi(i=1,,m)与由估计 θ ^ \hat\theta θ^确定的量测估计 Z i ^ = H i θ ^ \hat{Z_i}=H_i\hat\theta Zi^=Hiθ^之差的平方和最小,即

根据极值定理:

如果 H m H_m Hm的行数大于等于行数,即 m ⩾ 2 n m\geqslant2n m2n H m T H m H_m^TH_m HmTHm满秩,即 r a n k ( H m T H m ) = 2 n rank(H_m^TH_m)=2n rank(HmTHm)=2n,则 ( H m T H m ) − 1 (H_m^TH_m)^{-1} (HmTHm)1存在。则 θ \theta θ的最小二乘估计为
θ ^ = ( H m T H m ) − 1 H m T Z m \hat\theta=(H_m^TH_m)^{-1}H_m^TZ_m θ^=(HmTHm)1HmTZm

1.3 几何解释

在这里插入图片描述
H m θ ^ H_m\hat\theta Hmθ^应该等于 Z m Z_m Zm h ( 1 ) , h ( 2 ) , ⋯   , h ( m ) {h(1),h(2),\cdots,h(m)} h(1),h(2),,h(m)的张成空间的投影。

1.4 最小二乘法性质

  1. 最小二乘估计是无偏估计
    如果参数估计的数学期望等于参数的真值,则称估计是无偏的。
    E ( θ ^ ) = 0 或 E ( θ ~ ) = 0 E(\hat\theta)=0或E(\tilde\theta)=0 E(θ^)=0E(θ~)=0
  2. 最小二乘估计是有效估计
    有效估计就是具有最小方差的估计。
    E ( θ ~ θ ~ T ) = ( H m T H m ) − 1 H m T R H m ( H m T H m ) − 1 最小 E(\tilde\theta\tilde\theta^T)=(H_m^TH_m)^{-1}H_m^TRH_m(H_m^TH_m)^{-1}最小 E(θ~θ~T)=(HmTHm)1HmTRHm(HmTHm)1最小
  3. 最小二乘估计是一致估计
    如果随着测量次数 m m m的增加, θ ^ m \hat\theta_m θ^m依概率收敛于真值 θ \theta θ,则称 θ ^ m \hat\theta_m θ^m θ \theta θ的一致估计。
    l i m m → ∞ p ( ∣ θ ^ m − θ ∣ > ε ) = 0 lim_{m\to \infty}p(|\hat\theta_m-\theta|>\varepsilon)=0 limmp(θ^mθ>ε)=0

二、加权最小二乘法

一般最小二乘估计精度不高的原因之一是对测量数据同等对待;由于各次测量数据很难在相同的条件下获得的,因此存在有的测量值置信度高,有的测量值置信度低的问题。对不同置信度的测量值采用加权的办法分别对待,置信度高的,权重取得大些;置信度低的,权重取的小些。

式中, W m W_m Wm为加权矩阵,它是一个对称正定矩阵,通常取为对角矩阵,即 W m = d i a g [ w ( 1 )   w ( 2 ) ⋯   w ( m ) ] W_m=diag[w(1)\ w(2)\cdots \ w(m)] Wm=diag[w(1) w(2) w(m)]

θ ^ = ( H m T W m H m ) − 1 H m T W m Z m \hat\theta=(H_m^TW_mH_m)^{-1}H_m^TW_mZ_m θ^=(HmTWmHm)1HmTWmZm
如果 W m = R − 1 W_m=R^{-1} Wm=R1
θ ^ = ( H m T R − 1 H m ) − 1 H m T R − 1 Z m \hat\theta=(H_m^TR^{-1}H_m)^{-1}H_m^TR^{-1}Z_m θ^=(HmTR1Hm)1HmTR1Zm
又称马尔可夫估计。
马尔可夫估计的均方误差为
E ( θ ~ θ ~ T ) = ( H m T R − 1 H m ) − 1 E(\tilde\theta\tilde\theta^T)=(H_m^TR^{-1}H_m)^{-1} E(θ~θ~T)=(HmTR1Hm)1
马尔可夫估计的均方误差比任何其他加权最小二乘估计的均方误差都要小,所以是加权最小二乘估计中的最优者。

加权最小二乘估计也满足无偏性、有效性、一致性。

三、递推最小二乘法

当前估计值 θ ^ ( k ) \hat\theta(k) θ^(k)=上次估计值 θ ^ ( k − 1 ) \hat\theta(k-1) θ^(k1)+修正项

根据加权最小二乘法,利用 m 次测量数据所得到的估值
θ ^ = ( H m T W m H m ) − 1 H m T W m Z m \hat\theta=(H_m^TW_mH_m)^{-1}H_m^TW_mZ_m θ^=(HmTWmHm)1HmTWmZm
当新获得一对输入、输出数据时
z ( m + 1 ) = h ( m + 1 ) θ + v ( m + 1 ) z(m+1)=h(m+1)\theta+v(m+1) z(m+1)=h(m+1)θ+v(m+1)
利用m+1次输入、输出数据,得到的方程为 Z m + 1 = H m + 1 θ + V m + 1 Z_{m+1}=H_{m+1}\theta+V_{m+1} Zm+1=Hm+1θ+Vm+1
θ ^ m + 1 = ( H m + 1 T W m + 1 H m + 1 ) − 1 H m + 1 T W m + 1 Z m + 1 \hat\theta_{m+1}=(H_{m+1}^TW_{m+1}H_{m+1})^{-1}H_{m+1}^TW_{m+1}Z_{m+1} θ^m+1=(Hm+1TWm+1Hm+1)1Hm+1TWm+1Zm+1
W m + 1 = [ W m 0 0 w ( m + 1 ) ] W_{m+1}=\begin{bmatrix} W_m & 0 \\ 0 & w(m+1) \end{bmatrix} Wm+1=[Wm00w(m+1)]
如果设 P m = [ H m T W m H m ] − 1 P_m=[H_m^TW_mH_m]^{-1} Pm=[HmTWmHm]1
P m + 1 = [ H m + 1 T W m + 1 H m + 1 ] − 1 P_{m+1}=[H_{m+1}^TW_{m+1}H_{m+1}]^{-1} Pm+1=[Hm+1TWm+1Hm+1]1
则有 θ ^ m = P m H m T W m Z m \hat\theta_m=P_mH_m^TW_mZ_m θ^m=PmHmTWmZm
θ ^ m + 1 = P m + 1 H m + 1 T W m + 1 Z m + 1 \hat\theta_{m+1}=P_{m+1}H_{m+1}^TW_{m+1}Z_{m+1} θ^m+1=Pm+1Hm+1TWm+1Zm+1


P ( m ) − P ( m + 1 ) ⩾ 0 P(m)-P(m+1)\geqslant0 P(m)P(m+1)0,随着递推次数的增加, P ( m ) P(m) P(m) K ( m ) K(m) K(m)逐渐减小,直至趋于0。数据饱和后,由于递推计算的舍入误差,不仅新的观测值对参数估计不起修正作用,反而使 P ( m ) P(m) P(m)失去正定性,导致估计误差增加。
当系统参数随时间变化时,因新数据被旧数据淹没,递推算法无法直接使用。为适应时变参数的情况,修改算法时旧数据的权重(降低),增加新数据的作用。
主要方法有数据窗法和Kalman滤波法。

四、增广最小二乘法

对比:

方法优点缺点
一般最小二乘法白噪声可得无偏渐进无偏估计;算法简单可靠;计算量小;一次即可完成算法,适合离线辨识当矩阵维度增加时,矩阵求逆运算会急剧增加,给计算机的运算速度和存储量带来负担
递推最小二乘法可以减小数据存储量,避免矩阵求逆,减少计算量会出现数据饱和现象
增广最小二乘法将噪声模型的辨识同时考虑进去当数据长度较大时,辨识精度低于极大似然法

参考:
[1]刘金琨,沈晓蓉,赵龙.系统辨识理论及MATLAB仿真[M].电子工业出版社,2013.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1209524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(四)

你可以的&#xff0c;去飞吧&#xff01; 同步代码和异步代码 回调函数地狱和 Promise 链式调用 回调函数地狱 缔造“回调地狱”↓ 制造里层回调错误&#xff0c;却在最外层接收错误→无法捕获 axios源码抛出异常&#xff08;未捕获&#xff09; <!DOCTYPE html> <ht…

Elastic stack8.10.4搭建、启用安全认证,启用https,TLS,SSL 安全配置详解

ELK大家应该很了解了&#xff0c;废话不多说开始部署 kafka在其中作为消息队列解耦和让logstash高可用 kafka和zk 的安装可以参考这篇文章 深入理解Kafka3.6.0的核心概念&#xff0c;搭建与使用-CSDN博客 第一步、官网下载安装包 需要 elasticsearch-8.10.4 logstash-8.…

(论文阅读30/100)Convolutional Pose Machines

30.文献阅读笔记CPMs 简介 题目 Convolutional Pose Machines 作者 Shih-En Wei, Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh, CVPR, 2016. 原文链接 https://arxiv.org/pdf/1602.00134.pdf 关键词 Convolutional Pose Machines&#xff08;CPMs&#xff09;…

STM32中使用看门狗实现系统自动复位

STM32中的看门狗(Watchdog)是一种用于监控系统运行状态并在系统故障或死锁时执行自动复位的硬件功能。在本文中&#xff0c;我将介绍如何在STM32微控制器中使用看门狗来实现系统的自动复位。下面是详细的解释&#xff1a; 一、看门狗原理简介 看门狗是一种独立的硬件计时器&am…

C/C++计算乘积 2021年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C计算乘积 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C计算乘积 2021年9月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 给定两个数a,b&#xff0c;计算它们的乘积 2、输入输出…

Spring 6 资源Resources 相关操作

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 1、Spring Resources概述 Java的标准java.net.URL类和各种URL前缀的标准处理程序无法满足所有对low-level资源的访问&#xff0c;比如&#xff1a;没有标准化的 URL 实现可用于访问需要从类路径或相对于 ServletCont…

VScode+python开发,多个解释器切换问题

内容&#xff1a;主要VScode使用多个解释器 环境准备 VScode编辑器&#xff0c;两个版本python解释器 python3.7.2 python3.11.6 问题&#xff1a; 目前我们的电脑安装了python3.7.2、python3.11.6两个解释器&#xff0c;在vscode编辑器中&#xff0c;无法切换解释器使用如…

核心!华为自研系统鸿蒙趋势

鸿蒙系统的推出引起了全球的关注&#xff0c;毕竟这是华为自主研发的操作系统。这个系统有一些特点很独特。首先&#xff0c;它的自主可控性是一大特色。因为是自家研发的&#xff0c;所以更容易适应外界变化。其次&#xff0c;它采用了分布式架构&#xff0c;这样不同设备之间…

目标检测,行人检测,出现了检测框和人物不在一起的情况,怎么解决---一定是配置文件的原因

今天测试发现人物检测有结果输出&#xff0c;但是发现检测出来的检测框和人物不匹配 但是奇怪的的是在orin中可以 再nx中就不行 结局复制所有orin的程序到nx就可以运行&#xff0c;最后对比配置文件发现是配置文件里不一样 dstest3_config.xml里的tiler不一样 orin中的 tiler: …

【python】Django——templates模板、静态文件、django模板语法、请求和响应

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 【Django专栏】 Django——django简介、django安装、创建项目、快速上手 Django——templates模板、静态文件、django模板语法、请求和响应 templates模板按app顺序寻找模板全局模板 静态文件jqueryBootstrap dja…

数据结构第四课 -----线性表之栈

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

hadoop 大数据环境配置 配置jdk, hadoop环境变量 配置centos环境变量 hadoop(五)

1. 遗漏一步配置系统环境变量&#xff0c;下面是步骤&#xff0c;别忘输入更新系统环境命令 2. 将下载好得压缩包上传至服务器&#xff1a; /opt/module 解压缩文件存放地址 /opt/software 压缩包地址 3. 配置环境变量&#xff1a; 在/etc/profile.d 文件夹下创建shell文件 …

redis基线检查

1、禁止使用 root 用户启动 | 访问控制 描述: 使用root权限来运行网络服务存在较大的风险。Nginx和Apache都有独立的work用户,而Redis没有。例如,Redis的Crackit漏洞就是利用root用户权限替换或增加authorize_keys,从而获取root登录权限。 加固建议: 使用root切换到re…

【nlp】2.4 GRU模型

GRU模型 1 GRU介绍2 GRU的内部结构图2.1 GRU结构分析2.2 Bi-GRU介绍2.3 使用Pytorch构建GRU模型2.4 GRU优缺点3 RNN及其变体1 GRU介绍 GRU(Gated Recurrent Unit)也称门控循环单元结构, 它也是传统RNN的变体, 同LSTM一样能够有效捕捉长序列之间的语义关联, 缓解梯度消失或爆…

【vue】AntDV组件库中a-upload实现文件上传:

文章目录 一、文档&#xff1a;二、使用(以Jeecg为例)&#xff1a;【1】template&#xff1a;【2】script&#xff1a; 三、效果图&#xff1a; 一、文档&#xff1a; Upload 上传–Ant Design Vue 二、使用(以Jeecg为例)&#xff1a; 【1】template&#xff1a; <a-uploa…

windows系统pycharm程序通过urllib下载权重https报错解决

报错内容&#xff1a; raise URLError(unknown url type: %s % type) urllib.error.URLError: <urlopen error unknown url type: https> 解决办法记录&#xff1a; 1. 下载 pyopenssl : pip install pyopenssl 此时&#xff0c; import ssl 可以通过提示指导你安…

Django(五、视图层)

文章目录 一、视图层1.视图函数返回值的问题2.三板斧的使用结论&#xff1a;在视图文件中写视图函数的时候不能没有返回值&#xff0c;默认返回的是None&#xff0c;但是页面上会报错&#xff0c;用来处理请求的视图函数都必须返回httpResponse对象。 二、JsonReponse序列化类的…

使用字典树实现一个可以自动补全的输入框

说在前面 平时我们在终端输入命令的时候是不是都可以通过tab键来进行快速补全&#xff1f;那么有没有想过怎么去实现这个自动补全的功能呢&#xff1f;今天让我们一起来使用字典树实现一个可以自动补全的输入框。 效果展示 体验地址 http://jyeontu.xyz/jvuewheel/#/JAutoComp…

相约黄浦江畔,汇聚AI与边缘计算的力量

很高兴告诉您&#xff1a;全球边缘计算大会上海站即将盛大启幕&#xff01; 第八届全球边缘计算大会将于12月16日&#xff08;周六&#xff09;在上海黄浦江旁边的三至喜来登酒店召开&#xff0c;距离这场边缘计算年度盛会开幕仅剩最后35天啦&#xff01; 参会收益 开阔视野&am…

【python】爬取酷狗音乐Top500排行榜【附源码】

一、导入必要的模块&#xff1a; 这篇博客将介绍如何使用Python编写一个爬虫程序&#xff0c;从斗鱼直播网站上获取图片信息并保存到本地。我们将使用requests模块发送HTTP请求和接收响应&#xff0c;以及os模块处理文件和目录操作。 如果出现模块报错 进入控制台输入&#xff…