---
title: "从带噪位置里分出视差和自行"
description: "把天体测量写成五参数线性拟合，解释相关误差、协方差和覆盖率，并用模拟记录逐项检验。"
canonical_url: "https://sandboxphysics.com/zh/stories/astrometry/five-parameter-fit/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/astrometry/five-parameter-fit/"
last_modified: "2026-10-28"
---

[测出星空的深度](https://sandboxphysics.com/zh/stories/astrometry/)

L3 · 恒星天体测量

# 从带噪位置里分出视差和自行

Sandbox Physics · 2026-10-28

一次位置测量分不清恒星自己移动了多少、地球换位置又贡献多少。把不同日期放在一起，年度曲线和直线漂移就能分别确定。

## 开始前需要什么

接着“从地球轨道推到恒星的视差椭圆”。需要线性方程组。矩阵在这里是把许多方程排成一张数表；方差和协方差会从位置误差的散布来解释。

## 每个日期提供两条方程

第 $i$ 次观测的时间为 $t_i$。已知日期和恒星黄纬，就知道两个视差因子 $P_{xi}$ 与 $P_{yi}$。未知的只有五个常数：两个起始位置、两个自行和一个视差。

把它们排成参数列 $\boldsymbol\theta=(x_0,y_0,\mu_x,\mu_y,\varpi)^{\mathsf T}$。每个日期的东向方程只用到东向起点、东向自行和视差；北向方程也如此。上标 T 表示把横排的数竖起来。

二十五次观测共有五十个坐标读数。把系数按顺序排起来，得到五十行、五列的设计矩阵 $A$。它记录各参数怎样影响各次测量，观测列 $\boldsymbol z$ 则保存实际得到的位置。

$$
\begin{pmatrix}x_i\\y_i\end{pmatrix}=\begin{pmatrix}1&0&t_i&0&P_{xi}\\0&1&0&t_i&P_{yi}\end{pmatrix}\boldsymbol\theta+\boldsymbol\epsilon_i
$$

误差列有东向、北向两个分量。位置和视差以毫角秒计，自行以毫角秒每年计。两个坐标共用同一个视差参数。

## 倾斜的误差椭圆怎样改变拟合

单个坐标的方差，是重复测量相对真实值的偏差平方的平均。标准差 $\sigma$ 是方差的平方根。若一次定位偏东时也经常偏南，两个坐标的误差就有关联；协方差记录这种共同偏移，相关系数再把它除以两个标准差。

模拟记录给每个坐标相同标准差，同一日期的相关系数固定为负零点三五。误差椭圆因此倾斜。椭圆的长方向容许更大的偏差，短方向则约束得更紧。不同日期独立，完整协方差矩阵 $C$ 由这些二乘二小块构成。

沿一个细长误差椭圆的长轴偏开一点，和沿短轴偏开同样距离，可信程度并不相同。普通的距离平方分不出两者。广义最小二乘用协方差的逆给残差定权，正是为了沿这两个方向区别对待。

$$
C_i=\sigma^2\begin{pmatrix}1&\rho\\\rho&1\end{pmatrix},\qquad \rho=-0.35
$$

相关系数无单位。模拟定位的两个坐标会共同偏移；Gaia 星表另行给出五个拟合参数之间的误差关联。

## 让残差按它的不确定度来定权

给定一组参数，模型预测为 $A\boldsymbol\theta$，观测减预测就是残差。把所有残差按协方差定权后相加，得到卡方。卡方越小，参数越能解释这一组位置。

这是关于五个参数的二次函数。对每个参数求导，令斜率为零，得到一组线性方程，称为正规方程。先形成系数矩阵和右侧列，再解五元方程即可。这里数据规模很小，浏览器能即时重算。

在噪声确实为已知的高斯分布、模型正确且设计矩阵满秩时，拟合没有系统偏差，参数协方差有下面的解析形式。它的视差对角元开平方，就是页面显示的视差标准误。

$$
\chi^2=(\boldsymbol z-A\boldsymbol\theta)^{\mathsf T}C^{-1}(\boldsymbol z-A\boldsymbol\theta)
$$

卡方是无单位的。它比较残差与测量误差的相对大小。

$$
\widehat{\boldsymbol\theta}=(A^{\mathsf T}C^{-1}A)^{-1}A^{\mathsf T}C^{-1}\boldsymbol z,\qquad K=(A^{\mathsf T}C^{-1}A)^{-1}
$$

这里噪声方差已知，因此不用再乘一个从残差估计的噪声尺度。实际工程常用更稳定的 QR 或 Cholesky 分解解方程；教学小系统用带主元消去。

## 日期决定能不能把两种运动分开

设想每年只在同一天观察。视差因子每次相同，年度位移会被起始位置吸收。即使积累很多年，这种日期安排也不能充分恢复视差。数量增加不能补回没有观察过的轨道相位。

再设想只观察很短一段圆弧。小段正弦曲线看起来近似直线，自行和视差便容易互相补偿。跨越多种季节、覆盖足够时间，才能让直线漂移与年度曲线的差别显出来。

当前模拟在二点四年内等间隔取二十五个日期。时间零选在观测区间中央附近，可以减少起始位置与自行之间的纠缠。改变噪声只改变测量精度，不改变这些日期能提供哪种几何信息。

## 检查区间时，要真的重复抽样

默认真实视差为五十毫角秒。换一组噪声，会得到另一组位置和另一份视差估计。在模型假设内，估计值减真实值，再除以报告的标准误，应服从标准正态分布。

约百分之九十五的重复记录，应把真实视差包含在“估计值上下各一点九六个标准误”的区间内。这叫覆盖率。它与某一张图里的误差椭圆，看起来够不够宽，是两回事。

默认记录取距离二十秒差距、黄纬三十八度、东向自行十八毫角秒每年、北向自行七点二毫角秒每年，单坐标噪声标准差四毫角秒。随机种子为三千八百一十七。拟合得到视差四十九点五六二毫角秒，标准误零点九零七毫角秒，东向自行十八点四九九毫角秒每年；卡方四十四点六四，自由度四十五。重新运行模型脚本或导出默认记录可得到同一结果。配套测试生成一千二百份独立记录，检查视差区间覆盖率、标准化偏差均值，以及残差卡方的平均值。五十个读数减去五个拟合参数，留下四十五个残差自由度。模型正确时，平均卡方应接近四十五。

真实数据可能多出双星运动、校准误差或日期间相关。覆盖率测试验证这套已写明的模拟模型。真实 Gaia 误差还需借助校准源和重复观测检验。

对应阅读：Lindegren et al. · Lindegren et al.

## 亲手试一试

### [保留同一噪声，看几何与精度各做什么](https://sandboxphysics.com/zh/labs/stellar-parallax-proper-motion/)

1. 比较近星和远星预设，记下真实距离、拟合视差和标准误。解释哪一部分随距离明显改变。
2. 选“噪声里的摇摆”，看看拟合视差仍能得到数值，但区间为何更宽。
3. 导出观测，检查五十个位置读数、五个参数、二十五个日期，以及记录里保存的相关系数。

## 练习与答案

某次拟合视差为五十二毫角秒，标准误为一点五毫角秒。真实视差五十毫角秒落在近似百分之九十五区间内吗？

估计值上下各一点九六乘一点五，约为四十九点一至五十四点九毫角秒。五十在其中。一次包含真实值的区间不能单独验证覆盖率，需要重复记录。

为什么忽略相关系数后，参数误差不一定只会偏小？

相关会让误差椭圆沿一些方向变长、沿另一些方向变短。忽略它改变了不同残差方向的权重；最终参数方差可能变大也可能变小，取决于观测几何。

如果五十个读数恰好全部吻合理想模型，卡方为零，是否说明测量比报告的噪声更精确？

一次记录不能下这个结论。若噪声确为独立连续高斯抽样，完全零残差几乎不会发生；应检查记录的生成步骤，确认参考轨迹和带噪观测各自怎样生成。

[上一篇：从地球轨道推到恒星的视差椭圆](https://sandboxphysics.com/zh/stories/astrometry/parallax-geometry/) [下一篇：用二十四颗 Gaia 恒星比较两种距离估计](https://sandboxphysics.com/zh/stories/astrometry/gaia-distance-tutorial/)

## 来源与计算范围

1. [Lindegren et al., Gaia EDR3 — The astrometric solution, arXiv:2012.03380v1](https://arxiv.org/html/2012.03380v1)

   第 3.1、5.3 至 5.7 节，公式二十三、图十至十二。核读固定版本的源模型与协方差约定；DR3 基础天体测量继承 EDR3。

2. [Lindegren et al., Parallax bias versus magnitude, colour, and position, arXiv:2012.01742v2](https://arxiv.org/html/2012.01742v2)

   第 2.3、4.1、8 节，图二、五、二十一、二十二与表九、十。教程未施加零点修正，不称作经过校准的距离星表。
