---
title: "拟合移动亮结时，视角的不确定性藏在哪里"
description: "从冻结的合成位置拟合斜率，检查残差，比较双侧解与单侧速度、视角的整条可能曲线。"
canonical_url: "https://sandboxphysics.com/zh/stories/relativistic-jets/fitting-moving-knots/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/relativistic-jets/fitting-moving-knots/"
last_modified: "2026-11-13"
---

L3 · 方法指南

# 拟合移动亮结时，视角的不确定性藏在哪里

Sandbox Physics · 2026-11-13

若两侧亮结对称、匀速运动，测得两个向外的视速度，就能求出真实速度和视角。只测到一侧，通常会留下一整条可能曲线。这份练习先拟合保存的位置，检查直线是否合适，再决定能否反推几何。

配套使用[可下载的亮结拟合材料](https://sandboxphysics.com/zh/stories/relativistic-jets/materials/relativistic-jets-tutorial.zip)。压缩包包含三组冻结的合成记录，共三十次位置测量，以及只用Python标准库的分析程序。它们是教学合成数据。拟合输入只有位置与注明的误差，程序不读取生成时藏在作者材料里的真实参数。

## 一行数据记录了什么

CSV的列依次是side、arrival\_time\_T0、sky\_position\_L0、position\_sigma\_L0。分别表示哪侧亮结、到达时刻、沿喷流天空投影的带符号位置，以及为正的一倍标准差位置误差。时间单位为 $T_0=L_0/c$，位置用 $L_0$，于是位置对时间的斜率以光速为单位。远侧向外速度的正值，等于其带符号拟合斜率的负值。

练习假定距离标尺已知。真实角位置的自行，还需转换距离；宇宙学源也要使用合适的红移因子。这里把到达时刻当成准确值，各次位置误差相互独立、服从高斯分布。每一侧分别拟合一个截距，不强迫有噪声的位置序列穿过预先指定的原点。

## 运行保存位置的分析

将压缩包下载到新目录，用Python解压，进入解压后的文件夹，再读取保存的输入：

```
python3 -m zipfile -e relativistic-jets-tutorial.zip jet-fit
cd jet-fit
python3 verify_bundle.py
python3 analyze_saved_knots.py --inputs inputs --out rerun
python3 verify_bundle.py --rerun rerun
```

第一次验证检查下载成员与清单是否一致，最后一次验证按注明的数值容差比较新分析与随包保存的输出。拟合程序本身只读取输入CSV。不需要另装Python依赖。程序会在rerun目录写出analysis.json、fit-residuals.csv和one-sided-degeneracy.csv。再次运行时换一个新的输出目录名，程序会拒绝覆盖已经存在的目录。保留inputs不变，才能比较同一组测量。

终端给每个案例一个结果状态。拒绝匀速模型，本来就是其中一组预期的科学结果，不代表程序没有运行成功。列名不对、误差非正或时刻无法用于拟合，则会让命令报错停止。先读第一条错误，保留已经写出的结果，修正输入或调用方式后，再选新输出目录。

## 越精确的位置，拟合时权重越大

对单侧位置拟合直线 $x_i=b+mT_i$。截距 $b$、斜率 $m$ 由数据确定，第 $i$ 点的位置误差为 $\sigma_i$。加权最小二乘把下式降到最小：

$$
\chi^2=\sum_i\frac{(x_i-b-mT_i)^2}{\sigma_i^2}.
$$

误差越小，权重 $w_i=1/\sigma_i^2$ 越大。用这些权重求时间、位置的平均值，分别记为 $\bar T$、$\bar x$。先减去均值，斜率可以写成

$$
m=\frac{\sum_i w_i(T_i-\bar T)(x_i-\bar x)}{\sum_i w_i(T_i-\bar T)^2},
$$

再由 $b=\bar x-m\bar T$ 得到截距。把时间中心移到均值附近，也能减少任意的大时间零点带来的数值影响。在误差已知、相互独立的假设下，斜率方差为

$$
\sigma_m^2=\frac{1}{\sum_i w_i(T_i-\bar T)^2}.
$$

这些误差说明依赖刚才的测量模型。程序不会为了让约化卡方等于一，就暗中放大或缩小整组误差。

## 先看残差，再换成速度与视角

残差是测得位置减去直线预测的位置。再除以各自误差，就知道偏离相当于几倍测量误差。每侧六个时刻，减去两个拟合参数，剩四个自由度。卡方尾概率问的是：直线和误差假设成立时，出现至少这么大统计量的机会有多大？

练习预先把拒绝阈值定为 $0.001$。结果高于它，没有证明匀速运动；远低于它，则表示直线轨迹或给定误差不合适。

![保存的单侧速度视角退化曲线，以及被拒绝直线模型的归一化残差。](https://sandboxphysics.com/stories/relativistic-jets/figures/fitted-tracks.zh.desktop.svg)

原创图，使用保存的合成测量分析结果。一侧亮结的斜率对应整条视角、速度曲线；加速案例减去最佳直线后，归一化残差仍有明显弯曲。零线是拟合参考，点来自保存的位置残差。

C组专门展示这种情况。朝向侧四个自由度的卡方约为 $4282$，程序给出的尾概率在数值上舍入为零，表示极小，并非宣称某个概率事件在数学上绝不可能。远侧尾概率约为 $3.39\times10^{-7}$。分析状态为rejected-constant-speed-or-error-model，不给出匀速反演的速度和视角。很窄的斜率误差，也救不了形状不合适的直线模型。

## 两侧都可用时，再反推几何

把拟合得到的两侧正向外视速度记为 $a$、$r$。从到达时间几何可组合出

$$
\begin{aligned}
u&=\frac{a-r}{a+r}=\beta\cos\theta,\\
v&=\frac{2ar}{a+r}=\beta\sin\theta.
\end{aligned}
$$

这里小写 $u$ 表示无量纲的纵向组合，与偏振章的大写斯托克斯量不同。于是

$$
\begin{aligned}
\beta&=\sqrt{u^2+v^2},\\
\theta&=\operatorname{atan2}(v,u).
\end{aligned}
$$

求完还要检查真实速度低于光速、角度落在所定义的朝向范围。代数公式给出数字，不代表这个数字一定符合模型的物理条件。

A组两侧拟合斜率约为 $1.96654$ 与 $-0.291950$，反演得到 $\beta\simeq0.89903$、$\theta\simeq34.438^\circ$。把两侧独立的斜率误差作一阶传播，得到一倍标准差约为 $0.00095$ 与 $0.411^\circ$。这是解附近的局部误差估计，没有包含距离、共同定标误差或图案与物质速度差，也没有计算完整的联合置信区域。

## 单侧结果应保留为一条曲线

B组只测朝向侧，视速度约为 $4.61161$，形式斜率误差约为 $0.00797$。把单侧视速度公式倒过来，可得

$$
\beta(\theta)=\frac{a}{\sin\theta+a\cos\theta}.
$$

沿这条曲线同时改变真实速度和视角，预测的斜率完全相同。输出列出九十七个低于光速的采样解，它们不是九十七次独立观测。点估计斜率对应的洛伦兹因子下限约为 $4.71879$。

另外两列把斜率上下各 $1.96$ 倍形式误差，在每个固定视角映射成速度。它们是单个斜率区间的逐点变换，没有把整条曲线变成唯一视角，也不是速度、角度的联合百分之九十五区域。最后的标志列提醒读者，变换后的区间端点是否仍低于光速。

## 换一种提问方式

1. 删去A组远侧数据，哪些推断还能保留？
2. 所有位置不动，把误差都增大一倍。拟合斜率和卡方分别怎样变化？
3. 为什么不能直接把实际亮度比塞进各向同性公式，自动补齐B组缺少的方程？

答案与理由

朝向侧斜率仍能拟合。但两个运动参数只剩一条方程，应保留速度、视角的整族可能，以及依赖模型的下限，不能继续沿用原来的双侧唯一解。

所有权重按同一比例缩小，斜率和截距不变。形式参数误差增大一倍，卡方降为四分之一。这说明误差设定会直接影响是否拒绝模型。

有序磁场强度同时包含多普勒增亮与静止系方向权重。两侧内禀差异、图案与发光物质速度的关系，也都可能影响结果。增加观测量时，需要同时写清它的物理模型。

## 来源

- 下载包包含保存的输入表、分析源文件、保存输出和合成来源说明。上面的数值来自这些位置测量及其拟合。[便携合成练习](https://sandboxphysics.com/zh/stories/relativistic-jets/materials/relativistic-jets-tutorial.zip)。
- Urry与Padovani（1995），附录A的A4及图案速度与物质速度的关系。[相对论运动几何](https://ned.ipac.caltech.edu/level5/Urry1/UrryP_appena.html)。
- 同文附录B，尤其B6后的讨论。[把辐射作为另一条约束时的假设](https://ned.ipac.caltech.edu/level5/Urry1/UrryP_appenb.html)。

## 动手检验预测

### [把轨迹与位置拟合放在一起看](https://sandboxphysics.com/zh/labs/relativistic-jets/)

1. 先判断：只知道一个视速度，能否唯一确定真实速度和视角？
2. 选定一组速度、观测角度，导出轨迹，把带符号的两侧斜率与正文公式比较。
3. 误差和残差练习使用另附的合成位置材料；Lab导出的是无噪声模型轨迹。

## 继续阅读

相对论喷流怎样进入我们的望远镜 · 阅读路径

### 相对论喷流怎样进入我们的望远镜

1. [文章 **喷流为什么能在照片上跑得比光快**](https://sandboxphysics.com/zh/stories/relativistic-jets/seeing-superluminal-motion/)
2. [文章 **从发光时刻拼出一张照片**](https://sandboxphysics.com/zh/stories/relativistic-jets/emission-and-arrival-times/)
3. [文章 **多普勒亮度与移动图案的速度**](https://sandboxphysics.com/zh/stories/relativistic-jets/doppler-brightness-and-moving-patterns/)
4. [文章 **先读偏振，再画磁场方向**](https://sandboxphysics.com/zh/stories/relativistic-jets/stokes-and-projected-magnetic-fields/)
5. [当前页面 **拟合移动亮结时，视角的不确定性藏在哪里**](https://sandboxphysics.com/zh/stories/relativistic-jets/fitting-moving-knots/)
6. [文章 **逐个参考系读一篇螺旋喷流偏振论文**](https://sandboxphysics.com/zh/stories/relativistic-jets/reading-structured-jet-polarization/)
