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

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

整理递推最小二乘法推导过程自我整理。
递推最小二乘估计(RLS)作为一种估计方式是在最小二乘法(LS)的基础上发展来的。
最小二乘法可以解决的问题是不需要知道先验的概率知识以及观察值的自相关和观察值与估计值之间的互相关等先验条件。
如果各次观察值反映了待估参数的线性组合,即表示成:
y = [ x 1 … x k ] [ θ 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=[x1xk]θ1θk
已知k组观测值y和k组系数x矩阵的分布,来求 θ \theta θ的估计。用矩阵的形式来表达为:
[ y 1 ⋮ y k ] = [ ϕ 1 T ⋮ ϕ k T ] \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] y1yk=ϕ1TϕkT
Φ k = [ ϕ 1 T ⋮ ϕ k T ] ∈ R k N n \Phi_{k}=\left[\begin{array}{c}\phi_{1}^{T} \\ \vdots \\ \phi_{k}^{T}\end{array}\right] \in \mathbb{R}^{k_{N n}} Φk=ϕ1TϕkTRkNn
Θ = [ θ 1 ⋮ θ n ] ∈ R n × 1 \Theta=\left[\begin{array}{c}\theta_{1} \\ \vdots \\ \theta_{n}\end{array}\right] \in \mathbb{R}^{n \times 1} Θ=θ1θnRn×1
Φ k = [ ϕ 1 T ⋮ ϕ k T ] ∈ R k ×   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ϕkTRk× n
则最小二乘法观测值 Θ \Theta Θ的解为
Θ ^ k = ( Φ k T Φ k ) − 1 Φ k T Y k \hat{\Theta}_{k}=\left(\Phi_{k}^{T} \Phi_{k}\right)^{-1} \Phi_{k}^{T} Y_{k} Θ^k=(ΦkTΦk)1ΦkTYk
下面推导递推的形式:
P k − 1 = Φ k T Φ k P_{k}^{-1}=\Phi_{k}^{T} \Phi_{k} Pk1=ΦkTΦk
现在讨论 Θ \Theta Θ的解的项中的因子
P k − 1 = Φ k T Φ k = [ ϕ 1 ϕ 2 ⋯ ϕ k ] [ ϕ 1 T ϕ 2 I ⋮ ϕ k T ] = ∑ i = 1 n ϕ i ϕ i T = ∑ i = 1 n − 1 ϕ i ϕ i T + ϕ k ϕ k T = P k − 1 − 1 + ϕ k ϕ k T P_{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} Pk1=ΦkTΦk=[ϕ1ϕ2ϕk]ϕ1Tϕ2IϕkT=i=1nϕiϕiT=i=1n1ϕiϕiT+ϕkϕkT=Pk11+ϕkϕkT
Φ k T y k = [ ϕ 1 ϕ 2 ⋯ ϕ k ] [ y 1 y 2 ⋮ y k ] = ∑ i = 1 n ϕ i y i = ∑ i = 1 n − 1 ϕ i y i + ϕ k y k = Φ k − 1 T y k − 1 + ϕ k y k \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} ΦkTyk=[ϕ1ϕ2ϕk]y1y2yk=i=1nϕiyi=i=1n1ϕiyi+ϕkyk=Φk1Tyk1+ϕkyk
由以上两式得到:
P k − 1 = P k − 1 − 1 + ϕ k ϕ k T P_{k}^{-1}=P_{k-1}^{-1}+\phi_{k} \phi_{k}^{T} Pk1=Pk11+ϕkϕkT (1)
Φ k r y k = Φ k − 1 T y k − 1 + ϕ k y k \Phi_{k}^{r} \mathbf{y}_{k}=\Phi_{k-1}^{T} \mathbf{y}_{k-1}+\phi_{k} y_{k} Φkryk=Φk1Tyk1+ϕkyk (2)
θ ^ k = ( Φ T Φ k ) − 1 Φ k T y k = P k Φ k T y k = P k ( Φ k − 1 T y k − 1 + ϕ k y k ) \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ΦkTyk=PkΦkTyk=Pk(Φk1Tyk1+ϕkyk) (3)
因为 θ ^ k − 1 = P k − 1 ( Φ k − 1 T y k − 1 ) \hat{\theta}_{k-1}=P_{k-1}\left(\Phi_{k-1}^{T} y_{k-1}\right) θ^k1=Pk1(Φk1Tyk1)
所以有 P k − 1 θ ^ k = Φ k T y k P_{k}^{-1} \hat{\theta}_{k}=\Phi_{k}^{\mathrm{T}} \mathbf{y}_{k} Pk1θ^k=ΦkTyk(4)
θ ^ k ⟶ 3 P k ( Φ k − 1 T y k − 1 + ϕ k y k ) ⟶ 4 P k ( P k − 1 − 1 θ ^ k − 1 + ϕ k y k ) \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) θ^k3Pk(Φk1Tyk1+ϕkyk)4Pk(Pk11θ^k1+ϕkyk) ⟶ 1 P k ( P k − 1 θ ^ k − 1 − ϕ k ϕ k T θ ^ k − 1 + ϕ k y k ) \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) 1Pk(Pk1θ^k1ϕkϕkTθ^k1+ϕkyk) = θ ^ k − 1 + P k ϕ k ( y k − ϕ k T θ ^ k − 1 ) = θ ^ k − 1 + K k ε =\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 =θ^k1+Pkϕk(ykϕkTθ^k1)=θ^k1+Kkε
至此可以得到关于估计量 Θ \Theta Θ的递推公式:
ε k = y k − ϕ k T θ ^ k − 1 \varepsilon_{k}=y_{k}-\phi_{k}^{T} \hat{\theta}_{k-1} εk=ykϕkTθ^k1
θ ^ k = θ ^ k − 1 + K k ε k \hat{\theta}_{k}=\hat{\theta}_{k-1}+K_{k} \varepsilon_{k} θ^k=θ^k1+Kkεk
K k = P k ϕ k K_{k}=P_{k} \phi_{k} Kk=Pkϕk
P k = ( P k − 1 − 1 + ϕ k ϕ k T ) − 1 P_{k}=\left(P_{k-1}^{-1}+\phi_{k} \phi_{k}^{T}\right)^{-1} Pk=(Pk11+ϕkϕkT)1
此时已经基本得到递推公式了,但最后一个矩阵还需要计算逆矩阵,计算量仍然很大,现在继续做简化
根据化简公式:
[ A + B C D ] − 1 = A − 1 − A − 1 B [ C − 1 + D A − 1 R ] − 1 D A − 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=A1A1B[C1+DA1R]1DA1
对于 P k = ( P k − 1 − 1 + ϕ k ϕ k T ) − 1 P_{k}=\left(P_{k-1}^{-1}+\phi_{k} \phi_{k}^{T}\right)^{-1} Pk=(Pk11+ϕkϕkT)1
A = P k − 1 − 1 A=P_{k-1}^{-1} A=Pk11 B = ϕ k B=\phi_{k} B=ϕk C = 1 C=1 C=1 D = ϕ k T D=\phi_{k}^{T} D=ϕkT代换
得到 P k = ( P k − 1 − 1 + ϕ k ϕ k T ) − 1 = A − 1 − A − 1 B [ C − 1 + D A − 1 B ] − 1 D A − 1 P_{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=(Pk11+ϕkϕkT)1=A1A1B[C1+DA1B]1DA1 = P k − 1 − P k − 1 ϕ k [ 1 + ϕ k T P k − 1 ϕ k ] − 1 ϕ k T P k − 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} =Pk1Pk1ϕk[1+ϕkTPk1ϕk]1ϕkTPk1 = P k − 1 − P k − 1 ϕ k ϕ k T P k − 1 1 + ϕ k T P k − 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}} =Pk11+ϕkTPk1ϕkPk1ϕkϕkTPk1

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

