问题:什么是“序贯”?序贯最小二乘与批处理最小二乘何时等价?它与 Kalman 滤波是什么关系?
1. 什么是序贯最小二乘
序贯最小二乘是指:
观测数据分批到达时,不重新处理全部历史观测,而是在上一批估值及其不确定度的基础上,吸收新观测并更新结果。
可以把“序贯”理解为:
- 序:观测按先后顺序到达;
- 贯:上一阶段的结果继续传递给下一阶段。
两种计算方式的区别如下。
批处理最小二乘
收集全部观测
→ 组成完整观测方程
→ 一次求解全部未知参数
序贯最小二乘
处理已有观测
→ 保存当前估值和协方差
→ 新观测到达
→ 更新估值和协方差
序贯最小二乘没有改变最小二乘准则,只改变了数据进入计算的方式。
2. 批处理加权最小二乘
2.1 线性观测模型
设线性观测模型为:
z=Hx+v\mathbf z = \mathbf H\mathbf x + \mathbf vz=Hx+v
其中:
- z∈Rm\mathbf z\in\mathbb R^mz∈Rm:观测向量;
- H∈Rm×n\mathbf H\in\mathbb R^{m\times n}H∈Rm×n:设计矩阵;
- x∈Rn\mathbf x\in\mathbb R^nx∈Rn:待估参数向量;
- v∈Rm\mathbf v\in\mathbb R^mv∈Rm:观测误差向量;
- mmm:观测方程数;
- nnn:未知参数数。
假设:
E(v)=0E(\mathbf v)=\mathbf 0E(v)=0
Cov(v)=R\operatorname{Cov}(\mathbf v)=\mathbf RCov(v)=R
其中:
- E(⋅)E(\cdot)E(⋅):数学期望;
- Cov(⋅)\operatorname{Cov}(\cdot)Cov(⋅):协方差;
- R\mathbf RR:观测误差协方差矩阵,假设为正定矩阵。
2.2 加权最小二乘目标函数
加权最小二乘最小化:
J(x)=(z−Hx)TR−1(z−Hx)J(\mathbf x) = (\mathbf z-\mathbf H\mathbf x)^{\mathrm T} \mathbf R^{-1} (\mathbf z-\mathbf H\mathbf x)J(x)=(z−Hx)TR−1(z−Hx)
其中:
- J(x)J(\mathbf x)J(x):加权残差平方和;
- z−Hx\mathbf z-\mathbf H\mathbf xz−Hx:观测残差;
- 上标 T\mathrm TT:矩阵转置;
- R−1\mathbf R^{-1}R−1:观测权阵。
令目标函数对 x\mathbf xx 的导数为零:
HTR−1H x^=HTR−1z\mathbf H^{\mathrm T}\mathbf R^{-1}\mathbf H\,\hat{\mathbf x} = \mathbf H^{\mathrm T}\mathbf R^{-1}\mathbf zHTR−1Hx^=HTR−1z
定义信息矩阵和信息向量:
Λ=HTR−1H\boldsymbol\Lambda = \mathbf H^{\mathrm T}\mathbf R^{-1}\mathbf HΛ=HTR−1H
η=HTR−1z\boldsymbol\eta = \mathbf H^{\mathrm T}\mathbf R^{-1}\mathbf zη=HTR−1z
其中:
- Λ\boldsymbol\LambdaΛ:信息矩阵,也就是正规矩阵;
- η\boldsymbol\etaη:信息向量,也就是正规方程右端项。
若 H\mathbf HH 满列秩,则:
x^=Λ−1η=(HTR−1H)−1HTR−1z\boxed{ \hat{\mathbf x} = \boldsymbol\Lambda^{-1}\boldsymbol\eta = (\mathbf H^{\mathrm T}\mathbf R^{-1}\mathbf H)^{-1} \mathbf H^{\mathrm T}\mathbf R^{-1}\mathbf z }x^=Λ−1η=(HTR−1H)−1HTR−1z
当 R\mathbf RR 是真实观测协方差时,估值协方差为:
Cx^=(HTR−1H)−1=Λ−1\boxed{ \mathbf C_{\hat x} = (\mathbf H^{\mathrm T}\mathbf R^{-1}\mathbf H)^{-1} = \boldsymbol\Lambda^{-1} }Cx^=(HTR−1H)−1=Λ−1
其中 Cx^\mathbf C_{\hat x}Cx^ 表示参数估值 x^\hat{\mathbf x}x^ 的协方差矩阵。
3. 序贯最小二乘的信息形式
3.1 将观测分批
设第 iii 批观测模型为:
zi=Hix+vi\mathbf z_i = \mathbf H_i\mathbf x + \mathbf v_izi=Hix+vi
其中:
- zi\mathbf z_izi:第 iii 批观测;
- Hi\mathbf H_iHi:第 iii 批设计矩阵;
- vi\mathbf v_ivi:第 iii 批观测误差;
- x\mathbf xx:各批共同估计的同一个静态参数向量。
先假设不同批次的误差互不相关:
Cov(vi,vj)=0,i≠j\operatorname{Cov}(\mathbf v_i,\mathbf v_j) = \mathbf 0, \qquad i\ne jCov(vi,vj)=0,i=j
第 iii 批观测协方差为:
Cov(vi)=Ri\operatorname{Cov}(\mathbf v_i) = \mathbf R_iCov(vi)=Ri
3.2 信息逐批累加
处理完前 k−1k-1k−1 批后:
Λk−1=∑i=1k−1HiTRi−1Hi\boldsymbol\Lambda_{k-1} = \sum_{i=1}^{k-1} \mathbf H_i^{\mathrm T} \mathbf R_i^{-1} \mathbf H_iΛk−1=i=1∑k−1HiTRi−1Hi
ηk−1=∑i=1k−1HiTRi−1zi\boldsymbol\eta_{k-1} = \sum_{i=1}^{k-1} \mathbf H_i^{\mathrm T} \mathbf R_i^{-1} \mathbf z_iηk−1=i=1∑k−1HiTRi−1zi
加入第 kkk 批观测:
Λk=Λk−1+HkTRk−1Hk\boxed{ \boldsymbol\Lambda_k = \boldsymbol\Lambda_{k-1} + \mathbf H_k^{\mathrm T} \mathbf R_k^{-1} \mathbf H_k }Λk=Λk−1+HkTRk−1Hk
ηk=ηk−1+HkTRk−1zk\boxed{ \boldsymbol\eta_k = \boldsymbol\eta_{k-1} + \mathbf H_k^{\mathrm T} \mathbf R_k^{-1} \mathbf z_k }ηk=ηk−1+HkTRk−1zk
如果 Λk\boldsymbol\Lambda_kΛk 可逆,则:
x^k=Λk−1ηk\boxed{ \hat{\mathbf x}_k = \boldsymbol\Lambda_k^{-1} \boldsymbol\eta_k }x^k=Λk−1ηk
Ck=Λk−1\boxed{ \mathbf C_k = \boldsymbol\Lambda_k^{-1} }Ck=Λk−1
其中:
- x^k\hat{\mathbf x}_kx^k:吸收前 kkk 批观测后的参数估值;
- Ck\mathbf C_kCk:该估值的协方差。
这就是序贯最小二乘的信息形式:
新观测提供的新信息,直接累加到已有信息上。
4. 为什么信息可以相加
把全部观测堆叠为:
z=[z1z2⋮zk],H=[H1H2⋮Hk]\mathbf z = \begin{bmatrix} \mathbf z_1\\ \mathbf z_2\\ \vdots\\ \mathbf z_k \end{bmatrix} ,\qquad \mathbf H = \begin{bmatrix} \mathbf H_1\\ \mathbf H_2\\ \vdots\\ \mathbf H_k \end{bmatrix}z= z1z2⋮zk ,H= H1H2⋮Hk
如果各批误差互不相关,总协方差为分块对角阵:
R=diag(R1,R2,…,Rk)\mathbf R = \operatorname{diag} \left( \mathbf R_1, \mathbf R_2, \ldots, \mathbf R_k \right)R=diag(R1,R2,…,Rk)
其中 diag(⋅)\operatorname{diag}(\cdot)diag(⋅) 表示由各矩阵组成的分块对角矩阵。
于是:
HTR−1H=∑i=1kHiTRi−1Hi\mathbf H^{\mathrm T}\mathbf R^{-1}\mathbf H = \sum_{i=1}^{k} \mathbf H_i^{\mathrm T} \mathbf R_i^{-1} \mathbf H_iHTR−1H=
543



被折叠的 条评论
为什么被折叠?



