用线/连续谱不变量替换计数型 GTI 指标
- Date: 2026-09-10
- Type: refactor(指标替换)+ feature(零分布校准、故障注入、留出验证)
- Risk: high — 这会作废一个已公开发布的指标,并改变公开页面上的核心论断
- Related docs:
results/sp_gti_proposal_20260909/proposal.md(当前公开文档,§8.1–8.7 是要被替换的部分)cognition-os/insights/I003_lineanchored_2p1c_temporal_qualification.md(线锚 2.1c 的原始设计,本规格是它的延续而非替代)results/m31_mos2_variable_sp_removal_20260910_e1/variable_sp_removal.json(被作废指标的受体,保留作历史对照)
0. 裁决状态
| # | 事项 | 状态 |
|---|---|---|
| 1 | Pareto 纵轴由 G 改为 \(R = C_\mathrm{all}/C_K\) | 已采纳(作者裁决,2026-09-14) |
| 1b | 选择能段固定为视场 2.5–8.0 keV | 已采纳(作者裁决,2026-09-14) |
| 1c | 观测窗上界 2.395 keV(93 格 × 15 eV;标签写实际值,不写 2.400) | 已采纳并复核(作者裁决,2026-09-14;渗漏检验见 §3.3) |
| 1d | 线心固定,数值更新为 Al-K 1.4879、Si-K 1.7466 keV | 已采纳(作者裁决,2026-09-14) |
| 2 | 线/连续谱耦合改正是否施加 | 待裁决,但不阻塞实现(2026-09-14)。见 §3.9.1 与 §0.2:实现照常计算并记录 \(\lambda\)、\(s\lambda\)、\(\delta s\,\lambda\),但不施加;闸门判定标为 provisional。裁决落定后改为施加是一行改动。 |
| 3 | 「高 \(R\) 且闸门失明」的观测如何处理 | 已解决(2026-09-14)。约束改述为 \(L_\mathrm{all} = L_K\) 后(§3.9),检验力自动正比于切掉的份额,原先 11 个 UNTESTED 拆为 12 个「平凡满足」与 1 个真正未检验(0800731101)。不再需要额外判据。 |
第 2、3 项未裁决前,实现不得开工——两者都改变受体字段与前沿图的画法。规划者第 2 项的原建议(施加改正)已撤回,理由见 §3.9.1;第 3 项已由约束改述解决,见 §3.9。
0.1 框架总览
单个观测的 GTI 选择,现在是一个带约束的二维前沿问题。
- \(T_K\):保留的活时间(或其份额 \(f_T\))。越大越好。
- \(R = C_\mathrm{all}/C_K\):1.000–2.395 keV 连续谱的降低倍数。越大越好。
- 约束:\(L_\mathrm{all} = L_K\)——GTI 必须保住全时段的 Al-K 线流量。这是唯一在任何 \(f_T\) 下都有定义的形式;等价的 \(L_K = L_B\) 在被删时段趋于空时失去意义。
约束是一个不是两个,而且检验力自带匹配。 由恒等式 \(L_K - L_\mathrm{all} = (1-f_T)(L_K - L_B)\),约束被违反的幅度正比于切掉的份额:切得多就既需要检验又有检验力,切得少则两者同步消失。因此不需要人为的容差门槛。实现仍须在不相交的 \(K\) 与 \(B\) 上计算(只有该形式两项误差独立),但判定按 \(L_\mathrm{all}\) 陈述(§3.9)。
三个能段分工,互不相交:
| 能段 | 职责 | 已裁决 |
|---|---|---|
| 2.5–8.0 keV(视场) | 独立构造 GTI。角落曲线同能段,只作诊断,不得用于选择 | §0 第 1b 条 |
| 1.000–2.395 keV | 观测窗:拟合出 \(L_K\)、\(C_K\),闸门与纵轴都在这里 | §0 第 1c 条 |
| \(< 1.0\) keV | 科学波段(CGM),不参与任何选择或判定 | — |
不相交是设计的核心,不是巧合:
- 选择带与观测窗重合会在无软质子变率的观测上凭空造出 7–8% 的假降低,\(+5.5\sigma\) 与 \(+6.1\sigma\)(§3.3)。
- Al-K 在 1.486 keV,落在选择带之外,因此闸门具备判定力;若落入带内,闸门会静默恒真(实测比值 0.907–0.939 却照样通过)。
- 选择带内的偏差实测 7%,而 1 keV 以下与零相容(\(0.9965 \pm 0.0025\)、\(0.9955 \pm 0.0038\))——科学波段未被污染。
为什么约束和目标是同一枚硬币。 \(R\) 单调随切得更狠而增大,因此需要有东西阻止「专挑连续谱向下涨落的格子」这种纯噪声刷分。Al-K 就在观测窗内,这么选会同时压低线流量,闸门当场触发——已在重合配置下实测到 \(L_K/L_B\) 降至 0.7680/0.8034,闸门 FAIL 于 \(-5.4\)/\(-4.6\)。让 \(R\) 有意义的那条线,同时是防止 \(R\) 被噪声刷高的那道锁。
本框架不回答什么(§3.6、§3.10):不测绝对软质子计数;不识别基底中的稳态软质子(恒定成分使 \(C_\mathrm{all}\) 与 \(C_K\) 同时抬高,\(R\) 仍为 1);\(R\) 的天花板由观测自身的耀发量决定,不可跨观测平均、排序或汇总。
尚未闭合的两处(§0 第 2、3 项):线/连续谱耦合改正的方向与幅度;以及改正后浮现的 \(-2.2\sigma\) 至 \(-2.5\sigma\) 残余线亏损的成因——若 Al-K 荧光确随粒子通量变化,则约束 \(L_K = L_B\) 本身部分不成立,那是设计层面的问题。
0.2 阶段性冻结(2026-09-14)
本节冻结的是设计,不是结果。 冻结之后仍可修改,但必须走同样的路径:先测量,再改文档,并在受体中记录被推翻的是什么。
已冻结,实现据此开工:
| 项 | 内容 |
|---|---|
| 问题陈述 | 单观测内,求 \((T_K,\,R)\) 的 Pareto 前沿,约束 \(L_\mathrm{all} = L_K\) |
| 纵轴 | \(R = C_\mathrm{all}/C_K\) |
| 选择 | 视场 2.5–8.0 keV;角落同能段仅作诊断 |
| 观测窗 | 1.000–2.395 keV,93 格 × 15 eV,整数格数构造 |
| 连续谱模型 | 对数抛物线(单段带曲率)+ 双高斯,Cash |
| 线心 | 固定 Al-K 1.4879、Si-K 1.7466 keV;两段拟合不得放开 |
| 活时间 | 逐格 TIMEDEL × FRACEXP;逐格 live/nominal 分布入受体 |
| 闸门 | 三类:平凡满足/已检验/真正未检验,按 \(\max|L_\mathrm{all}/L_K-1|\) 分 |
| 三量并记 | \(L_\mathrm{all}\)、\(L_K\)、\(L_B\) 各带误差,外加 \(f_\mathrm{line}\) 逐段 |
| 零分布 | 置换,不得用解析传播代替 |
仍未闭合,但已结构化为不阻塞实现:
- 耦合改正的施加与否(§0 第 2 项)。 实现照常计算 \(\lambda = \ln(C_B/C_K)\)、\(s\lambda\)、\(\delta s\,\lambda\) 并全部写入受体,但不施加于判定;闸门结论标为
provisional。这样裁决落定后,施加与否是一行改动,且改动前后的数在受体里可直接对照。 - 残余线亏损的成因(§3.9.1 末)。 改正后保留段 Al-K 低于被删段 2.6%–4.2%(\(-2.2\sigma\) 至 \(-2.5\sigma\))。若其成因是 Al-K 荧光随粒子通量变化,则约束 \(L_\mathrm{all} = L_K\) 本身部分不成立——那是框架层面的问题,不是容差问题。查法为独立任务:以角落 2.5–8.0 keV 率作粒子通量探针(角落在视场外,不接收聚焦软质子),检验 Al-K 强度是否随其上升。该任务与实现并行,不互相阻塞。
- 线心的跨年稳定性。 1.4879 目前只对本观测集(跨数月)成立。跨年检验在 CDFS 与 M31 全档案上独立进行。不影响闸门(线心误差在观测内约掉,且已实测不随计数率变),只影响绝对流量。
冻结时的已知空白,不得在实现中被悄悄填上:
- \(f_T \to 0\) 一端无样本(本集最小 0.302)。该端的处理已写明(§3.9),但未经数据检验。
- 2% 分界所依赖的空隙(1.95%–3.00%)是本样本的性质,不保证普适。
- 拟合简并的排除只有 2.2σ。
- 0.1 keV 缓冲的渗漏检验只在 2 个零对照、400 次抽样下做过。
1. Background & Goal (WHY)
当前指标 A(K) = Σ(c_j − m·τ_j) 与 η(K) = A(K)/A_tot 数的是"高出基底的超出计数"。计数原理上分不开三件事:真实软质子、按率选择所挑中的向上 Poisson 涨落、以及普通谱的整体强度变化。已实测到的失效:在一个无可探测软质子变率的观测(0800730201)上,若时间选择所用的能段与作为分母的连续谱能段重合,比值型统计量相对置换零分布偏离 +8σ 到 +11σ;纯 Poisson 零假设下 A_tot 有 88.4% 为正、名义 z≥5 的假阳性率达 0.5%–3.63%。
替换方案是本项目更早的线锚不变量:
其中 L 是仪器荧光线强度、C 是连续谱强度。注意 C 的定义在本规格中已经变了:\(G\) 时代它是「无线连续谱窗」里的计数,靠旁瓣避开线;现在它是对数抛物线拟合在整个 1.00–2.20 keV 上的积分,线与连续谱的划分由拟合承担(§3.2)。旁瓣设计已作废,不得在实现中复活(§4)。按率选择只是把整条谱等比放缩,线与连续谱同步变化,所以 G 的零分布坐在 1 上;只有"加连续谱而不加线"的成分(软质子正是如此)才能把它推离 1。曝光在每个比值内部即约掉,因此 G 对活时间记账免疫。
G 在本规格中被进一步改写成受约束的形式(§3.2):作者的目标是「保持 GTI 内 1–2 keV 仪器线流量不变,同时 1–2 keV 连续谱越低越好」,这两句话在闸门成立时精确等价于最大化连续谱降低倍数 \(R = C_\mathrm{all}/C_K\)。R 取代 G 作为 Pareto 纵轴,理由是 G 的分母引用被删时段、其成分随 \(f_T\) 变化,跨不同 \(f_T\) 比较 G 等于换尺子量;R 的参照对单个观测固定。G 保留为审计量。
终态:A/η 从公开文档与公开页面撤下;(f_T, R) 成为 Pareto 两轴,线流量闸门成为准入条件;页面按可证伪性要求,完整展示零控制、强耀发、中间态、连续谱模型对账、故障注入、重合陷阱的观测依赖性、闸门盲区与留出验证。
2. Scope (WHERE)
Files to create
scripts/m31_mos2_line_continuum_invariant.py— 计算 \(R\) 与 \(f_T\)、线流量闸门(含耦合改正)、置换零分布、训练/留出划分,写出受体。G作为审计量并列输出,不作前沿纵轴。scripts/m31_mos2_invariant_fault_injection.py— 故障注入矩阵(见 §3.7)。results/m31_mos2_line_continuum_invariant_20260910_g1/— 新受体目录(JSON + CSV)。results/sp_gti_proposal_20260909/figures/下新增图件(见 §3.11),文件名由实现者自定,但必须以fig开头并在proposal.md中被引用。
Files to modify
scripts/make_proposal_figures.py— 新增本规格要求的图;删除fig9_construction与fig10_eta_sample(它们展示的是被作废的A/η);修正fig8说明里"耀发带来曲率"的因果错述(实测需要曲率的是宁静谱)。results/sp_gti_proposal_20260909/proposal.md— §8.1 整节替换;§4.3、§8.7 相应改写;其余章节按交叉引用一致性调整。site/cdfs-mos-sp-audit/sp-gti-proposal.html及其 figures 目录 — 重新渲染并发布。
Files NOT to touch (explicit boundary)
results/m31_mos2_frontier_transfer_20260906_r2/、..._r3/、..._20260907_a1/、..._20260908_b1/、..._20260910_e1/— 历史受体一律只读。e1尤其要保留:新文档需要引用它来说明旧指标为何被作废。scripts/m31_0800730101_mos2_line_ratio_pareto.py— 其中的_gehrels_variance是刻意保留但已加注的历史代码,动它会破坏旧受体的可复现性。scripts/m31_mos2_variable_sp_removal.py— 不要删除、不要修改。它是被作废指标的实现,必须原样保留以便复现e1受体。只在文件顶部 docstring 追加一行状态标记:SUPERSEDED by scripts/m31_mos2_line_continuum_invariant.py; retained for reproducibility of the e1 receipt.- 任何
.env*或配置文件。
Database changes
None.
3. Implementation Notes (HOW, coarse)
3.1 时间格与活时间
- 时间格长度 100 s,沿用现有节奏(未优化,记入 §8.7 的未定选择)。
- 每格必须计算实际 live exposure:从该观测自己的
EXPOSU扩展逐时间片取TIMEDEL × FRACEXP再按格求和,而不是给「含至少一个事件的格子」一律赋满格。
为什么不能用「有计数的格子 × 格宽」。 这个估计法的误差通常被认为受一个格宽约束——缺的曝光都在曝光段边缘,骑边界的格子最多差一格。该推理对边界成立,但挡不住另一类格子:完全落在观测内部、有计数、却只有部分活时间(死时间、计数模式损失、遥测空洞,逐片记在 FRACEXP 里)。已实测(30 个观测,100 s 格,5395 个占用格):
| 用途 | 该估计法的表现 | 判断 |
|---|---|---|
| 总曝光 | \(+1.92\%\)(539.7 vs 529.5 ks,1 ks 差约 19 s) | 够用 |
| 逐格率,99.1% 的格子 | 系统性少 2.4%(live/nominal 中位 0.976) | 无害,均匀乘性因子在排序与比值里约掉 |
| 逐格率,0.9% 的格子 | 率高估中位 4.87 倍,最差 7.8 倍(live/nominal 最小 0.128) | 致命 |
传导路径是排序:GTI 按率切格子,一个只有 18 s 活时间、计数正常的格子按满格算就得到 5 倍的率,看上去就是一个耀发,被顶到率排序最前面——正是耀发切除下刀的位置。实测在 70% 保留份额下,79 个格子落到切割线的错误一侧(占全部格子 1.46%,涉及 7.9 ks 标称时间)。79 > 49 是因为每个被顶上去的假耀发格都要挤掉一个本该被切的真格,一次错位换两个。
作废指标 A/η 的 tau = np.full(nb, CELL) 正是此法,它产生了 \(-11.5\sigma\) 的假线漂移(e1 受体中的 line_drift_z 因此无效)。这个错误不报错、数值也不荒谬,只表现为线在缓慢漂移。
判据: 曝光当归一化用(总计数 ÷ 总时间)时该估计法够用;当判别量用(按率排序决定切哪些格)时必须用真活时间。GTI 构造属于后者。
退路优先级(EXPOSU 不可用时): ① TIMEDEL × FRACEXP;② 格子与 GTI 区间求交求和——能抓边界,抓不到格内死时间,正是上表 0.9% 那条尾巴;③ 有计数的格子 × 格宽,只够估总量。
- 必须输出的诊断:逐格
live/nominal的分布(最小值与 0.1/1/50 百分位)写入受体。最小值贴近 1 说明尾巴不存在、按率排序安全;一旦 0.1 百分位掉到 0.2 量级,说明排序已被记账假象驱动。让估计法自己报告它什么时候不能用,比在文档里记一条规则可靠。 - 活时间用于选择格子(按率排序/切分),并用于把计数折成率送进拟合。它不以「每格满格」的形式进入任何分子分母——旧指标正是栽在这里(
tau = np.full(nb, CELL)),这一点要在 docstring 里写清楚。
3.2 Pareto 纵坐标:受闸门约束的连续谱降低倍数
作者的目标陈述是两句话:保持 GTI 内 1–2 keV 仪器线流量不变,同时 1–2 keV 连续谱越低越好。 本节把它写成可执行的定义,并说明它与早先的 G 是什么关系。
记候选 GTI 为 \(K\),\(L\) 为 Al-K 线流量,\(C\) 为同一次拟合给出的 1.0–2.2 keV 连续谱积分流量(两者都来自同一次拟合,线与连续谱的划分由拟合决定,不假设线下连续谱等于旁带直线内插;连续谱模型见下)。
- 记号。 \(K\) 指候选 GTI 保留的时段(kept),\(B\) 指被删时段(BTI)。注意与纵轴 \(R\) 区分:\(R\) 是连续谱降低倍数,不是「rejected」的缩写——本规格早期草稿曾用 \(L_R\) 表示被删时段的线流量,与纵轴同字母,已全部改为 \(L_B\)。
约束(闸门):\(L_K\) 与全时段值 \(L_\mathrm{all}\) 相容。
- 目标:\(C_K\) 越小越好。等价地,最大化
Pareto 的两个坐标就是 \((f_T,\;R)\),\(f_T\) 为保留活时间份额。
连续谱模型:单段,带曲率,不带折点。 拟合窗 1.00–2.20 keV 整个在 3.2 keV 折点以下,没有折点要建模,所以一段就够——在这个窗口里折断幂律会退化成单幂律,写成「折断幂律」既无意义又会误导读者以为折点参与了拟合。
但这一段不能是裸幂律:似然比检验在宁静谱上拒绝了单幂律(\(\Delta C\) 中位 9.1,17/23 超过 99%),需要曲率——来自天空 Fe-L/Mg 复合体与 1.84 keV 的 Si K 边,与软质子无关。因此取对数抛物线(单段幂律加曲率项 \(\beta\)):
加两个高斯(Al-K 1.49 keV、Si-K 1.74 keV,共享宽度),Cash 统计量。
折断幂律只用在跨越 3.2 keV 的拟合上——软质子注入模板(§3.7 第 2 格)与去除分量的谱斜率测量。两者不要混用,也不要为了「统一模型」把折断幂律推到本窗口里;§4 已就此立了一条禁止项。
与 G 的关系。 令 \(W(K)=L_K/C_K\)。在闸门成立、即 \(L_K=L_\mathrm{all}\) 时,
所以「线不变 + 连续谱最低」在闸门下精确等价于「连续谱降低倍数最大」。\(R\) 不是 \(G\) 的近似,是 \(G\) 在约束面上的值。
为什么用 \(R\) 而不用 \(G\)。 \(G=(L/C)_\mathrm{GTI}/(L/C)_\mathrm{BTI}\) 的分母引用被删时段,而被删时段的成分随切多少而变:\(f_T\) 一变,\(G\) 的参照物就换了一个。跨不同 \(f_T\) 比较 \(G\) 是在拿不同的尺子量。\(R\) 的参照 \(C_\mathrm{all}\) 对单个观测是固定的,与候选 \(K\) 无关,因此同一观测内不同策略的 \(R\) 可以直接比较——这正是画前沿所需要的。G 降级为审计量,仍然计算并记入受体,但不作为前沿纵坐标。
闸门同时是防刷分的锁。 \(R\) 单调随切得更狠而增大,因此必须有东西阻止「专挑 1–2 keV 连续谱向下涨落的格子」这种纯噪声选样。闸门就是那把锁:Al-K 位于 1–2 keV 之内,这样选会同时压低线流量,闸门立刻触发(已实测:当线落在选择带内时比值降到 0.907–0.939)。让 \(R\) 有意义的那条线,同时是防止 \(R\) 被噪声刷高的那道锁——这是 \(G\) 不具备的性质,也是保留「线在 1–2 keV 之内」这一设计的理由。
已实测(归档 2.filter GTI,30 个观测,MOS2):
| 量 | 结果 |
|---|---|
| \(C_\mathrm{all}\) | 0.266 – 3.538 cps,跨 13.3 倍 |
| \(C_K\) | 0.266 – 0.610 cps,27 个落在 0.27–0.36 |
| \(R\) | 中位数 1.86,范围 1.000 – 12.80 |
| \(f_T\) | 中位数 0.786 |
| Spearman \(\rho(f_T,R)\) | \(-0.850\) |
\(C_\mathrm{all}\) 跨 13 倍而 \(C_K\) 收敛到同一个底,是纵坐标在测真实共同基底、而非各观测任意归一的直接证据。\(\rho=-0.850\) 说明两个坐标强烈反相关——前沿存在的前提。
3.3 硬性设计规则:选择能段与 1–2 keV 拟合窗必须不相交
这条规则在防什么。 候选 GTI 是按某个能段的计数率排序切格子的。若那个能段与 \(C\) 所在的 1.00–2.20 keV 拟合窗重合,就等于按分母自身的噪声选样——挑中的「最安静的格子」里有一部分只是 \(C_K\) 向下的 Poisson 涨落,\(R = C_\mathrm{all}/C_K\) 被直接刷高,整个过程一个软质子都不需要。
换到 \(R\) 之后这条比 \(G\) 时代更要紧:\(G\) 隔着一层比值,\(R\) 的分母直接就是被选的那个量。
已实测(\(R\) 上,保留份额 0.70,100 s 格,置换零分布 200 draws):
| 观测 | 选择能段 | \(R\) | 置换零分布 | \(z_\mathrm{null}\) | \(L_K/L_B\) | 闸门 |
|---|---|---|---|---|---|---|
| 0800730201(无变率) | 1.00–2.20 重合 | 1.085 | \(1.0013 \pm 0.0137\) | +6.1 | 0.8034 | FAIL (\(-4.6\)) |
| 0800730201 | 2.50–8.00 不相交 | 0.990 | \(0.9992 \pm 0.0148\) | \(-0.6\) | 1.0530 | PASS |
| 0800730401(无变率) | 1.00–2.20 重合 | 1.074 | \(0.9996 \pm 0.0135\) | +5.5 | 0.7680 | FAIL (\(-5.4\)) |
| 0800730401 | 2.50–8.00 不相交 | 0.980 | \(0.9994 \pm 0.0140\) | \(-1.4\) | 0.9846 | PASS |
| 0800730101(有耀发) | 1.00–2.20 重合 | 1.531 | \(1.0016 \pm 0.0262\) | \(+20.2\) | 1.0635 | PASS |
| 0800730101 | 2.50–8.00 不相交 | 1.533 | \(1.0002 \pm 0.0245\) | \(+21.7\) | 1.1156 | PASS |
两个无可探测软质子变率的观测上,重合凭空造出 7–8% 的「连续谱降低」,相对置换零分布 \(+5.5\sigma\) 与 \(+6.1\sigma\);脱钩后回到 \(0.98\)–\(0.99\),与零分布相容。
「无软质子」这个说法要拆成三层,不得笼统使用。 以 0800730201 为例:
- 100 s 尺度上无可探测变率:2.5–8.0 keV 视场光变对恒定率的 \(\chi^2/\mathrm{dof} = 1.03\)(156 个满格,\(p = 0.39\)),与恒定率加 Poisson 噪声无法区分。对照:0800730101 为 35.6,0800732501 为 2005。
- 但确实含少量真软质子:归档
2.filter切掉了两段各 60 s,在 2.5–8.0 keV 视场里是均值的 \(1.45\times\) 与 \(1.63\times\)(约 \(+2.7\sigma\) 与 \(+3.7\sigma\)),而角落同时段只有均值的 \(0.73\times\)。视场涨、角落不涨,正是聚焦软质子的签名而非粒子本底上升——角落监测器存在的意义就是分辨这两者。 - 稳态成分完全不可见:若软质子在整个观测里恒定,\(C_\mathrm{all}\) 与 \(C_K\) 被一同抬高,\(R\) 仍为 1。见 §3.10(c)。
这不动摇上表的结论,且可定量排除。 那两段共 260 个事件、120 s,相对 GTI 均值 2.0022 cps 的超出仅 19.7 个事件,占全时段 31254 个的 0.063%;而重合造出的是 8.5% 的降低,相差 135 倍。\(f_T = 0.70\) 扔掉的是 4.7 ks,不是这 120 s。因此零控制观测的资格成立,但在页面与受体中必须写作「无可探测变率」,不得写作「无软质子」。
这个陷阱为什么阴险——必须写进页面。 看后两行:在有真耀发的 0800730101 上,重合与不相交给出几乎相同的 \(R\)(1.531 vs 1.533),两种选择挑出的 188 个格子里共享 183 个。原因是真耀发同时抬高两个能段的计数率,两个能段对「哪些格子是坏的」意见一致,选择偏差被真信号淹没。
所以重合专门在对照观测上造假:有耀发的数据它基本不动,干净的数据它给你 6σ 的假信号。 只在耀发观测上验证过的流程永远发现不了它。故障注入矩阵第 3 格(§3.7)必须在零软质子观测上跑,不得只在耀发观测上跑。
观测窗上界已裁定:2.395 keV。 网格为自 1.000 keV 起的 15 eV 分格,\((2.400-1.000)/0.015 = 93.33\) 不是整数,故取 93 格、上界 2.395,标签一律写实际值——早先 np.arange(lo, hi+de, de) 多生成一格、实际窗口为 1.000–2.215 而文档写 1.00–2.20,即因此而来。
2.395 距选择带下沿只有 105 eV。MOS 在 2.5 keV 的能量分辨 FWHM 约 85–90 eV(\(\sigma \approx 37\) eV),故缓冲约 \(2.8\sigma\),而 2.200 为 \(7\sigma\)。缓冲变薄意味着选择偏差可能越过边界渗入(能段并不重叠,但重分布不是一把刀),因此必须独立检验,2.500 的结果不能外推。
| 观测 | 上界 | 格数 | 窗内计数 | \(R\) | 零分布 sd | \(z_\mathrm{null}\) | \(\sigma_L/L\) |
|---|---|---|---|---|---|---|---|
| 0800730201(无变率) | 2.200 | 80 | 8060 | 0.990 | 0.0138 | \(-0.8\) | 2.55% |
| 0800730201 | 2.395 | 93 | 8471 | 0.989 | 0.0128 | \(-0.8\) | 2.51% |
| 0800730201 | 2.500 | 100 | 8678 | 0.989 | 0.0124 | \(-0.8\) | 2.48% |
| 0800730401(无变率) | 2.200 | 80 | 7675 | 0.980 | 0.0152 | \(-1.4\) | 2.69% |
| 0800730401 | 2.395 | 93 | 8025 | 0.980 | 0.0131 | \(-1.6\) | 2.65% |
| 0800730401 | 2.500 | 100 | 8228 | 0.979 | 0.0134 | \(-1.5\) | 2.62% |
| 0800730101(有耀发) | 2.200 | 80 | 19881 | 1.533 | 0.0265 | \(+20.1\) | 2.20% |
| 0800730101 | 2.395 | 93 | 21252 | 1.548 | 0.0261 | \(+20.9\) | 2.18% |
(400 次置换抽样,保留份额 0.70。)
判据与结论。 渗漏的签名是:在没有真东西可找的无变率观测上,\(z_\mathrm{null}\) 随窗口展宽而系统性偏正。实测完全没有——\(-0.8/-0.8/-0.8\) 与 \(-1.4/-1.6/-1.5\),三个窗口一致。2.395 因此安全。它拿到可得收益的约三分之二(计数 \(+5.1\%\),对 2.500 的 \(+7.7\%\)),同时保住 105 eV 缓冲。
这条收益本身很小,必须如实说: 全样本上 2.2 → 2.5 使 \(\sigma_L/L\) 由 2.14% 收紧到 2.09%(中位改善 2.8%,12/12 个观测一致变紧),而闸门的 \(\sigma_\mathrm{tot}\) 是 5%–10%,没有任何观测会因此从 UNTESTED 变为可判(0800731101 的 \(\sigma_\mathrm{ratio}\) 由 0.166 收到约 0.158,离 0.10 仍远)。取 2.395 是因为它免费,不是因为它解决了什么。
线心已裁定:固定,数值更新。 Al-K 取 1.4879 keV,Si-K 取 1.7466 keV,替代原先的 1.486/1.740。依据是 30 个观测的全时段谱在线心自由时的拟合:
| 量 | 结果 |
|---|---|
| \(E_\mathrm{Al}\) 观测间 | 均值 1.4879 keV,sd 0.9 eV,全距 3.8 eV,较 1.486 偏 \(+1.9\) eV |
| \(E_\mathrm{Si}\) 观测间 | 均值 1.7466 keV,sd 4.4 eV,较 1.740 偏 \(+6.6\) eV |
| 放开线心的 Cash 改善 | 中位 9.3(2 个额外参数)——假定值确实偏了 |
| 线流量 自由/固定 | 中位 0.9979,最大偏差 0.66% |
| 保留段与被删段之间的线心移动 | 均值 \(\mathbf{-0.04 \pm 0.44}\) eV,sd 1.98 eV,最大 4.0 eV,\(n = 20\) |
- 两段拟合不得放开线心。 最后一行是判据:被删段计数率高数十倍,线心却纹丝不动(\(-0.1\sigma\)),所以「线心随计数率漂移」这一机制不存在,闸门用固定线心是安全的。放开只会多一个自由度、把误差做大;且当线被连续谱淹没时(0800731101 的被删段线仅占计数的 3.1%),线心会被噪声推着走,把纯噪声的位置差异塞进 \(L_B\)。
- 不必逐观测重定线心。 \(E_\mathrm{Al}\) 的观测间散布 0.9 eV 仅为线宽 \(\sigma \approx 37\) eV 的 1/40。
- Si-K 散布是 Al-K 的 5 倍,但这不是增益漂移:若为增益,两线应按比例同动,\(E_\mathrm{Si}\) 全距应为 \(3.8 \times 1.740/1.486 = 4.5\) eV,实测 20 eV。该散布主要来自 Si-K 自身较弱、线心测不准。
- 长期漂移已测(2026-09-14,受体
results/xmm_mos2_line_centroid_drift_20260914_c1/):
| 量 | 结果 |
|---|---|
| 时间跨度 | 2000-07-09 至 2022-02-09,21.6 年 |
| 观测数 | 找到 185,拟合 140,失败 45 |
| \(E_\mathrm{Al}\) 漂移 | \(+0.115 \pm 0.011\) eV/yr(受体标 10.1σ) |
| 过散改正后 | 线性拟合 \(\chi^2/\mathrm{dof} = 5.36\),误差 \(\times 2.32\) → 4.4σ |
| 21.6 年累计 | 2.5 eV,为线宽 \(\sigma \approx 37\) eV 的 1/15 |
| \(E_\mathrm{Si}\) 漂移 | \(+0.290 \pm 0.044\) eV/yr,过散改正后 5.2σ,累计 6.3 eV |
| M31 正确性自检 | 通过:30 个观测复现 Al-K 1.48787/散布 0.90 eV,Si-K 1.74633/3.50 eV |
两处必须如实标注,不得沿用受体首页的措辞:
- 这是 M31 单档案研究,不是跨档案研究。 CDFS 的 40 个观测全部失败于
no_event_files_matched——该档案只存处理后的图像产品(*-obj-im-*.fits、mask、曝光图),pps/为空,没有事件表。21.6 年的跨度全部来自 M31。受体首页的「found 185 / processed 140」会让人误以为两个档案都进来了。 - 漂移显著度须按过散因子折算。 受体标的 10.1σ 未计入 \(\chi^2/\mathrm{dof} = 5.36\) 的过散,实际约 4.4σ。漂移真实,但不是标题所示的量级。
对本规格的影响:无。 本观测集跨数月,期间漂移 \(< 0.1\) eV,远小于观测间散布 0.9 eV;线心误差在观测内约掉,且已实测不随计数率变(\(-0.04 \pm 0.44\) eV)。1.4879 对本观测集成立。 若将来把方法用到跨年数据集,应按 0.115 eV/yr 修正,届时 0.9 eV 的观测间散布也开始重要。
选择能段已裁定:视场 2.5–8.0 keV(PI 2500–8000 eV)。
- 这是归档
2.filter所用的能段,与 1.00–2.20 keV 拟合窗天然不相交,§3.3 的约束因此在默认配置下由构造保证。程序校验仍然保留,因为策略网格若将来扩展到其他能段,这条必须继续生效。 - 闸门因此是带电的。 Al-K 在 1.49 keV,落在选择带之外,所以闸门具备判定力。若线落进选择带,闸门会静默地恒真——实测那种情形下比值掉到 0.907–0.939 却照样通过(§3.9)。
- 用视场曲线选择,角落曲线作诊断,不得互换。
2.filter目录同时提供fovlc(视场)与corlc(视场外角落,!(CIRCLE(...)))。归档 GTI 的阈值加在视场曲线上:被切掉的两分钟在视场里是均值的 \(1.45\times\)/\(1.63\times\),在角落里只有 \(0.73\times\)。 - 角落曲线必须逐候选记入受体。 软质子经镜面聚焦,只进视场;粒子本底同时进入视场与角落。因此「视场涨而角落不涨」是软质子的签名,「两者同涨」是粒子本底事件,后者不该由 GTI 切除处理(属 §3.7 第 5 格)。受体中为每个候选记录被删时段的视场/角落率比,作为该候选切掉的到底是什么的判据。
实现要求。
- 必须以程序方式校验每个候选的选择能段与 1.00–2.20 keV 拟合窗不相交,重叠即中止并报错,不得以警告放行。
- 归档
2.filter的选择能段是 PI 2500–8000 eV,与拟合窗天然不相交,是合法配置。 - 连续谱只有一种定义:§3.2 那条对数抛物线在 1.00–2.20 keV 上的积分。不存在第二套「无线连续谱窗」,也不要再引入旁瓣窗口——旁瓣是已作废的计数型设计,见 §4。
- 闸门(§3.9)与本条是同一枚硬币的两面:本条靠中止禁止非法配置,闸门在配置合法时检测残余的同类偏差。上表最后两列就是闸门在非法配置下的表现。
3.4 零分布:置换,不得假定
- 对每个观测、每种(选择能段,保留份额)配置,做格子标签置换:保持保留格子数不变,随机重排格子归属,对每个抽样重新拟合并重算 \(R\)。draws ≥ 200,随机种子写入受体。
- 报告 \(z_\mathrm{null} = (R - \mathrm{mean}(\text{null}))/\mathrm{sd}(\text{null})\),以它作为显著性判据。实测零分布中心落在 \(0.9992\)–\(1.0016\),与理论值 1 相容(随机子集的期望连续谱等于全时段连续谱)。
- 不要用解析误差传播代替置换。\(C_\mathrm{all}\) 与 \(C_K\) 来自嵌套的事件集(\(K \subset \mathrm{all}\)),两者强相关;而且格子选择本身依赖数据,解析式不计入这一项。置换把两者都自动包含。
- 单次拟合的参数误差取 \(\Delta C = 1\) 轮廓(每步重拟合其余参数),记入受体作为快速误差棒,但不作为判据。
- 扫策略网格时必须报告全族假阳性率(family-wise false-positive rate):在零控制观测上跑完整候选搜索,统计有多少候选达到所声称的判据。只展示一个碰巧为零的点不算数。
3.5 训练/留出
- 预先声明训练观测集合与留出集合,写入受体,且在读取任何留出观测的 \(R\) 之前冻结。
- 只在训练集上选择的可调项,逐一列出并写入受体:格长、保留份额 \(f_T\) 的扫描范围、选择能段、闸门容差、过散因子 \(\kappa\)、耦合斜率 \(s\) 与 \(\delta s\)。不含折断幂律的 \(\Gamma_1\)/\(\Gamma_2\)/折点与任何旁瓣窗宽——那些属于已作废的设计(§4),不要再出现在模板清单里。
- 留出集上只报告 signed \(\ln R\) 及其置换 \(z_\mathrm{null}\),用预先声明的符号检验/Stouffer 汇总。
- 任何只在训练观测上出现的前沿点,在页面上必须标为 hypothesis,不得标为 evidence。
3.6 \(N_\mathrm{sp}\) 的边界(本轮不做的部分)
- 本规格不声称测量 removed/remaining 的绝对软质子计数。\(R\) 是探测器空间的无量纲比值,测的是「这条 GTI 相对全时段,1–2 keV 连续谱降了几倍」。
mos-back、matched ARF/RMF、forward-folded 响应闭合本轮不做,按作者明确指示。受体与页面都要写明这条边界,并写明它挡住了哪个问题(基底中的稳态软质子仍不可识别,见 §3.10(c))。- 若实现 \(N_\mathrm{sp}\) 型分解,signed 估计量必须允许为负;不得强制非负。
3.7 故障注入矩阵
在合成数据上跑,逐格报告 signed bias、RMSE、95% CI coverage、零软质子假阳性率:
- 纯 \(Q(E)\) Poisson(无软质子)。
- 真实折断幂律软质子注入,多个强度。折断幂律在此处合法,因为注入模板跨越 3.2 keV;它不进入 1.00–2.20 keV 的拟合(§3.2)。
- 只在选择能窗内的条件 Poisson 涨落——这一格专门检验 §3.3 那条规则,必须在零软质子配置下跑。已在真实数据上实测到 \(+5.5\sigma\) 与 \(+6.1\sigma\),合成数据上要复现这个量级。
- 粒子背景的线与连续谱非同比例漂移——这一格检验闸门(§3.9),因为它正是「线动而连续谱不动」的情形。
- anomalous CCD(软、无线、时间局部)。
- 视场内变天体源(线自由但经反射镜、且紧致)。
第 5、6 项预期 \(R\) 无法分辨,因此受体必须写明它们由 emanom 预筛与 §4.2 的空间紧致度判据处理,而不是由 \(R\) 处理。
3.8 前提:仪器线必须先自证稳定
闸门把 \(L_K\) 与 \(L_\mathrm{all}\) 比,只有在线本身稳定时才有意义。这一条必须先测,不得假定,并且要靠逐窗拟合,不能靠旁带——旁带受连续谱影响,而连续谱恰恰是耀发时变化最剧烈的东西。
已测(MOS2,30 个观测,逐窗拟合,模型同 §3.2,误差取 \(\Delta C = 1\) 轮廓且每步重拟合连续谱与 Si 归一):
| 检验 | 结果 |
|---|---|
| 观测内线率恒定 | \(\chi^2/\mathrm{dof} = 0.971\)(247 dof),0/30 超 \(3\sigma\),最大斜率显著度 \(2.37\sigma\) |
| 单窗精度 | 6.3% |
| 漂移上限 | 中位数 13.8% |
| 线对耀发的响应 \(\mathrm{d}L/\mathrm{d}C\) | \(+0.00106 \pm 0.00155\)(\(0.7\sigma\)),\(2\sigma\) 上限 0.42% |
最后一行是关键:即使在连续谱变化 87 倍的观测里,线也不跟着动。
观测间不稳定,观测内稳定。 全时段 Al-K 率在 30 个指向之间不相容于一个常数:\(\chi^2/\mathrm{dof} = 282.7/29 = 9.75\),散布 6.5%,而单观测误差中位数只有 2.3%。因此:
- 闸门的参照必须是本观测的全时段值 \(L_\mathrm{all}\);
- 不得用 campaign 均值(0.22302 ± 0.00093 cps)作外部参照,尽管它精度高 1.8 倍。这条路已被测量否掉,不要在实现里重新引入。
3.9 线流量闸门:约束为 \(L_\mathrm{all} = L_K\)
约束的正确陈述。 GTI 必须保住全时段的仪器线流量:
这是唯一的约束,也是唯一在任何 \(f_T\) 下都有定义的形式。等价的 \(L_K = L_B\) 在被删时段趋于空时失去意义——那时根本没有 \(L_B\) 可言——而 \(L_\mathrm{all} = L_K\) 仍然成立且仍有物理含义。
检验力自带匹配。 由恒等式
约束被违反的幅度正比于切掉的份额。因此:
- 切得越多,越需要检验——而切得越多,\(L_B\) 的曝光越长、检验力越强;
- 切得越少,越不需要检验——而检验力弱恰好无害,因为可能的违反幅度同步缩小。
两者天生匹配,不需要人为设定容差门槛。 早期草案用固定的 \(\sigma_\mathrm{ratio} \le 0.10\) 判定,是把一个自适应的量硬塞进固定门槛,已作废。
实现仍须在不相交的 \(K\) 与 \(B\) 上计算,因为只有该形式的两项误差独立;直接写成 \(L_K\) 对 \(L_\mathrm{all}\) 会让分子分母共享事件,传播出的宽度是错的。计算在 \(B\) 上做,判定按 \(L_\mathrm{all}\) 陈述。
三个量都要测、都要记、都要比。 \(L_\mathrm{all}\)、\(L_K\)、\(L_B\) 各自带误差写入受体,两两之比亦然。不得预设以哪一个为准:数据少的那一侧天然误差大,而哪一侧数据少取决于 \(f_T\)。实测在 \(f_T \approx 0.3\) 时 \(L_B\) 反而是测得更准的那个(0800731801:\(\sigma/L\) 为 K 3.70%、B 3.32%;0800733101:4.50% 与 4.26%)。约束仍陈述为 \(L_\mathrm{all} = L_K\),因为那是科学上要保住的东西;但检验路径按哪个量可用来选。
\(L_K\) 与 \(L_B\) 变差的原因不同,不可混为一谈。 线叠在连续谱上时,相对误差大致按
即精度由计数与线占比两项共同决定。保留段按构造是低连续谱那侧,\(f_\mathrm{line}\) 稳定;被删段按构造是高连续谱那侧,\(f_\mathrm{line}\) 在观测被强烈过滤时恰好塌陷——曝光再足也救不回来。
| 保留段 | 被删段 | |
|---|---|---|
| \(f_\mathrm{line}\) 中位 | 39.5% | 12.7% |
| \(f_\mathrm{line}\) 范围 | 26.5%–44.0%(稳定) | 2.8%–38.3%(跨一个量级) |
| \(\sigma_L/L\) 之比 \(\sigma_B/\sigma_K\) | — | 中位 2.5×,最大 8.8× |
| 单按计数预测的该比值 | — | 0.66×(B 计数更多,本应更准) |
| 单按线占比预测的该比值 | — | 3.05× |
21 个有可测被删段的观测中,15 个的被删段计数更多,其中 13 个误差反而更大。 极端例子:0800732501 被删段 69306 个计数,是保留段 6532 的 10 倍,线却测得差 3.5 倍(7.95% 对 2.29%),因为 \(f_\mathrm{line}\) 由 43.3% 掉到 2.8%。
因此判断 \(L_B\) 是否可用,依据是 \(f_\mathrm{line}\),不是曝光长度。 \(f_\mathrm{line}\) 必须逐段写入受体。它同时区分了两种「\(L_B\) 不可用」,而两者后果完全不同:
| 成因 | 签名 | 后果 |
|---|---|---|
| 被删时间短 | \(N_B\) 小而 \(f_\mathrm{line}^B\) 正常 | 无害:此时 \(L_\mathrm{all} \approx L_K\) 本就成立 |
| 线被自身连续谱淹没 | \(N_B\) 大而 \(f_\mathrm{line}^B\) 塌陷 | 真空缺:切掉了不少却验不了(0800731101,\(f_\mathrm{line}^B = 3.1\%\)) |
\(f_T \to 0\) 一端尚无样本。 本观测集最小 \(f_T = 0.302\)。若某观测几乎没有 GTI,则 \(L_K\) 成为测不准的一方,而此时 \(L_\mathrm{all} \approx L_B\)——不得因此改用 \(L_B\) 作基准,那等于用被扔掉的时段去定义保留时段该是什么样。该情形下只能给出 \(L_K\) 的上界并标为真正未检验,其成因记为「保留时间不足」。
判定:三类,按「数据允许的最大违反量」分,不按份额阈值。
右端第二项在 \(L_B\) 可测时取其 \(2\sigma\) 带的两端,不可测时取物理界 \(L_B \ge 0\)。
| 判定 | 条件 | 含义 |
|---|---|---|
| 平凡满足 | 上界 \(< 2\%\) | 切得太少,约束由构造成立,无需检验,不是缺陷 |
| 已检验 | 上界 \(\ge 2\%\) 且 \(L_B\) 可测 | 正常给出通过/偏离 |
| 真正未检验 | 上界 \(\ge 2\%\) 而 \(L_B\) 不可测 | 切了不少却验不了,必须单独标记 |
归档 2.filter 上的实测分布:
| 类别 | 观测数 | 上界范围 |
|---|---|---|
| 平凡满足 | 12 | \(\le 1.95\%\) |
| 已检验 | 17 | \(3.00\%\)–\(14.90\%\) |
| 真正未检验 | 1(0800731101,\(f_T = 0.836\)) | \(4.61\%\) |
2% 这个门槛落在数据的真实空隙里,不是拍出来的:平凡满足一类的上界最高 1.95%,已检验一类的最低 3.00%,中间是空的。但这个空隙是本样本的性质,不保证普适,实现必须把该分布写入受体,并在空隙消失时报警而不是沿用 2%。
旧判定为何过严。 0800730301 与 0800730601 在旧的 \(\sigma_\mathrm{ratio} \le 0.10\) 方案下被判 UNTESTED(\(2\sigma\) 为 0.169 与 0.145),但它们分别只切掉 6.1% 与 11.3%,\(L_B\) 再怎么偏也只能把 \(L_\mathrm{all}\) 推动 1.47% 与 1.95%。旧方案在为一个不可能发生的偏差担心,并把 11 个观测误标为「未验证」。 真正的空缺只有一个。
3.9.1 耦合改正:原方案已撤回,符号经受控注入测定为负
原方案(已撤回)。 早先以观测内回归测得 \(\mathrm{d}\ln L/\mathrm{d}\ln C = +0.0098 \pm 0.0063\),据此提出对 \(\ln(L_K/L_B)\) 加 \(s\lambda\) 的改正,并称全样本线亏损由 \(-1.6\sigma\) 回到 \(-0.6\sigma\)。该结论是错的:它之所以把亏损推向零,仅仅因为所用斜率的符号是错的。
受控注入。 观测内回归有混杂——耀发时段与宁静时段的差别不止连续谱高低。注入实验去掉混杂:取一个无可探测软质子变率的观测(0800730201,8092 计数),向其谱中加入纯连续谱、不含任何线的成分,重新拟合,观察拟合出的 Al-K。真值按构造不变,任何偏移即为耦合。每个注入水平做 60 次 Poisson 实现并取均值,随机部分按 \(1/\sqrt{N}\) 衰减。
| 注入谱形 | \(\mathrm{d}\ln L/\mathrm{d}\ln C\) | 各点显著度 |
|---|---|---|
| 平(\(\Gamma = 0\)) | \(-0.0062\) | \(-3.4\) 至 \(-3.8\) |
| 软质子样(\(\Gamma = 0.5\)) | \(-0.0077\) | \(-3.1\) 至 \(-3.7\) |
| 陡(\(\Gamma = 1.5\)) | \(-0.0096\) | \(-0.4\) 至 \(-4.8\) |
三种谱形一致给出负号,平与软质子样两组随注入量单调。连续谱升高使拟合出的线偏低,不是偏高。
首版注入实验每个水平只做一次实现,单点 Poisson 抖动达 \(\pm 8\)–\(10\%\),而待测效应约 1%,因此三种谱形给出的斜率散布在零两侧(\(+0.0065\)、\(-0.0001\)、\(-0.0078\))——那一版测的是噪声,其结论不得引用。
改正方向与后果。 由 \(\ln L_\mathrm{meas} = \ln L_\mathrm{true} + s\ln C\) 得
故 \(\ln(L_K/L_B)_\mathrm{true} = \mathrm{meas} + s\lambda\)。\(s\) 为负时改正是减,不是加:
| 所用斜率 | 全样本 \(\ln(L_K/L_B)\) | 显著度 |
|---|---|---|
| 不改正 | \(-0.0258 \pm 0.0164\) | \(-1.6\sigma\) |
| 观测回归 \(+0.0098\)(错号) | \(-0.0094 \pm 0.0166\) | \(-0.6\sigma\) |
| 注入 平 \(-0.0062\) | \(-0.0360 \pm 0.0164\) | \(-2.2\sigma\) |
| 注入 软质子样 \(-0.0077\) | \(-0.0385 \pm 0.0164\) | \(-2.3\sigma\) |
| 注入 陡 \(-0.0096\) | \(-0.0416 \pm 0.0164\) | \(-2.5\sigma\) |
改正做对之后,线亏损不是消失而是变大。
由此浮出的真问题。 改正后保留时段的 Al-K 比被删时段低 2.6%–4.2%,达 \(-2.2\sigma\) 至 \(-2.5\sigma\)。尚未到 \(3\sigma\),但已不是舒服的零。至少两种解释目前分不开:
- 物理的:Al-K 荧光由粒子通量激发,而软质子耀发时粒子环境本就不同,被删时段理应有更多 Al-K。若如此,闸门的前提「线在两段时间内不变」部分不成立——这是设计层面的问题,不是容差能解决的。
- 第二个未建模的系统性,注入实验未覆盖。
在分清这两者之前,第 2 项不得裁决,闸门容差也不得据此定稿。 需要的下一步测量:把注入实验推广到含真实耀发的观测上,并直接检验 Al-K 强度与角落粒子率(§3.3 已要求逐候选记录)的关系——若线随粒子率上升,解释 1 成立。
拟合简并的正确结论。 观测间的线-连续谱斜率为 \(+0.0448 \pm 0.0149\)(3.0σ),观测内为 \(+0.0098 \pm 0.0063\)(1.6σ),两者差 2.2σ。简并是拟合的属性,拟合不知道哪些谱来自同一指向,因此必须给出相同斜率;两者不同说明观测间那个 \(+0.045\) 不是拟合简并,而是共同物理成因(指向相隔数月,粒子环境不同)。
但不得由此说「拟合没有简并」。 §3.9.1 的受控注入直接测到拟合层面的耦合,为 \(-0.006\) 至 \(-0.010\),三种注入谱形一致、每点 3–4σ。拟合的耦合真实存在,只是小且为负;它与观测间那个正的趋势是两回事。此处 2.2σ 的结论不算强,受体中必须如实记录该显著度。
硬性前提:线带与选择带不相交。 若构造候选 GTI 所用的时间序列能段包含线,闸门会静默地恒真——已实测线落在选择带内时比值 0.907–0.939,落在带外时 0.985–1.019。实现必须以程序方式校验并在重叠时中止,不得警告放行。这条与 §3.3 是同一条规则的两个面。
「真正未检验」的成因不是被删曝光长度。 这一点容易搞错:0800730301 只有 1.49 ks 被删曝光,却归入平凡满足(切掉 6.1%,上界 1.47%);0800731101 有 4.01 ks,却是唯一真正未检验的(切掉 16.4%,上界 4.61%)。决定因素是被删谱中线相对其自身连续谱的显著度——耀发把连续谱抬高 24 倍(\(\lambda = 3.19\)),线仅占被删段计数的 3.1%(保留段为 41.9%),曝光再长也测不准。实现中的分类必须依据算出的上界,不得用曝光长度或 \(f_T\) 的阈值代替。
外部参照不可用。 见 §3.8:观测间 Al-K 率 \(\chi^2/\mathrm{dof} = 9.75\),campaign 均值不是合法参照,不得用它来救真正未检验的那一类。
3.10 纵坐标 \(R\) 会在哪里失效
\(R\) 的每一条失效模式都要在页面上写明,并说明由什么别的东西兜住。
(a) \(R\) 不是软质子去除比例。 \(C_K\) 里含天空背景与 QPB,这两样删不掉。因此 \(R\) 有硬天花板 \(C_\mathrm{all}/C_\mathrm{floor}\),且这个天花板由观测本身有多少耀发决定,不由策略好坏决定。实测支持这个图像:\(C_K\) 落在 0.27–0.36(27/30),近乎常数,所以 \(R \approx C_\mathrm{all}/\text{const}\)。推论:\(R\) 不可跨观测取平均、排序或汇总。 前沿只能在单个观测内画,跨观测只能比较前沿的形状,不能比较高度。这一条要在实现里以断言形式固化。
(b) 零软质子观测上前沿塌成一点。 0800730201、0800730401、0800730801、0800730901、0800731901 的 \(R = 1.000\),任何策略都分不开。这是正确行为,不是缺陷,但意味着这些观测不参与策略选择,只进零对照集。实现必须按此分流,不得把它们混进前沿拟合。
(c) 基底里的稳态软质子不可见。 \(R\) 测的是向基底的下降,而基底本身含稳态软质子分量。\(R\) 看不见它。这是 §3.6 已经声明的边界,不得因为换了纵坐标就当作解决了。
(d) \(R\) 单调奖励多切。 只保留最安静的格子总能把 \(R\) 做大,向下压的力量只有 \(f_T\)。因此 \(R\) 不得单独最大化,只能在 \((f_T, R)\) 二维上取前沿——这就是两参数框架存在的理由,不是可选的呈现方式。
(e) 闸门在极少数高 \(R\) 观测上无判定力。 见 §3.9:全样本仅 1 个(0800731101),其被删段的线被自身连续谱淹没。
(f) 异常 CCD 与视场内变源 \(R\) 分辨不了。 与 §3.7 第 5、6 项一致,由 emanom 预筛与空间紧致度判据处理,不由 \(R\) 处理。
3.11 图件
至少覆盖:零控制(0800730201)、强耀发(0800732501)、中间态(0800730101)、连续谱模型对账(对数抛物线 vs 裸幂律的似然比)、故障注入矩阵、留出转移分布。每张图必须由本规格产生的受体驱动,不得手工填数。
3.12 文档与发布
proposal.md§8.1 整节替换为 \((f_T, R)\) 与线流量闸门;A/η降级为"已作废指标"的一段说明,连同它为何失败的实测数字(置换z_null、Poisson 零假设假阳性率、活时间 bug),并指向e1受体。- 页面重新渲染并发布到既有 Cloudflare Pages 项目
cdfs-mos-sp-audit的/sp-gti-proposal路由,保持既有设计、排版、暗色模式、KaTeX 版本钉定与图卡样式。
4. Do NOT (NEGATIVE SPACE)
- 不要保留
A(K)/η(K)作为并行指标或"备用纵轴"。它被作废,只以历史说明的形式出现。 - 不要在选择能段与连续谱窗重叠时以警告放行——必须中止。
- 不要用 Gehrels 上限表达式当方差。
- 不要引入
mos-back、ARF、matched background、forward-folded 响应闭合。 - 不要把折断幂律换到 1.00–2.20 keV 的线下局部连续谱上:该窗口整个在 3.2 keV 折点以下,折断幂律在其中退化为单幂律,而单幂律已被似然比检验拒绝(宁静谱 ΔC 中位 9.1,17/23 超过 99%)。那里保留 log-parabola,但必须改正注释中的因果错述:需要曲率的是宁静谱(天空 Fe-L/Mg 复合体加 1.84 keV Si K 边),不是耀发谱。
- 不要修改或删除
scripts/m31_mos2_variable_sp_removal.py的实现主体。 - 不要把 \(R\) 的解析显著度当判据;判据是置换
z_null。\(C_\mathrm{all}\) 与 \(C_K\) 来自嵌套事件集,解析传播不适用(§3.4)。 - 不要在
NaN/Inf出现时写进 JSON;写显式null并附原因字符串。 - 不要在部署的 HTML 中出现任何本地路径、主机名或凭据。
- 不要运行任何 git 命令;本目录不是 git 仓库。
- 不要用旁带扣除代替拟合来测线流量。旁带受连续谱影响,而连续谱正是耀发时变化最剧烈的量;本规格所有线流量数字都来自逐窗拟合。旁带估计可作诊断记录,但不得进入闸门。
- 不要用「有计数的格子 × 格宽」当逐格活时间。它估总曝光够用(\(+1.92\%\)),但对 0.9% 的格子把率高估约 5 倍,并把它们顶成假耀发——实测 79 个格子因此落到 70% 切割线的错误一侧。
- 不要在保留段/被删段的拟合中放开线心。实测两段之间线心移动 \(-0.04 \pm 0.44\) eV,无需自由度;放开反而让被删段的线心被噪声推动。线心自由拟合只用于全时段谱的增益诊断。
- 不要用角落曲线构造 GTI。角落在视场外,不接收聚焦软质子;用它选择等于对粒子本底切时间,而软质子照旧留在数据里。角落只作诊断。
- 不要把零控制观测称作「无软质子」。实测 0800730201 含两段真软质子(视场 \(1.45\times\)/\(1.63\times\) 而角落 \(0.73\times\),聚焦签名),且稳态成分对 \(R\) 原则上不可见。正确表述是「无可探测的软质子变率」(\(\chi^2/\mathrm{dof} = 1.03\),\(p = 0.39\))。
- 不要用 campaign 均值 Al-K 率作闸门参照。观测间
chi2/dof= 9.75,这条路已被测量否掉。 - 不要用被删曝光长度或
f_T的阈值判定 UNTESTED。反例已实测:0800730301 用 1.49 ks 可判,0800731101 用 4.01 ks 不可判。只能依据算出的sigma_tot。 - 不要用曝光长度或计数多少判断 \(L_B\) 是否可用。实测 15 个被删段计数更多的观测里,13 个误差反而更大;主导项是线占比(预测 3.05× 对计数项的 0.66×)。
- 不要在 \(f_T \to 0\) 时改用 \(L_B\) 作基准。那等于用被扔掉的时段定义保留时段该是什么样。
- 不要把「真正未检验」当通过。也不要把「平凡满足」标成未检验——切得太少时约束由构造成立,旧方案的固定容差为此误标了 11 个观测,实际空缺只有 1 个。
- 不要用一个统一放宽的容差代替逐观测的耦合改正。杠杆
ln(C_B/C_K)跨 0.56–3.43,平摊的容差对安静观测过度保护、对 0800732501 仍保护不足,而且会把一个可改正的有符号偏差永久留在结果里(实测:不改正时全样本线亏损 −1.6σ,改正后 −0.6σ)。 - 不要跨观测平均、排序或汇总
R:它的天花板由观测自身的耀发量决定,不由策略决定。 - 不要单独最大化
R;只在(f_T, R)二维上取前沿。 - 不要声称闸门只在无害处失效——0800731101 是反例(盲且
R= 4.83)。 - 不要编写兼容层代码(§8 刻意为空)。
5. Acceptance Criteria (DONE)
- [ ]
python3 scripts/m31_mos2_line_continuum_invariant.py --help退出码 0。 - [ ] 完整跑通并写出受体 JSON;
python3 -c "import json;d=json.load(open('results/m31_mos2_line_continuum_invariant_20260910_g1/line_continuum_invariant.json'));print(d['schema'],d['status'],len(d['cases']))"输出 schema、status 与观测数。 - [ ] 窗口边界:实现使用 93 格、上界 2.395 keV,且以整数格数构造(不得用
np.arange(lo, hi+de, de));受体记录实际上界与格数;渗漏检验在本轮数据上重跑,两个无变率观测的z_null不得随窗口展宽而系统性偏正。 - [ ] 线心:实现中 Al-K = 1.4879、Si-K = 1.7466 keV 且在两段拟合中冻结;受体记录全时段谱线心自由拟合所得的 \(E_\mathrm{Al}\)、\(E_\mathrm{Si}\) 及保留/被删两段的线心差(本轮实测均值 \(-0.04\) eV)。
- [ ] 视场/角落对照:每个候选的被删时段的视场率与角落率之比写入受体;零控制观测上该比值须显示聚焦签名(实测 0800730201 被删两分钟:视场 1.45×/1.63×,角落 0.73×)。
- [ ] 活时间诊断:逐格
live/nominal的最小值与 0.1/1/50 百分位写入受体;若 0.1 百分位低于 0.9,受体中必须同时记录「按朴素估计法会有多少格子落到切割线错误一侧」(本轮实测 79 / 5395),作为该观测排序可信度的警示。 - [ ] 线稳定性前提:逐窗拟合的观测内线率
chi2/dof与 0/30 超 3σ 的结论在本轮数据上重现;受体中记录每个观测的斜率显著度与单窗精度。 - [ ] 线不响应耀发:
d(line)/d(continuum)的 2σ 上限被计算并写入受体。 - [ ] 外部参照被排除:受体中记录观测间 Al-K 的
chi2/dof(实测 9.75)与散布(6.5%),并显式声明闸门参照为本观测L_all,不得为 campaign 均值。 - [ ] 线占比:每个观测的保留段与被删段各自的 \(N_\mathrm{tot}\)、\(N_\mathrm{line}\) 与 \(f_\mathrm{line}\) 写入受体;「\(L_B\) 不可用」必须区分记为「被删时间短」或「线被淹没」(本轮实测:保留段 \(f_\mathrm{line}\) 中位 39.5%,被删段 12.7%,最低 2.8%)。
- [ ] 闸门三类:每个观测归入「平凡满足」/「已检验」/「真正未检验」之一,依据是
max|L_all/L_K - 1|的上界,不得用1-f_T或曝光长度的阈值代替;该上界的全样本分布写入受体,且 2% 分界所依赖的空隙若消失必须报警。「真正未检验」不得在任何汇总中计为通过(本轮实测:12 / 17 / 1)。 - [ ] 闸门误差标定:在本观测集上重算
chi2/dof过散因子kappa并用于判定,受体中同时记录标定前后的z。 - [ ] 耦合改正:观测内
d lnL / d lnC在本轮数据上重测;逐观测的杠杆lambda、改正量s*lambda、系统误差ds*lambda与sigma_tot全部写入受体;改正前后的全样本ln(L_K/L_B)并列记录(实测 −1.6σ → −0.6σ)。 - [ ] 简并排除:观测间与观测内斜率及其差的显著度写入受体(实测 2.2σ),并在页面上标注该结论强度不高。
- [ ] 闸门自检无力:
d ln(L_K/L_B) / d lambda的回归结果写入受体,并显式声明改正的依据来自独立测得的观测内斜率,而非闸门自身数据。 - [ ] 闸门盲区:受体中列出所有 UNTESTED 观测及其
R、sigma_tot、被删曝光与杠杆lambda;R > 1.15且 UNTESTED 的观测(已知 0800731101,R= 4.83,sigma_tot= 0.166)在前沿图上单独标记。 - [ ] 线带⊥选择带:线带与选择带重叠时程序中止;受体中不得出现该配置的闸门结论。
- [ ] 纵坐标跨观测禁令:实现中存在断言,阻止对
R做跨观测平均或排序;零软质子观测(R= 1.000)被分流进零对照集而非前沿拟合。 - [ ] 零控制:0800730201 与 0800730401 在「选择能段 ⊥ 1.00–2.20 keV 拟合窗」配置下,
|z_null| < 3且闸门 PASS(实测z_null= −0.6 / −1.4,闸门 z = +1.1 / −0.3)。 - [ ] 重合检测:在选择能段与 1.00–2.20 keV 拟合窗重合的配置下,程序中止并给出非零退出码;受体中不得出现该配置的分数。另需在关闭该中止的诊断模式下复现偏差量级(实测:无变率观测
z_null= +5.5 / +6.1,闸门 FAIL 于 −5.4 / −4.6),并记录该诊断运行不得用于任何前沿结论。 - [ ] 强耀发:0800732501 的
z_null > 10,且闸门给出 PASS 或 UNTESTED 而非 FAIL。 - [ ] 零分布中心:所有配置的置换零分布均值落在
1.00 ± 0.02(实测 0.9992–1.0016)。 - [ ] 重合陷阱的观测依赖性:受体中并列记录重合配置在零软质子观测与强耀发观测上的
z_null与闸门判定,用以说明该陷阱专门在对照观测上造假(实测:0800730101 上重合与不相交的R差 0.002,格子共享 183/188)。 - [ ] 全族假阳性率:零控制观测上跑完整候选网格,报告达到判据的候选比例。
- [ ] 故障注入:§3.7 六格全部有数;第 3 格(只在选择能窗内的条件涨落)在正确配置下不产生假阳性。
- [ ] 留出:训练/留出划分写入受体且带冻结时间戳;留出集上的符号检验结果被报告。
- [ ] 图件全部由受体驱动重建,
python3 scripts/make_proposal_figures.py退出码 0,且fig9_construction.png、fig10_eta_sample.png不再生成。 - [ ] 页面
https://cdfs-mos-sp-audit.pages.dev/sp-gti-proposal返回 200;本地与线上 HTML 及每张图的 SHA-256 一致;部署 HTML 中无本地路径/主机名/凭据。
6. Rollback Plan
改动全部是新增文件加三个可再生成的产物(proposal.md、图件、已部署页面)。回滚方式:e1 受体与 scripts/m31_mos2_variable_sp_removal.py 原样保留,proposal.md 的上一版本在已部署页面的历史版本中可取回,重新渲染即可退回。历史受体目录全程只读,不存在需要撤销的破坏性变更。
7. Extra Notes for Implementer
- 先读
scripts/m31_mos2_contrast_statistics.py:其模块 docstring 写明了本项目的不确定度契约(不相交集合用精确 Poisson;Gehrels 上限不是方差),以及live_coordinate/circular_shift_null的实现模式。 scripts/m31_mos2_removed_component_spectrum.py是最接近的参考:同样的输入、同样的差谱定义、同样的 JSON 清洗器、同样的受体形状。- 屏蔽角区几何必须逐观测从该观测自己归档的
corlc.fits的SLCTEXPR头关键字解析(两个 CIRCLE、四个带转角 BOX,数值各观测不同),不得硬编码。 - 全时段事件表在
inputs/m31_sirius_fulltime_20260909/,30 个 MOS2 MIEVLI;归档 GTI 与光变在inputs/m31_sirius_temporal_20260902/<obsid>/rpc/2.filter/。 - 性能:置换零分布需要 2000 draws × 30 观测 × 多种配置。先按格子建立各能段计数的向量,一次置换就只是重排索引再求和,不要每次重扫事件。
- 本项目的 docstring 风格是长解释:说明这个统计量意味着什么、以及它不授权什么结论。请沿用。
8. Compatibility Exemption Registry (default: empty)
| What's being compatible-with | Why this is a permanent need, not a temporary bridge | Cleanup timeline | Owner |
|---|---|---|---|
| (none) |
9. Definition of Done Evidence (filled at implementation time)
9.1 Static build evidence
$ <command>
$ <command>
$ <command>
9.2 Runtime verification evidence
$ <command>
$ <command>
9.3 Test suite
本项目没有独立测试套件;验收即为 §5 中可执行的受体检查与页面校验。