递推最小二乘法RLS:推导

  • 7
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
最小二乘法是一种用于拟合数据的数学方法,旨在找到一个最优解来最小化数据点与拟合曲线之间的误差平方和。在最小二乘法中,我们将数据表示为一个线性模型,并使用数据点和模型之间的差异来计算误差。然后,通过调整模型参数,使得误差最小化。 递推最小二乘法是在最小二乘法的基础上提出的一种改进方法。它的目标是通过仅使用新的数据点来更新模型参数,而无需重新计算整个数据集的最小二乘解。这样可以节省计算时间和存储空间。 递推最小二乘法的基本思想是利用递推关系式来更新模型参数。具体来说,我们可以通过递推更新公式来更新协方差矩阵和参数向量,从而避免对协方差矩阵的求逆操作。这可以大大降低计算复杂度。 然而,递推最小二乘法也存在一些问题。首先,对于协方差矩阵的递推更新可能导致数值溢出的问题,因为随着数据量的增加,矩阵中的元素会不断增大。其次,由于递推的特性,递推最小二乘法对数据的顺序具有一定的敏感性。如果数据的顺序发生变化,可能会影响到模型参数的更新。 总之,最小二乘法是一种常用的拟合方法,而递推最小二乘法是对最小二乘法的改进,通过递推更新公式来减少计算复杂度。但在使用递推最小二乘法时需要注意数值溢出和数据顺序的影响。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* *2* [递推最小二乘法(Recursive least square, RLS)详细推导](https://blog.csdn.net/qq_39645262/article/details/125691638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值