Lock the N1–N5 rules, grids, placebos, seeds, and gates before the first scoring run on the public v5 cases. Later changes cannot decide the gate.
117 lines
8.4 KiB
JSON
117 lines
8.4 KiB
JSON
{
|
||
"id": "nadi_seconds_preregistration_2026_10_05",
|
||
"dataset": "references/real_case_calibration/minute_rectification_holdout_v5.json",
|
||
"event_cutoff": "2026-09-14",
|
||
"ayanamsa": "raman",
|
||
"node_mode": "mean",
|
||
"locked_before_v5_scoring": true,
|
||
"grids": {
|
||
"coarse_radius_seconds": 600,
|
||
"coarse_step_seconds": 5,
|
||
"fine_radius_seconds": 120,
|
||
"fine_step_seconds": 1
|
||
},
|
||
"rules": {
|
||
"computed": ["A4", "A5", "B1", "B2", "B3", "B4", "B5", "N5A", "N5B"],
|
||
"n1_primary": ["A4", "A5", "B2"],
|
||
"n2_primary": "A5",
|
||
"n3_primary": "A5",
|
||
"n5_primary": ["N5A", "N5B"],
|
||
"definitions": {
|
||
"levels": "五层 Vimshottari 用生产递归:dasha_analyzer.build_dasha_timeline 之后再四次 build_antardasha。第 1 层是大运,第 4 层是 Sookshma,第 5 层是 Prana。前三层必须与 _active_vimshottari 对账。calculate_five_level_dasha 不是计分链。",
|
||
"targets": "领域目标宫主只读 DOMAIN_CONFIG 与 _house_lords,不改映射,也不乘辅助分。命中是二值。",
|
||
"A4": "第 4 层主星属于该事件领域的目标宫主。",
|
||
"A5": "第 5 层主星属于该事件领域的目标宫主。",
|
||
"B1": "五层里至少 1 层主星属于目标宫主。探索项,不是过门规则。",
|
||
"B2": "五层里至少 2 层主星属于目标宫主。",
|
||
"B3": "五层里至少 3 层。探索项。",
|
||
"B4": "五层里至少 4 层。探索项。",
|
||
"B5": "五层全部属于目标宫主。探索项。",
|
||
"N5A": "等分 D150(calc_custom_varga,N=150)上升星座的宫主星属于目标宫主。",
|
||
"N5B": "同一颗 D150 宫主星出现在当天五层小运主星里。",
|
||
"classical_index": "动宫顺排、固宫逆排、变宫从中段起排,状态 variant_unverified。不进入任何过门,也不进入 N4 的文案触发。不抄录纳迪描述原文。",
|
||
"named_text": "blocked。仓库内没有可合法使用的 Chandra Kala Nadi 描述文本。"
|
||
}
|
||
},
|
||
"samples": {
|
||
"n1_min_day_events": 3,
|
||
"n2_min_day_events": 4,
|
||
"n1_expected_n": 43,
|
||
"note": "N1 与 N5 只用日精度事件不少于 3 件、且两种安慰剂都非空的例子。开工时数过,43 例两种安慰剂都齐全。比较行的 n 不是 43,就不是本登记的样本,不能判过门。取整组与非取整组分开列,判定用合并样本。"
|
||
},
|
||
"tests": {
|
||
"permutations": 9999,
|
||
"bootstrap_resamples": 5000,
|
||
"n1_permutation_seed_base": 20261007,
|
||
"n2_bootstrap_seed": 20261008,
|
||
"n2_random_second_seed": 20261009,
|
||
"n3_bootstrap_seed": 20261010,
|
||
"n5_permutation_seed_base": 20261011,
|
||
"seed_order": "N1 与 N5 都按主规则列表的顺序,每条规则先 P1 再 P2,种子是基数加 0、1、2…。因此 N1 为 A4-P1=20261007、A4-P2=20261008、A5-P1=20261009、A5-P2=20261010、B2-P1=20261011、B2-P2=20261012。N5 为 N5A-P1=20261011、N5A-P2=20261012、N5B-P1=20261013、N5B-P2=20261014。N2 随机对照的种子是字符串 20261009:{case_id}:{event_id}。N2 安慰剂日期的 bootstrap 种子是 20261008+1。N3b 的 bootstrap 种子是 20261010 加半径分钟数,所以 ±10 为 20261020,±30 为 20261040,±60 为 20261070。"
|
||
},
|
||
"placebo": {
|
||
"shift_low_days": 30,
|
||
"shift_high_days": 180,
|
||
"shift_seed_template": "20261005:{case_id}",
|
||
"swap_seed": 20261006,
|
||
"p1": "每件日精度事件的日期用 Random(20261005:{case_id}) 平移。幅度 randint(30, 180),符号 ±1。落在 (出生日, 2026-09-14] 之外就反向;仍在外面就按 365 天步长夹回,最后才用出生日之后 400 天并截到截止日期。领域留在原事件上。",
|
||
"p2": "把全部日精度事件按 (case_id, event_id) 排序后,用 Random(20261006) 打乱日期。领域留在接收方。日期夹回接收方的 (出生日, 截止日期]。置换以整例为单位。"
|
||
},
|
||
"statistic": {
|
||
"truth_minute_offsets": "0 到 59 秒,含两端。记录没有秒。真值分钟的拟合率是这 60 秒的平均。",
|
||
"fit_rate": "某一秒解释的日精度事件数,除以该例日精度事件数。",
|
||
"difference": "同一例上,真值分钟平均拟合率减去安慰剂日期在同样 60 秒上的平均拟合率。",
|
||
"test": "单侧配对符号翻转。极端值是置换均值大于或等于观察均值的次数。p = (极端值 + 1) / (置换次数 + 1)。过门看精确分数小于 0.05,并且均值大于 0。不看四舍五入到 6 位后的显示值。",
|
||
"window_mean": "粗网格上的平均拟合率,等于在粗网格里均匀抽一秒的期望。写入报告。它不是 N1 的过门对照。",
|
||
"fraction_all": "粗网格上能解释全部日精度事件的秒所占比例。A4、A5、B1、B2 都报。接近 100% 表示问前事对得上并不能分辨真假。这是诊断,不是过门。"
|
||
},
|
||
"n3_protocol": {
|
||
"radius_gate": 10,
|
||
"nadi_limit_seconds": 60,
|
||
"hit": "并列第一的偏移必须每一个都在限制内。空的并列是未命中。没有日精度事件时,全部秒并列,记为未命中。",
|
||
"n3a": "只按 A5 在粗网格上排序。报告 ≤60 秒与 ≤120 秒,并对照均匀随机(步长 5 秒时 |偏移|≤60 的格点数除以 241)和已发表的引擎先验头名 0.18。N3a 不参与过门。本运行不另做 N3a 的 ±30 / ±60 网格。",
|
||
"n3b": "复现六题回放的前半段:六次探测、不注入引导窗口,再取交付区间。区间内按 1 秒重排 A5。命中仍要求全部并列都在记录时间 60 秒内。对照是生产头名全部落在 1 分钟内。提升是纳迪命中减生产命中,整例 bootstrap,下界大于 0 才算提升。另报 any_exact,用来对照已发表的 0.64;那一列不是过门。真值在区间内须不少于 76/77。过门只看半径 10,且例数必须是 77。±30 与 ±60 只报告。",
|
||
"published_references": {
|
||
"engine_prior_top1_pm10": 0.18,
|
||
"six_question_any_exact_pm10": 0.64,
|
||
"cluster_head_pm10": 0.68,
|
||
"truth_in_range": "76/77",
|
||
"source": "docs/research/holdout_v5_build_2026_09_29.md"
|
||
}
|
||
},
|
||
"n4": {
|
||
"ayanamsas": ["raman", "lahiri", "kp", "true_citra"],
|
||
"time_offsets_seconds": [-60, -30, -15, 15, 30, 60],
|
||
"longitude_shifts_km": [10, -10],
|
||
"node_mode_compare": "mean_to_true",
|
||
"sample": "至少有一件日精度事件的例子。第 4 / 第 5 层按事件加权。D150 用等分段号,按例子计。没有日精度事件的 4 例不进入这张表。",
|
||
"wording_trigger": "Raman 分别换成 Lahiri、KP、True Chitra。三次里只要有一次第 5 层事件变化率大于 0.20,或等分 D150 的例子变化率大于 0.20,对外文案就不得出现秒级。时间和地点扰动写入表,本身不触发这条例。交点 mean 与 true 单列,预期只动罗睺计都。古典段号不触发。"
|
||
},
|
||
"n2": {
|
||
"rule": "A5",
|
||
"grid": "coarse",
|
||
"design": "日精度事件不少于 4 的例子,留一件。其余事件在粗网格上的最高分,并列全部保留。被留出的事件在这些秒上被解释的比例,减去同数量随机秒上的比例。随机种子是 20261009:{case_id}:{event_id}。并列不少于整张网格时,随机对照就是整张网格。例子内先平均,再对例子做 5000 次 bootstrap。过门只看相对随机秒的区间下界大于 0。同一批领先秒上、把留出位置换成 P1 日期的差,只报告,不是额外门槛。"
|
||
},
|
||
"gates": {
|
||
"n1": "A4、A5、B2 对 P1 和 P2 共 6 项全部通过,且每项 n 为 43,且不是 --limit 子集。",
|
||
"n2": "相对随机秒的 bootstrap 下界大于 0,且不是子集。",
|
||
"n3": "半径 10 上,纳迪相对生产 ≤1 分钟命中的提升,bootstrap 下界大于 0,并且真值在区间内不少于 76/77,例数 77。",
|
||
"n4": "不过方法门。只决定对外是否还能说秒级。",
|
||
"n5": "N5A、N5B 对 P1 和 P2 共 4 项全部通过,且不是子集。低优先。原文比对保持 blocked。"
|
||
},
|
||
"not_a_gate": [
|
||
"N3a",
|
||
"N3 的 ±30 与 ±60",
|
||
"取整组与非取整组的拆分",
|
||
"古典 D150 段号",
|
||
"calculate_five_level_dasha 与生产链的差异",
|
||
"B1、B3、B4、B5",
|
||
"窗口平均拟合率",
|
||
"能解释全部事件的秒所占比例",
|
||
"N2 的安慰剂日期对照",
|
||
"N3b 的 any_exact 复现列",
|
||
"N4 的时间扰动与地点扰动"
|
||
],
|
||
"after_the_fact": "看过 v5 结果之后改过的规则、阈值或种子,只能写进研究文档的事后列,不能用来判过门。"
|
||
}
|