# 交付区间宽度与簇合并测量(2026-09-14) - 口径:ayanamsa `raman`,node mode `mean`。不得与上游 true-node 数字直接对比。 - 数据:`references/real_case_calibration/minute_rectification_holdout_v4.json`,20 例公开 Rodden-AA。 - 半径:±10, ±30, ±60,步长 2 分钟。 - 性质:离线测量。生产 `candidate_contrast.py` / `scoring_service.py` / `active_rectification_event_engine.py` 默认值未改。 - 线上对照:`unionStillValidRange` = 未淘汰且落后头名不足 8 分的簇覆盖并集(`MIN_SEPARATION_LEAD = 8`)。 ## 结论 **不确定,不立实现单。** 线上 `MAX_PUBLIC_CLUSTERS=64` 与「公开簇并集」交付保持不动。 | 改法 | 判定 | 要点 | | --- | --- | --- | | **W1 提高簇上限** | 无收益 | 本网格合并次数全是 0,改上限与基线相同 | | **W2 按分差拒绝合并** | 无收益 | 同上,合并不触发,分差门槛无事可拒 | | **W3 分位覆盖区间** | 不确定 | ±10 / ±60 能收窄且覆盖不降;±30 的 0.7/0.8 覆盖下降。 挤出:W3@0.7 ±30 `chad_everett_1937_aa_v4_holdout`;W3@0.8 ±30 `chad_everett_1937_aa_v4_holdout` | 读数字时先看 M0:**上一轮「宽度中位 = 整窗」是测量口径,不是线上答完题之后的行为。** 不含淘汰时并集确实恒等于搜索窗(21 / 61 / 121);按线上 `unionStillValidRange` 做六题淘汰后,宽度中位已经是 **15.0 / 33.0 / 56.0**,真值覆盖仍是 20/20。合并在步长 2 的三档半径上不会触发(簇数低于 64)。 过运与三大外部引擎未参与本单(纯聚类/交付口径,不解释运势)。 | 改法 | 判定 | 说明 | | --- | --- | --- | | W1@128 | **no_benefit** | ±10:no_benefit;±30:no_benefit;±60:no_benefit | | W1@none | **no_benefit** | ±10:no_benefit;±30:no_benefit;±60:no_benefit | | W2@1 | **no_benefit** | ±10:no_benefit;±30:no_benefit;±60:no_benefit | | W2@2 | **no_benefit** | ±10:no_benefit;±30:no_benefit;±60:no_benefit | | W2@4 | **no_benefit** | ±10:no_benefit;±30:no_benefit;±60:no_benefit | | W2@8 | **no_benefit** | ±10:no_benefit;±30:no_benefit;±60:no_benefit | | W3@0.7 | **uncertain** | ±10:benefit;±30:no_benefit;±60:benefit | | W3@0.8 | **uncertain** | ±10:benefit;±30:no_benefit;±60:benefit | | W3@0.9 | **uncertain** | ±10:no_benefit;±30:benefit;±60:benefit | ## M0 · 上一轮宽度口径 上一轮 `width_median` **不含淘汰**,取全部公开簇并集。公开簇划分整个搜索窗且合并从不丢分钟,所以该口径下宽度等于整窗是恒等式。 | 半径 | 上一轮宽度(无淘汰) | 本轮引擎并集 | 六题后未淘汰并集 | 六题后线上口径(lead 8) | 真值挤出 | | --- | ---: | ---: | ---: | ---: | ---: | | ±10 | 21 | 21 | 15 | 15 | 0 | | ±30 | 61 | 61 | 36 | 33 | 0 | | ±60 | 121 | 121 | 104 | 56 | 0 | ## M1 · 簇结构画像(生产合并,max=64) | 半径 | 合并前簇数中位 | 合并次数中位 | 合并后簇数中位 | 真值簇独立率 | 窗内候选中位 | ±10 内恒定层 | | --- | ---: | ---: | ---: | ---: | ---: | ---: | | ±10 | 6 | 0 | 6 | 1 | 21 | d1, md | | ±30 | 16 | 0 | 16 | 1 | 61 | 无 | | ±60 | 31 | 0 | 31 | 1 | 121 | 无 | 三档半径上合并次数中位都是 0:步长 2 分钟时候选数最多 61,低于 `MAX_PUBLIC_CLUSTERS=64`,`cap_clusters_by_adjacent_merge` 根本不会触发。宽度等于整窗,是因为公开簇**划分**了整个窗口,不是因为弱簇被并回去。 签名簇最多 46,仍低于 64。真值簇独立率在三档半径上都是 20/20。±10 窗内 `md` 恒定;变化最多的是 `d24`。 ### ±10 签名层变化 | 层 | 取值种数中位 | 相邻变化次数中位 | 窗内恒定比例 | | --- | ---: | ---: | ---: | | d1 | 1 | 0 | 0.8 | | d9 | 2 | 1 | 0 | | d10 | 2 | 1 | 0.05 | | d24 | 4 | 3 | 0 | | d4 | 2 | 1 | 0.4 | | d12 | 3 | 2 | 0 | | md | 1 | 0 | 1 | ## M2 · 三个改法(六题后线上口径) ### ±10 分钟 | 方案 | 头名簇命中 | 区间覆盖 | 宽度中位 | 并列率 | 真值簇独立率 | 公开簇中位 | 挤出 | | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | | baseline | 0.8 | 1 | 15 | 0 | 1 | 6 | 0 | | W1@128 | 0.8 | 1 | 15 | 0 | 1 | 6 | 0 | | W1@none | 0.8 | 1 | 15 | 0 | 1 | 6 | 0 | | W2@1 | 0.8 | 1 | 15 | 0 | 1 | 6 | 0 | | W2@2 | 0.8 | 1 | 15 | 0 | 1 | 6 | 0 | | W2@4 | 0.8 | 1 | 15 | 0 | 1 | 6 | 0 | | W2@8 | 0.8 | 1 | 15 | 0 | 1 | 6 | 0 | | W3@0.7 | 0.8 | 1 | 9 | 0 | 1 | 6 | 0 | | W3@0.8 | 0.8 | 1 | 11 | 0 | 1 | 6 | 0 | | W3@0.9 | 0.8 | 1 | 15 | 0 | 1 | 6 | 0 | ### ±30 分钟 | 方案 | 头名簇命中 | 区间覆盖 | 宽度中位 | 并列率 | 真值簇独立率 | 公开簇中位 | 挤出 | | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | | baseline | 0.55 | 1 | 33 | 0 | 1 | 16 | 0 | | W1@128 | 0.55 | 1 | 33 | 0 | 1 | 16 | 0 | | W1@none | 0.55 | 1 | 33 | 0 | 1 | 16 | 0 | | W2@1 | 0.55 | 1 | 33 | 0 | 1 | 16 | 0 | | W2@2 | 0.55 | 1 | 33 | 0 | 1 | 16 | 0 | | W2@4 | 0.55 | 1 | 33 | 0 | 1 | 16 | 0 | | W2@8 | 0.55 | 1 | 33 | 0 | 1 | 16 | 0 | | W3@0.7 | 0.55 | 0.95 | 21 | 0 | 1 | 16 | 1 | | W3@0.8 | 0.55 | 0.95 | 25 | 0 | 1 | 16 | 1 | | W3@0.9 | 0.55 | 1 | 30 | 0 | 1 | 16 | 0 | ### ±60 分钟 | 方案 | 头名簇命中 | 区间覆盖 | 宽度中位 | 并列率 | 真值簇独立率 | 公开簇中位 | 挤出 | | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | | baseline | 0.4 | 1 | 56 | 0 | 1 | 31 | 0 | | W1@128 | 0.4 | 1 | 56 | 0 | 1 | 31 | 0 | | W1@none | 0.4 | 1 | 56 | 0 | 1 | 31 | 0 | | W2@1 | 0.4 | 1 | 56 | 0 | 1 | 31 | 0 | | W2@2 | 0.4 | 1 | 56 | 0 | 1 | 31 | 0 | | W2@4 | 0.4 | 1 | 56 | 0 | 1 | 31 | 0 | | W2@8 | 0.4 | 1 | 56 | 0 | 1 | 31 | 0 | | W3@0.7 | 0.4 | 1 | 40 | 0 | 1 | 31 | 0 | | W3@0.8 | 0.4 | 1 | 43 | 0 | 1 | 31 | 0 | | W3@0.9 | 0.4 | 1 | 52 | 0 | 1 | 31 | 0 | W3 挤出的例子:W3@0.7 ±30 `chad_everett_1937_aa_v4_holdout`;W3@0.8 ±30 `chad_everett_1937_aa_v4_holdout`。任务书硬红线「不得为了把宽度做窄而牺牲真值覆盖率」,所以 W3 不能直接上线。 ## 方法 1. 每个例子走生产 `build_event_contribution_matrix` + `score_from_matrix`,再按签名层聚簇。 2. 合并实现复刻 `cap_clusters_by_adjacent_merge`,研究脚本内可改上限或加分差门槛,不改线上模块。 3. 引擎并集 = 全部公开簇 `cluster_times` 的 min–max(上一轮口径)。 4. 线上口径 = 对公开代表做六题最优答淘汰,再取落后头名不足 8 分的簇覆盖并集。 5. W3 在同一组仍然有效簇上,取覆盖 posterior 质量 70/80/90% 的最短连续钟面区间。 6. 真值簇独立 = 真分钟所在的合并前签名簇,合并后成员集合不变。 错误 0 例。20 例跑完。