递推最小二乘法RLS公式详细推导

整理递推最小二乘法推导过程自我整理。
递推最小二乘估计(RLS)作为一种估计方式是在最小二乘法(LS)的基础上发展来的。
最小二乘法可以解决的问题是不需要知道先验的概率知识以及观察值的自相关和观察值与估计值之间的互相关等先验条件。
如果各次观察值反映了待估参数的线性组合,即表示成:
y=[x1…xk][θ1⋮θk]y=\left[\begin{array}{lll}x_{1} & \dots & x_{k}\end{array}\right]\left[\begin{array}{l}\theta_{1} \\ \vdots \\ \theta_{k}\end{array}\right]y=[x1​​…​xk​​]⎣⎢⎡​θ1​⋮θk​​⎦⎥⎤​
已知k组观测值y和k组系数x矩阵的分布,来求θ\thetaθ的估计。用矩阵的形式来表达为:
[y1⋮yk]=[ϕ1T⋮ϕkT]\left[\begin{array}{c}y_{1} \\ \vdots \\ y_{k}\end{array}\right]=\left[\begin{array}{c}\phi_{1}^{T} \\ \vdots \\ \phi_{k}^{T}\end{array}\right]⎣⎢⎡​y1​⋮yk​​⎦⎥⎤​=⎣⎢⎡​ϕ1T​⋮ϕkT​​⎦⎥⎤​
Φk=[ϕ1T⋮ϕkT]∈RkNn\Phi_{k}=\left[\begin{array}{c}\phi_{1}^{T} \\ \vdots \\ \phi_{k}^{T}\end{array}\right] \in \mathbb{R}^{k_{N n}}Φk​=⎣⎢⎡​ϕ1T​⋮ϕkT​​⎦⎥⎤​∈RkNn​
Θ=[θ1⋮θn]∈Rn×1\Theta=\left[\begin{array}{c}\theta_{1} \\ \vdots \\ \theta_{n}\end{array}\right] \in \mathbb{R}^{n \times 1}Θ=⎣⎢⎡​θ1​⋮θn​​⎦⎥⎤​∈Rn×1
令Φk=[ϕ1T⋮ϕkT]∈Rk×n\Phi_{k}=\left[\begin{array}{c}\phi_{1}^{T} \\ \vdots \\ \phi_{k}^{T}\end{array}\right] \in \mathbb{R}^{k\times\ n}Φk​=⎣⎢⎡​ϕ1T​⋮ϕkT​​⎦⎥⎤​∈Rk× n
则最小二乘法观测值Θ\ThetaΘ的解为
Θ^k=(ΦkTΦk)−1ΦkTYk\hat{\Theta}_{k}=\left(\Phi_{k}^{T} \Phi_{k}\right)^{-1} \Phi_{k}^{T} Y_{k}Θ^k​=(ΦkT​Φk​)−1ΦkT​Yk​
下面推导递推的形式:
令Pk−1=ΦkTΦkP_{k}^{-1}=\Phi_{k}^{T} \Phi_{k}Pk−1​=ΦkT​Φk​
现在讨论Θ\ThetaΘ的解的项中的因子
则Pk−1=ΦkTΦk=[ϕ1ϕ2⋯ϕk][ϕ1Tϕ2I⋮ϕkT]=∑i=1nϕiϕiT=∑i=1n−1ϕiϕiT+ϕkϕkT=Pk−1−1+ϕkϕkTP_{k}^{-1}=\Phi_{k}^{T} \Phi_{k}=\left[\begin{array}{llll}\phi_{1} & \phi_{2} & \cdots & \phi_{k}\end{array}\right]\left[\begin{array}{c}\phi_{1}^{T} \\ \phi_{2}^{I} \\ \vdots \\ \phi_{k}^{T}\end{array}\right]=\sum_{i=1}^{n} \phi_{i} \phi_{i}^{T}=\sum_{i=1}^{n-1} \phi_{i} \phi_{i}^{T}+\phi_{k} \phi_{k}^{T}=P_{k-1}^{-1}+\phi_{k} \phi_{k}^{T}Pk−1​=ΦkT​Φk​=[ϕ1​​ϕ2​​⋯​ϕk​​]⎣⎢⎢⎢⎡​ϕ1T​ϕ2I​⋮ϕkT​​⎦⎥⎥⎥⎤​=∑i=1n​ϕi​ϕiT​=∑i=1n−1​ϕi​ϕiT​+ϕk​ϕkT​=Pk−1−1​+ϕk​ϕkT​
ΦkTyk=[ϕ1ϕ2⋯ϕk][y1y2⋮yk]=∑i=1nϕiyi=∑i=1n−1ϕiyi+ϕkyk=Φk−1Tyk−1+ϕkyk\Phi_{k}^{T} \mathbf{y}_{k}=\left[\begin{array}{llll}\phi_{1} & \phi_{2} & \cdots & \phi_{k}\end{array}\right]\left[\begin{array}{c}y_{1} \\ y_{2} \\ \vdots \\ y_{k}\end{array}\right]=\sum_{i=1}^{n} \phi_{i} y_{i}=\sum_{i=1}^{n-1} \phi_{i} y_{i}+\phi_{k} y_{k}=\Phi_{k-1}^{T} \mathbf{y}_{k-1}+\phi_{k} y_{k}ΦkT​yk​=[ϕ1​​ϕ2​​⋯​ϕk​​]⎣⎢⎢⎢⎡​y1​y2​⋮yk​​⎦⎥⎥⎥⎤​=∑i=1n​ϕi​yi​=∑i=1n−1​ϕi​yi​+ϕk​yk​=Φk−1T​yk−1​+ϕk​yk​
由以上两式得到:
Pk−1=Pk−1−1+ϕkϕkTP_{k}^{-1}=P_{k-1}^{-1}+\phi_{k} \phi_{k}^{T}Pk−1​=Pk−1−1​+ϕk​ϕkT​ (1)
Φkryk=Φk−1Tyk−1+ϕkyk\Phi_{k}^{r} \mathbf{y}_{k}=\Phi_{k-1}^{T} \mathbf{y}_{k-1}+\phi_{k} y_{k}Φkr​yk​=Φk−1T​yk−1​+ϕk​yk​ (2)
θ^k=(ΦTΦk)−1ΦkTyk=PkΦkTyk=Pk(Φk−1Tyk−1+ϕkyk)\hat{\theta}_{k}=\left(\Phi^{T} \Phi_{k}\right)^{-1} \Phi_{k}^{T} y_{k}=P_{k} \Phi_{k}^{T} y_{k}=P_{k}\left(\Phi_{k-1}^{T} y_{k-1}+\phi_{k} y_{k}\right)θ^k​=(ΦTΦk​)−1ΦkT​yk​=Pk​ΦkT​yk​=Pk​(Φk−1T​yk−1​+ϕk​yk​) (3)
因为θ^k−1=Pk−1(Φk−1Tyk−1)\hat{\theta}_{k-1}=P_{k-1}\left(\Phi_{k-1}^{T} y_{k-1}\right)θ^k−1​=Pk−1​(Φk−1T​yk−1​)
所以有Pk−1θ^k=ΦkTykP_{k}^{-1} \hat{\theta}_{k}=\Phi_{k}^{\mathrm{T}} \mathbf{y}_{k}Pk−1​θ^k​=ΦkT​yk​(4)
θ^k⟶3Pk(Φk−1Tyk−1+ϕkyk)⟶4Pk(Pk−1−1θ^k−1+ϕkyk)\hat{\boldsymbol{\theta}}_{k} \stackrel{3}{\longrightarrow} P_{k}\left(\Phi_{k-1}^{T} y_{k-1}+\phi_{k} y_{k}\right) \stackrel{4}{\longrightarrow} P_{k}\left(P_{k-1}^{-1} \hat{\theta}_{k-1}+\phi_{k} y_{k}\right)θ^k​⟶3​Pk​(Φk−1T​yk−1​+ϕk​yk​)⟶4​Pk​(Pk−1−1​θ^k−1​+ϕk​yk​)⟶1Pk(Pk−1θ^k−1−ϕkϕkTθ^k−1+ϕkyk)\stackrel{1}{\longrightarrow} P_{k}\left(P_{k}^{-1} \hat{\theta}_{k-1}-\phi_{k} \phi_{k}^{T} \hat{\theta}_{k-1}+\phi_{k} y_{k}\right)⟶1​Pk​(Pk−1​θ^k−1​−ϕk​ϕkT​θ^k−1​+ϕk​yk​)=θ^k−1+Pkϕk(yk−ϕkTθ^k−1)=θ^k−1+Kkε=\hat{\theta}_{k-1}+P_{k} \phi_{k}\left(y_{k}-\phi_{k}^{T} \hat{\theta}_{k-1}\right)=\hat{\theta}_{k-1}+K_{k} \varepsilon=θ^k−1​+Pk​ϕk​(yk​−ϕkT​θ^k−1​)=θ^k−1​+Kk​ε
至此可以得到关于估计量Θ\ThetaΘ的递推公式:
εk=yk−ϕkTθ^k−1\varepsilon_{k}=y_{k}-\phi_{k}^{T} \hat{\theta}_{k-1}εk​=yk​−ϕkT​θ^k−1​
θ^k=θ^k−1+Kkεk\hat{\theta}_{k}=\hat{\theta}_{k-1}+K_{k} \varepsilon_{k}θ^k​=θ^k−1​+Kk​εk​
Kk=PkϕkK_{k}=P_{k} \phi_{k}Kk​=Pk​ϕk​
Pk=(Pk−1−1+ϕkϕkT)−1P_{k}=\left(P_{k-1}^{-1}+\phi_{k} \phi_{k}^{T}\right)^{-1}Pk​=(Pk−1−1​+ϕk​ϕkT​)−1
此时已经基本得到递推公式了,但最后一个矩阵还需要计算逆矩阵,计算量仍然很大,现在继续做简化
根据化简公式:
[A+BCD]−1=A−1−A−1B[C−1+DA−1R]−1DA−1[A+B C D]^{-1}=A^{-1}-A^{-1} B\left[C^{-1}+D A^{-1} R\right]^{-1} D A^{-1}[A+BCD]−1=A−1−A−1B[C−1+DA−1R]−1DA−1
对于Pk=(Pk−1−1+ϕkϕkT)−1P_{k}=\left(P_{k-1}^{-1}+\phi_{k} \phi_{k}^{T}\right)^{-1}Pk​=(Pk−1−1​+ϕk​ϕkT​)−1
A=Pk−1−1A=P_{k-1}^{-1}A=Pk−1−1​、B=ϕkB=\phi_{k}B=ϕk​、C=1C=1C=1、D=ϕkTD=\phi_{k}^{T}D=ϕkT​代换
得到Pk=(Pk−1−1+ϕkϕkT)−1=A−1−A−1B[C−1+DA−1B]−1DA−1P_{k}=\left(P_{k-1}^{-1}+\phi_{k} \phi_{k}^{T}\right)^{-1}=A^{-1}-A^{-1} B\left[C^{-1}+D A^{-1} B\right]^{-1} D A^{-1}Pk​=(Pk−1−1​+ϕk​ϕkT​)−1=A−1−A−1B[C−1+DA−1B]−1DA−1=Pk−1−Pk−1ϕk[1+ϕkTPk−1ϕk]−1ϕkTPk−1=P_{k-1}-P_{k-1} \phi_{k}\left[1+\phi_{k}^{T} P_{k-1} \phi_{k}\right]^{-1} \phi_{k}^{T} P_{k-1}=Pk−1​−Pk−1​ϕk​[1+ϕkT​Pk−1​ϕk​]−1ϕkT​Pk−1​=Pk−1−Pk−1ϕkϕkTPk−11+ϕkTPk−1ϕk=P_{k-1}-\frac{P_{k-1} \phi_{k} \phi_{k}^{T} P_{k-1}}{1+\phi_{k}^{T} P_{k-1} \phi_{k}}=Pk−1​−1+ϕkT​Pk−1​ϕk​Pk−1​ϕk​ϕkT​Pk−1​​

