sucy 20260716
适用对象:测量平差、GNSS 定位、多源观测融合和随机模型初学者
核心目标:根据不同观测组的残差和冗余信息,估计各组随机模型的方差尺度,并修正组间权比
1. 什么是赫尔默特方差分量估计
赫尔默特方差分量估计(Helmert Variance Component Estimation,HVCE)是一种验后随机模型估计方法。
它解决的问题是:
不同类型或不同来源的观测精度未知,先验权比不可靠,怎样根据平差残差估计各观测组的实际噪声尺度?
例如,GNSS 解算可能同时使用:
GPS伪距
GPS载波相位
北斗伪距
北斗载波相位
Galileo伪距
Galileo载波相位
如果组间权比设置不合理,可能导致:
- 低质量观测权值过大,拉偏参数估计;
- 高质量观测权值过小,没有被充分利用;
- 参数协方差过于乐观或保守;
- 多系统组合结果反而劣于单系统结果。
HVCE 根据各组的残差能量和冗余贡献,估计各组协方差应放大或缩小多少,再更新权阵并重新平差。
HVCE 与坐标转换中的“七参数 Helmert 变换”不是同一个概念。
2. “方差分量”怎样理解
2.1 方差
一维随机误差 eee 的方差为:
σ2=E[(e−E[e])2]\sigma^2 = \mathbb{E} \left[ \left( e-\mathbb{E}[e] \right)^2 \right]σ2=E[(e−E[e])2]
其中:
- eee:随机误差;
- E[⋅]\mathbb{E}[\cdot]E[⋅]:数学期望;
- σ2\sigma^2σ2:误差方差。
方差越大,表示观测越不稳定,通常应赋予越小的权值。
2.2 分量
总体协方差可以由多个已知结构组成:
Cl=∑i=1mθiQi\mathbf{C}_{\mathbf{l}} = \sum_{i=1}^{m} \theta_i \mathbf{Q}_iCl=i=1∑mθiQi
其中:
- Cl\mathbf{C}_{\mathbf{l}}Cl:观测向量的协方差矩阵;
- mmm:方差分量个数;
- θi\theta_iθi:第 iii 个待估方差分量;
- Qi\mathbf{Q}_iQi:第 iii 个已知协方差结构矩阵。
通常要求:
θi≥0,Qi⪰0\theta_i\ge 0, \qquad \mathbf{Q}_i\succeq\mathbf{0}θi≥0,Qi⪰0
可以简单理解为:
Q_i
→ 规定第i类误差怎样分布、怎样相关
θ_i
→ 规定这一类误差整体有多大
因此,方差分量本质上是协方差结构的尺度系数。
3. 独立观测组模型
若观测分成 mmm 个相互独立的组,可写为:
Cl=diag(σ12Q1, σ22Q2, …, σm2Qm)\mathbf{C}_{\mathbf{l}} = \operatorname{diag} \left( \sigma_1^2\mathbf{Q}_1,\, \sigma_2^2\mathbf{Q}_2,\, \ldots,\, \sigma_m^2\mathbf{Q}_m \right)Cl=diag(σ12Q1,σ22Q2,…,σm2Qm)
其中:
- σi2\sigma_i^2σi2:第 iii 组的方差尺度;
- Qi\mathbf{Q}_iQi:第 iii 组内部已知的相对协方差结构。
只有当:
Qi=I\mathbf{Q}_i=\mathbf{I}Qi=I
时,σi2\sigma_i^2σi2 才能直接理解为该组等精度观测的单观测方差。
如果 Qi\mathbf{Q}_iQi 已包含高度角、C/N0C/N_0C/N0 或相关性模型,则 σi2\sigma_i^2σi2 只是该组随机模型的整体尺度。
4. HVCE 针对什么问题
HVCE 适合处理:
- 伪距、载波相位和多普勒之间的权比;
- GPS、BDS、Galileo 等系统之间的权比;
- GNSS、UWB、视觉等传感器之间的权比;
- 不同测站、接收机或分析中心结果之间的权比;
- 角度、距离和高差等异质观测的联合平差。
HVCE 优化的是随机模型,不是函数模型。
函数模型回答:
观测量与未知参数之间是什么关系?
随机模型回答:
观测误差有多大?
观测之间怎样相关?
各观测组应该占多大权重?
如果函数模型遗漏了系统偏差,HVCE 不能消除该偏差,只可能把它吸收到较大的方差分量中。
5. 数学记号与基本假设
本文使用:
- li\mathbf{l}_ili:第 iii 组观测向量;
- Ai\mathbf{A}_iAi:第 iii 组设计矩阵;
- x\mathbf{x}x:待估参数向量;
- ei\mathbf{e}_iei:第 iii 组真实观测误差;
- vi\mathbf{v}_ivi:第 iii 组平差残差;
- nin_ini:第 iii 组观测数;
- uuu:独立参数个数;
- Ci\mathbf{C}_iCi:第 iii 组当前使用的协方差矩阵;
- Pi=Ci−1\mathbf{P}_i=\mathbf{C}_i^{-1}Pi=Ci−1:第 iii 组当前权阵;
- Ni\mathbf{N}_iNi:第 iii 组对法方程的贡献;
- N\mathbf{N}N:总法矩阵;
- δij\delta_{ij}δij:Kronecker 符号;
- tr(⋅)\operatorname{tr}(\cdot)tr(⋅):矩阵的迹;
- 上标 T\mathsf{T}T:矩阵转置;
- 上标 −1-1−1:矩阵求逆。
本文严密分组公式基于以下条件:
- 线性模型,或非线性模型已经在当前近似值处正确线性化;
- 设计矩阵满列秩;
- 观测误差零均值:
E[ei]=0\mathbb{E}[\mathbf{e}_i] = \mathbf{0}E[ei]=0
- 各观测组之间相互独立:
Cov(ei,ej)=0,i≠j\operatorname{Cov} \left( \mathbf{e}_i,\mathbf{e}_j \right) = \mathbf{0}, \qquad i\ne jCov(ei,ej)=0,i=j
- 协方差矩阵为分块对角形式;
- 各组当前协方差矩阵正定;
- 随机模型中不包含额外的固定协方差项。
若观测组之间相关,或存在固定协方差项,应使用更一般的 VCE 或 LS-VCE 模型。
6. 分组最小二乘模型
第 iii 组观测模型为:
li=Aix+ei,i=1,2,…,m\mathbf{l}_i = \mathbf{A}_i\mathbf{x} + \mathbf{e}_i, \qquad i=1,2,\ldots,mli=Aix+ei,i=1,2,…,m
其中:
- li∈Rni\mathbf{l}_i\in\mathbb{R}^{n_i}li∈Rni;
- Ai∈Rni×u\mathbf{A}_i\in\mathbb{R}^{n_i\times u}Ai∈Rni×u;
- x∈Ru\mathbf{x}\in\mathbb{R}^{u}x∈Ru。
叠加后:
l=[l1l2⋮lm],A=[A1A2⋮Am]\mathbf{l} = \begin{bmatrix} \mathbf{l}_1\\ \mathbf{l}_2\\ \vdots\\ \mathbf{l}_m \end{bmatrix}, \qquad \mathbf{A} = \begin{bmatrix} \mathbf{A}_1\\ \mathbf{A}_2\\ \vdots\\ \mathbf{A}_m \end{bmatrix}l=l1l2⋮lm,A=A1A2⋮Am
当前协方差矩阵为:
C=diag(C1, C2, …, Cm)\mathbf{C} = \operatorname{diag} \left( \mathbf{C}_1,\, \mathbf{C}_2,\, \ldots,\, \mathbf{C}_m \right)C=diag(C1,C2,…,Cm)
权阵为:
P=C−1=diag(P1, P2, …, Pm)\mathbf{P} = \mathbf{C}^{-1} = \operatorname{diag} \left( \mathbf{P}_1,\, \mathbf{P}_2,\, \ldots,\, \mathbf{P}_m \right)P=C−1=diag(P1,P2,…,Pm)
7. 加权最小二乘解
目标函数为:
J(x)=∑i=1m(li−Aix)TPi(li−Aix)J(\mathbf{x}) = \sum_{i=1}^{m} \left( \mathbf{l}_i-\mathbf{A}_i\mathbf{x} \right)^{\mathsf{T}} \mathbf{P}_i \left( \mathbf{l}_i-\mathbf{A}_i\mathbf{x} \right)J(x)=i=1∑m(li−Aix)TPi(li−Aix)
定义第 iii 组法矩阵:
Ni=AiTPiAi\mathbf{N}_i = \mathbf{A}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{A}_iNi=AiTPiAi
总法矩阵:
N=∑i=1mNi\mathbf{N} = \sum_{i=1}^{m} \mathbf{N}_iN=i=1∑mNi
法方程右端项:
b=∑i=1mAiTPili\mathbf{b} = \sum_{i=1}^{m} \mathbf{A}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{l}_ib=i=1∑mAiTPili
参数估计满足:
Nx^=b\mathbf{N}\hat{\mathbf{x}} = \mathbf{b}Nx^=b
第 iii 组残差为:
vi=li−Aix^\mathbf{v}_i = \mathbf{l}_i - \mathbf{A}_i \hat{\mathbf{x}}vi=li−Aix^
实际计算应求解线性方程,不宜显式形成 N−1\mathbf{N}^{-1}N−1。
8. 为什么不能直接比较残差平方和
第 iii 组加权残差平方和为:
qi=viTPiviq_i = \mathbf{v}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{v}_iqi=viTPivi
不能简单认为 qiq_iqi 越大,该组精度就一定越差,因为:
- 各组观测数不同;
- 各组对公共参数的约束能力不同;
- 各组冗余贡献不同;
- 各组残差通过公共参数相互耦合。
真正应比较的是:
残差能量
与
该组能够形成的有效冗余信息
9. 从残差传递关系推导 Helmert 方程
假设第 jjj 组真实协方差相对于当前协方差需要乘以修正因子 αj\alpha_jαj:
Cov(ej)=αjCj\operatorname{Cov} \left( \mathbf{e}_j \right) = \alpha_j \mathbf{C}_jCov(ej)=αjCj
其中:
- Cj\mathbf{C}_jCj:本轮平差使用的协方差;
- αj\alpha_jαj:无量纲尺度修正因子。
若 αj>1\alpha_j>1αj>1,说明当前协方差设置过小,应降低该组权值。
若 αj<1\alpha_j<1αj<1,说明当前协方差设置过大,可以提高该组权值。
9.1 残差传递矩阵
整体残差为:
v=(I−AN−1ATP)e\mathbf{v} = \left( \mathbf{I} - \mathbf{A} \mathbf{N}^{-1} \mathbf{A}^{\mathsf{T}} \mathbf{P} \right) \mathbf{e}v=(I−AN−1ATP)e
第 iii 组残差可写为:
vi=∑j=1mBijej\mathbf{v}_i = \sum_{j=1}^{m} \mathbf{B}_{ij} \mathbf{e}_jvi=j=1∑mBijej
其中:
Bij=δijIni−AiN−1AjTPj\mathbf{B}_{ij} = \delta_{ij}\mathbf{I}_{n_i} - \mathbf{A}_i \mathbf{N}^{-1} \mathbf{A}_j^{\mathsf{T}} \mathbf{P}_jBij=δijIni−AiN−1AjTPj
式中:
- Ini\mathbf{I}_{n_i}Ini:nin_ini 阶单位矩阵;
- Bij\mathbf{B}_{ij}Bij:第 jjj 组误差对第 iii 组残差的传递矩阵。
9.2 残差二次型期望
由于各组误差相互独立:
E[qi]=∑j=1mαjtr(PiBijCjBijT)\mathbb{E}[q_i] = \sum_{j=1}^{m} \alpha_j \operatorname{tr} \left( \mathbf{P}_i \mathbf{B}_{ij} \mathbf{C}_j \mathbf{B}_{ij}^{\mathsf{T}} \right)E[qi]=j=1∑mαjtr(PiBijCjBijT)
定义:
sij=tr(PiBijCjBijT)s_{ij} = \operatorname{tr} \left( \mathbf{P}_i \mathbf{B}_{ij} \mathbf{C}_j \mathbf{B}_{ij}^{\mathsf{T}} \right)sij=tr(PiBijCjBijT)
则:
E[qi]=∑j=1msijαj\mathbb{E}[q_i] = \sum_{j=1}^{m} s_{ij}\alpha_jE[qi]=j=1∑msijαj
用实际 qiq_iqi 匹配其理论期望,就得到 Helmert 方差分量方程。
10. 独立分组模型下的严密 Helmert 方程
定义:
α=[α1α2⋮αm],q=[q1q2⋮qm]\boldsymbol{\alpha} = \begin{bmatrix} \alpha_1\\ \alpha_2\\ \vdots\\ \alpha_m \end{bmatrix}, \qquad \mathbf{q} = \begin{bmatrix} q_1\\ q_2\\ \vdots\\ q_m \end{bmatrix}α=α1α2⋮αm,q=q1q2⋮qm
Helmert 方程为:
Sα=q\mathbf{S} \boldsymbol{\alpha} = \mathbf{q}Sα=q
其中:
S=[s11s12⋯s1ms21s22⋯s2m⋮⋮⋱⋮sm1sm2⋯smm]\mathbf{S} = \begin{bmatrix} s_{11} & s_{12} & \cdots & s_{1m}\\ s_{21} & s_{22} & \cdots & s_{2m}\\ \vdots & \vdots & \ddots & \vdots\\ s_{m1} & s_{m2} & \cdots & s_{mm} \end{bmatrix}S=s11s21⋮sm1s12s22⋮sm2⋯⋯⋱⋯s1ms2m⋮smm
系数可统一写为:
sij=δijni−2δijtr(N−1Ni)+tr(N−1NiN−1Nj)s_{ij} = \delta_{ij}n_i - 2\delta_{ij} \operatorname{tr} \left( \mathbf{N}^{-1}\mathbf{N}_i \right) + \operatorname{tr} \left( \mathbf{N}^{-1} \mathbf{N}_i \mathbf{N}^{-1} \mathbf{N}_j \right)sij=δijni−2δijtr(N−1Ni)+tr(N−1NiN−1Nj)
对角元素为:
sii=ni−2tr(N−1Ni)+tr[(N−1Ni)2]s_{ii} = n_i - 2\operatorname{tr} \left( \mathbf{N}^{-1}\mathbf{N}_i \right) + \operatorname{tr} \left[ \left( \mathbf{N}^{-1}\mathbf{N}_i \right)^2 \right]sii=ni−2tr(N−1Ni)+tr[(N−1Ni)2]
非对角元素为:
sij=tr(N−1NiN−1Nj),i≠js_{ij} = \operatorname{tr} \left( \mathbf{N}^{-1} \mathbf{N}_i \mathbf{N}^{-1} \mathbf{N}_j \right), \qquad i\ne jsij=tr(N−1NiN−1Nj),i=j
右端项为:
qi=viTPiviq_i = \mathbf{v}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{v}_iqi=viTPivi
因此应求解:
Sα^=q\mathbf{S} \hat{\boldsymbol{\alpha}} = \mathbf{q}Sα^=q
式中:
- S\mathbf{S}S:方差分量系数矩阵;
- α^\hat{\boldsymbol{\alpha}}α^:尺度修正因子估计;
- q\mathbf{q}q:各组加权残差二次型。
实际计算应求解线性方程,而不是显式计算 S−1\mathbf{S}^{-1}S−1。
11. 怎样理解 S\mathbf{S}S 矩阵
11.1 对角元素
siis_{ii}sii 表示第 iii 组误差对本组残差能量的有效贡献。
11.2 非对角元素
sijs_{ij}sij 表示第 jjj 组误差通过公共参数估计,对第 iii 组残差能量产生的耦合影响。
因此,严密 Helmert 方法不是“各组各算各的”,而是显式考虑组间耦合。
11.3 单组特殊情况
若只有一组观测:
N1=N\mathbf{N}_1 = \mathbf{N}N1=N
则:
s11=n−us_{11} = n-us11=n−u
因此:
α^=vTPvn−u\hat{\alpha} = \frac{ \mathbf{v}^{\mathsf{T}} \mathbf{P} \mathbf{v} }{ n-u }α^=n−uvTPv
这里需要区分:
- 若 P=Q−1\mathbf{P}=\mathbf{Q}^{-1}P=Q−1,即权阵只包含协因数结构,则 α^\hat{\alpha}α^ 是单位权方差估计;
- 若 P\mathbf{P}P 已包含当前绝对协方差尺度,则 α^\hat{\alpha}α^ 是对当前协方差的尺度修正因子。
12. 怎样更新协方差和权阵
12.1 保留绝对方差尺度
若 α^i(r)\hat{\alpha}_i^{(r)}α^i(r) 表示第 rrr 轮对当前协方差的修正因子,则:
Ci(r+1)=α^i(r)Ci(r)\mathbf{C}_i^{(r+1)} = \hat{\alpha}_i^{(r)} \mathbf{C}_i^{(r)}Ci(r+1)=α^i(r)Ci(r)
相应权阵为:
Pi(r+1)=1α^i(r)Pi(r)\mathbf{P}_i^{(r+1)} = \frac{1} {\hat{\alpha}_i^{(r)}} \mathbf{P}_i^{(r)}Pi(r+1)=α^i(r)1Pi(r)
其中:
- rrr:迭代编号;
- Ci(r)\mathbf{C}_i^{(r)}Ci(r):当前协方差;
- Ci(r+1)\mathbf{C}_i^{(r+1)}Ci(r+1):更新后的协方差。
12.2 只更新相对权比
若只关心组间相对权比,可以选择正的归一化常数 c(r)c^{(r)}c(r):
Ci(r+1)=α^i(r)c(r)Ci(r)\mathbf{C}_i^{(r+1)} = \frac{ \hat{\alpha}_i^{(r)} }{ c^{(r)} } \mathbf{C}_i^{(r)}Ci(r+1)=c(r)α^i(r)Ci(r)
例如选定参考组 r0r_0r0:
c(r)=α^r0(r)c^{(r)} = \hat{\alpha}_{r_0}^{(r)}c(r)=α^r0(r)
归一化不是 HVCE 的必需步骤。若要保留绝对方差尺度,不应丢弃公共尺度信息。
13. 为什么需要迭代
权阵影响参数和残差,残差又用于估计方差分量:
权值
→ 参数与残差
残差
→ 方差分量
方差分量
→ 新权值
典型过程为:
- 给定初始协方差;
- 完成加权最小二乘平差;
- 计算各组残差二次型;
- 解 Helmert 方程;
- 更新协方差和权阵;
- 重新平差;
- 判断尺度是否稳定。
若保留绝对尺度,可使用:
maxi∣α^i(r)−1∣<ε\max_i \left\vert{} \hat{\alpha}_i^{(r)}-1 \right\vert{} < \varepsilonimaxα^i(r)−1<ε
其中:
- ε\varepsilonε:收敛阈值;
- 收敛时,本轮协方差不再需要明显修正。
实际工程中还应设置最大迭代次数,并对过大的尺度变化进行阻尼或限幅。
14. 简化方差分量估计
第 iii 组的有效冗余贡献为:
ri=ni−tr(N−1Ni)r_i = n_i - \operatorname{tr} \left( \mathbf{N}^{-1} \mathbf{N}_i \right)ri=ni−tr(N−1Ni)
各组满足:
∑i=1mri=n−u\sum_{i=1}^{m} r_i = n-ui=1∑mri=n−u
其中:
n=∑i=1mnin = \sum_{i=1}^{m} n_in=i=1∑mni
若当前权阵已经包含当前尺度,可构造简化修正因子:
α^i simp≈viTPiviri\hat{\alpha}_i^{\,\mathrm{simp}} \approx \frac{ \mathbf{v}_i^{\mathsf{T}} \mathbf{P}_i \mathbf{v}_i }{ r_i }α^isimp≈riviTPivi
需要特别注意:
严格地说,qi/riq_i/r_iqi/ri 是把其他组的耦合影响合并到一个平均尺度中的近似。只有当第 iii 组自身贡献占主导、组间耦合较弱,或各组尺度已经比较接近时,才能把它近似解释为第 iii 组的独立尺度修正因子。
如果:
Ci=σi2Qi\mathbf{C}_i = \sigma_i^2\mathbf{Q}_iCi=σi2Qi
且计算时只使用结构权阵:
Pi,0=Qi−1\mathbf{P}_{i,0} = \mathbf{Q}_i^{-1}Pi,0=Qi−1
则可写为:
σ^i2≈viTPi,0viri\hat{\sigma}_i^2 \approx \frac{ \mathbf{v}_i^{\mathsf{T}} \mathbf{P}_{i,0} \mathbf{v}_i }{ r_i }σ^i2≈riviTPi,0vi
该式仍然是简化近似,不能替代强耦合条件下的严密 Helmert 方程。
15. HVCE 流程
16. 两组观测的直观例子
设有:
第1组:载波相位
第2组:伪距
初始时两组协方差都设为单位阵:
C1(0)=I,C2(0)=I\mathbf{C}_1^{(0)} = \mathbf{I}, \qquad \mathbf{C}_2^{(0)} = \mathbf{I}C1(0)=I,C2(0)=I
若第一次估计得到:
α^1=1,α^2=10000\hat{\alpha}_1 = 1, \qquad \hat{\alpha}_2 = 10000α^1=1,α^2=10000
则:
C2(1)=10000C2(0)\mathbf{C}_2^{(1)} = 10000 \mathbf{C}_2^{(0)}C2(1)=10000C2(0)
相应权阵变为:
P2(1)=110000P2(0)\mathbf{P}_2^{(1)} = \frac{1}{10000} \mathbf{P}_2^{(0)}P2(1)=100001P2(0)
方差比为 10000:110000:110000:1,标准差比为:
σ2σ1=100\frac{\sigma_2}{\sigma_1} = 100σ1σ2=100
权值与方差成反比,因此两组的标量权比约为:
w2w1=110000\frac{w_2}{w_1} = \frac{1}{10000}w1w2=100001
该例只用于说明方差比、标准差比和权比之间的关系。
17. HVCE 与其他方法的关系
17.1 与加权最小二乘
普通加权最小二乘:
权阵已知
→ 只估计参数
HVCE:
权阵只有初值
→ 估计参数和残差
→ 估计方差分量
→ 更新权阵
→ 重新平差
HVCE 可以理解为在加权最小二乘外层增加一个随机模型迭代环。
17.2 与自适应 Kalman 滤波
HVCE 更关注:
- 多观测组的方差尺度;
- 残差二次型和冗余贡献;
- 组间相对权比。
自适应 Kalman 滤波更关注:
- 噪声统计随时间变化;
- 新息和递推统计;
- 按历元在线调整 Q\mathbf{Q}Q、R\mathbf{R}R。
HVCE 可以嵌入 Kalman 滤波,但通常需要窗口累计或多历元冗余。
17.3 与抗差估计
HVCE 不是天然的粗差处理方法。
少量异常观测可能使整组方差被放大。因此通常应:
先进行粗差检测或抗差处理
→ 再进行方差分量估计
18. GNSS 分组与相关性问题
常见分组方式包括:
- 按观测类型:伪距、相位、多普勒;
- 按卫星系统:GPS、BDS、Galileo、GLONASS;
- 按系统与观测类型联合分组;
- 按接收机、测站或分析中心分组。
但需要注意:
分组不等于独立。
例如以下误差可能同时影响多个组:
- 接收机钟差;
- 对流层建模误差;
- 轨道和钟差产品误差;
- 同一卫星不同频点的多路径和硬件效应;
- 多分析中心共享的观测数据和模型。
若忽略明显的跨组相关性,HVCE 可能把公共误差错误地分配给某一组方差分量。
因此,强相关情况下应:
- 建立完整协方差模型;
- 增加交叉协方差分量;
- 使用更一般的 LS-VCE;
- 或重新设计分组方式。
19. 优势与高价值场景
HVCE 的主要优势是:
- 自动估计不同观测组的随机模型尺度;
- 减少完全依赖经验设权;
- 严密公式能够考虑组间参数耦合;
- 结果可以解释为方差比、标准差比和权比;
- 适合不同系统、观测类型和数据源的联合平差。
特别适合:
- 各组内部相对协方差结构已知,但总体尺度未知;
- 多种测量类型联合平差;
- 多 GNSS 系统组合;
- GNSS 与其他传感器融合;
- 多测站、多设备或多分析中心结果组合;
- 冗余充分的测量网或多历元数据。
HVCE 没有绝对独有的使用场景。MINQUE、REML、最大似然和 LS-VCE 等方法也能估计方差分量。
20. 局限性
20.1 需要足够冗余
若某组的冗余贡献接近零,则其方差尺度难以可靠估计。
20.2 对粗差敏感
经典残差二次型容易被离群值放大。
20.3 依赖正确分组和相关模型
错误分组或忽略跨组相关性都会影响结果。
20.4 可能得到负方差分量
样本不足、模型病态或不可辨识时,估计结果可能为负。
负方差没有直接物理意义,不能简单取绝对值。应检查:
- 冗余是否足够;
- 分组是否合理;
- 是否存在粗差;
- S\mathbf{S}S 是否病态;
- 是否需要非负约束 VCE。
20.5 方差分量可能不可辨识
若两个协方差结构在残差空间中的作用几乎相同,则无法可靠区分它们的尺度。
20.6 参数协方差仍有近似性
使用估计后的方差分量代入:
Cx^=(ATC−1A)−1\mathbf{C}_{\hat{\mathbf{x}}} = \left( \mathbf{A}^{\mathsf{T}} \mathbf{C}^{-1} \mathbf{A} \right)^{-1}Cx^=(ATC−1A)−1
得到的是条件于当前随机模型估计的参数协方差。
它通常没有计入“方差分量本身也存在估计误差”这一层不确定性,样本较少时可能偏乐观。
20.7 不能修复函数模型错误
系统误差、时间同步错误或未建模偏差不会因为方差增大而真正消失。
21. 非线性 GNSS 模型中的处理
GNSS 观测方程通常是非线性的。
实际流程应包含两层迭代:
内层:
线性化观测方程并求解参数
外层:
根据残差估计方差分量并更新权阵
当参数近似值发生明显变化时,应重新计算设计矩阵,再进行下一轮 HVCE。
不能在函数模型尚未收敛时,仅根据早期残差直接判断随机模型。
22. 工程实现建议
22.1 先进行质量控制
先处理:
- 周跳;
- 失锁;
- 明显粗差;
- 时间标签错误;
- 观测类型不匹配。
22.2 保留合理的组内随机模型
可写为:
Ci=γiCi,0\mathbf{C}_i = \gamma_i \mathbf{C}_{i,0}Ci=γiCi,0
其中:
- Ci,0\mathbf{C}_{i,0}Ci,0:第 iii 组基础协方差结构;
- γi\gamma_iγi:待估尺度因子。
22.3 设置尺度上下限和阻尼
为避免权值剧烈变化,可以采用:
γi(r+1)=(1−η)γi(r)+ηγi,new\gamma_i^{(r+1)} = \left( 1-\eta \right) \gamma_i^{(r)} + \eta \gamma_{i,\mathrm{new}}γi(r+1)=(1−η)γi(r)+ηγi,new
其中:
- η\etaη:阻尼系数;
- 0<η≤10<\eta\le 10<η≤1。
同时设置:
γmin≤γi≤γmax\gamma_{\min} \le \gamma_i \le \gamma_{\max}γmin≤γi≤γmax
22.4 检查可辨识性
建议检查:
- 每组冗余贡献 rir_iri;
- S\mathbf{S}S 的秩和条件数;
- 不同协方差结构是否高度相似;
- 估计结果是否对初值过于敏感。
22.5 避免显式求逆
优先使用:
- Cholesky 分解;
- QR 分解;
- 对称线性方程求解;
- 必要时使用 SVD 诊断秩亏。
23. 简化伪代码
输入:
分组观测 li
分组设计矩阵 Ai
初始协方差 Ci
收敛阈值 epsilon
最大迭代次数 max_iter
for iteration = 1 ... max_iter:
1. 根据Ci实现加权
不显式形成inverse(Ci)
2. 构造法方程:
Ni = Ai^T * Pi * Ai
N = sum(Ni)
b = sum(Ai^T * Pi * li)
3. 求解参数:
solve(N * x_hat = b)
4. 计算分组残差:
vi = li - Ai * x_hat
qi = vi^T * Pi * vi
5. 严密Helmert方法:
Xi = solve(N, Ni)
sii = ni
- 2 * trace(Xi)
+ trace(Xi * Xi)
sij = trace(Xi * Xj)
solve(S * alpha = q)
或使用简化方法:
ri = ni - trace(Xi)
alpha_i ≈ qi / ri
6. 更新协方差:
绝对尺度:
Ci_new = alpha_i * Ci
仅相对权比:
scale_i = alpha_i / alpha_reference
Ci_new = scale_i * Ci
7. 对负值、极端值和病态情况进行诊断
必要时使用非负约束、阻尼和上下限
8. 判断alpha_i是否接近1
或累计相对尺度是否稳定
9. 若未收敛:
令Ci = Ci_new
重新线性化并继续迭代
输出:
参数估计x_hat
最终协方差Ci
方差分量或尺度修正因子
组间权值比例
24. 总结
普通加权最小二乘:
权值已知
→ 估计参数
赫尔默特方差分量估计:
权值只有初值
→ 估计参数和残差
→ 估计各组方差尺度
→ 更新随机模型
→ 迭代至稳定
“方差分量”表示:
把总体协方差拆成多个已知结构
再估计每个结构的尺度
HVCE 的核心不是简单比较残差大小,而是同时利用:
残差二次型
+
冗余贡献
+
观测组之间的参数耦合
最关键的一句话是:
赫尔默特方差分量估计解决的不是“观测值应该是多少”,而是“不同观测组应该信任多少”。


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