参考:
知乎-递推最小二乘推导(RLS)

递推最小二乘法RLS:推导

递推最小二乘法RLS公式详细推导相关推荐

  1. 递推最小二乘法RLS:推导

    递推最小二乘法RLS:推导 I use RLS as a method for parameter identification. Reference: https://blog.csdn.net/w ...

  2. 递推最小二乘法RLS的轮胎侧偏刚度估计(原书缺失代码已补全)

    目录 1 参数辨识 1.1 最小二乘法 1.2 递推最小二乘法 RLS 1.3 具有遗忘因子 λ 的递推最小二乘法 2 轮胎线性侧偏刚度估计 2.1 RLS 算法分析 2.2 联合仿真平台的设计 ca ...

  3. 递推最小二乘法的推导和理解

    递推最小二乘法的推导和理解 最小二乘法 快速回顾最小二乘法的推导 建立误差平方 将其最小化 一种对最小二乘法理解的视角 递推最小二乘法 在线实时预测问题 推导思路与详细过程 将k时刻的表达式写成k-1 ...

  4. 基于遗忘因子递推最小二乘法辨识一阶RC等效电路模型

    %% 基于一阶RC等效电路模型实现不同倍率下电模型参数辨识 clear clc%% 载入实验数据 % 导入hppc实验数据 load('hppc_pulse_25deg') temp = hppc_p ...

  5. 一步完成最小二乘法、递推最小二乘法、增广最小二乘法、广义最小二乘法、辅助变量法、二步法辨识(传递函数)

    用一步完成最小二乘法.递推最小二乘法.增广最小二乘法.广义最小二乘法.辅助变量法.二步法辨识如下模型的参数: 噪声的成形滤波器 采样时间0.01 要求: 1.用matlab 写出程序代码: 2.画出实 ...

  6. 函数的递推matlab,关于递推最小二乘法辨识参数的matlab编程(含注释)

    最近在做关于过热气温的动态建模问题.有现场运行的历史数据,要找出导前区和惰性区的传递函数. 对这类算法了解不多,程序读起来比较吃力,所以就转来一篇完整的辨识程序,在原有基础上进行了简化,并稍加注解一下 ...

  7. 视频教程-小白学习课程:梯度下降算法与公式详细推导-深度学习

    小白学习课程:梯度下降算法与公式详细推导 国内"双一流"大学博士研究生,计算机专业,研究方向和兴趣包括人工智能,深度学习,计算机视觉,群体智能算法,元胞自动机等,愿意分享自己的技术 ...

  8. 递推最小二乘法(Recursive least square, RLS)详细推导

    假设有数据(X,Y)(X,Y)(X,Y),其中X∈Rm×dX \in {\mathbb{R}^{m \times d}}X∈Rm×d,Y∈Rm×1Y \in {\mathbb{R}^{m \times ...

  9. 递推最小二乘RLS推导

    批次的最小二乘是给定一批数据比如 {yi∈R,xi∈Rn,i=1,...,N}\{y_i\in\mathbb{R},x_i\in \mathbb{R}^n,i=1,...,N\}{yi​∈R,xi​∈ ...

最新文章

  1. VTK:图像方向用法实战
  2. qt designer 自定义插件找不到指定的模块_SpringBoot之spring-boot-load模块
  3. SwipeRefreshLayout官方推荐下拉刷新
  4. memcpy函数_[PART][BUG][MSVCRT][C][CCF NOI1097] 关于memcpy的坑
  5. 2008 读第一本书
  6. django pdf转html5,python – 在Django站点中将HTML转换为PDF
  7. 几种常见的微服务架构方案——ZeroC IceGrid、Spring Cloud、基于消息队列、Docker Swarm
  8. 在使用avalon框架的时候,用ms-duplex双工绑定,在template上是有数据渲染的,但是js里面却是undefined...
  9. 该来的还是要来,数据挖掘
  10. oracle 自治事务异常不回滚,ORA-06519: 检测到活动的自治事务处理,已经回退
  11. 微信公众号开发文档,微信小程序开发文档,微信扫码支付文档,微信委托代扣模式开发文档
  12. Lenovo ThinkPad SL400安装克隆版的XP
  13. python中text格式_python读取各种格式的文本
  14. win10的Win快捷键使用简易操作方法
  15. html弹出式登录窗口(DIV悬浮窗口)实现
  16. 使用Monkeyrunner进行Android自动化的总结
  17. 腾讯汤道生:微信乘车码已全量上线昆明地铁
  18. 数据结构复习题集(客观题)
  19. python语音计算信噪比
  20. 第三章 硬件描述语言verilog(一)

热门文章

  1. 编译OpenDDS - 安装ActiveState Perl
  2. Vue 组件通讯 props接受形式有哪些
  3. 内存泄漏查找工具VLD的使用
  4. 查看Dell服务器硬件信息
  5. 华为云CDN为什么这么受用户的信赖?
  6. Redis——cluster集群原理
  7. Halcon2019软件安装教程
  8. arm开发板的驱动长什么样
  9. 装完黑苹果怎么装windows_手把手教你轻松安装 Win10/ 黑苹果macOS10.14.1双系统
  10. 如何防止勒索病毒祸害医院:不要裸奔,要灾备造就安全