預註冊:我們為什麼要先寫下判準再跑實驗
判準、統計方法、四個狀態規則全部在開跑前凍結並附時戳。這一篇說明我們怎麼做預註冊,以及為什麼「事後補一個判準」在這份研究裡不算數。
#為什麼需要這個
因為事後選判準是統計上最常見的作弊形式之一,而且不需要任何人說謊。你只要在看到結果之後,選一個「本來就會通過」的門檻,然後寫進報告——整個過程沒有任何一個人做錯事,但結論是假的。
我們遇過一次。R440P 的 §七 有一條前提寫著「可見篩選是無損的」。它是一個判準,寫在裁決文件裡,看起來沒問題。
九天後 R440Q 把它推翻了:
LCB v1 的 91/91 隱藏測資都是可見測資的超集(
V ⊆ GT)。
所以「隱藏會過但可見不過」在構造上不可能發生。這不是「量到沒有反例」,這是「這個命題在這個題庫裡是恆真的」。一個恆真的判準,檢定力是零。
#四個狀態規則
R460 的裁決文件在 2026-09-07 寫死了四個狀態:
| 狀態 | 觸發條件 |
|---|---|
| EFFECTIVE | 區間下界 > 0,且通過 Holm 校正 |
| INCONCLUSIVE | 方向正確但沒有通過任何一個門檻 |
| RULED_OUT | 區間上界 < 門檻(= 確認效應小於門檻) |
| 未觸發 | 事前寫死的否證條件成立(例如 c ≥ b) |
#拒交計為失敗
這是第二條硬規則,也是最容易被忽略的一條:
拒交計為失敗,分母是全部題目。
理由很直接。如果分母只算「有交付的題目」,那麼「全部拒絕」會得到 100% 成功率。一個什麼都沒做、什麼都沒交的系統可以在這條規則下拿滿分。
我們的程式裡有真實的機制可以做到這件事:早年的 arm_off5 寫死了 accepted = True——它沒有拒絕這條路。所以 R437 那個「ON vs OFF5」的比較,實際上是「一個有免費閘門的臂」對「一個被禁止拒絕的臂」。
#附帶登記的免責
R460 的裁決文件裡,在看到 +13.33 這個數字之前就已經登記了兩條:
- n = 120 對 +10 pp 的檢定力只有 0.43 – 0.63,所以那個 +13.33 必須當成偏上限的估計。
- 9 條事前預測,其中一條預期修訂會讓假交付上升。
第二條後來方向相反:H-MIX 14/120 < CONFORM 29/120。修訂不只沒有增加假交付,還減少了。
#五次複印是同一條規則
2026-09-12 的 R460R 是最嚴格的一次應用。事前寫死的宣稱規則:
- 逐次判,五次都要過。
- 禁止合併 n。
- 禁止平均。
- 禁止挑一次來報。
結果 0/5 通過。裁決是「同號未解析」。
#什麼預註冊保護不了
誠實地講清楚:
| 它保護不了 | 選題偏誤(挑一個自己想贏的模型) |
| 它保護不了 | 停損規則(跑到 p < .05 就停) |
| 它保護不了 | 資料品質(2026-07-09 我們才發現模型 I/O 根本沒存檔) |
| 它保護不了 | 棄權規則(把不好跑的區塊 void 掉) |
| 它保護的是 | 判準在看到數字之前就凍結 |
我們自己踩過最後一項:R437 的 ON 臂 infra_void 66/179 = 36.9%,而 R437 自己記了一行 VOID-GATE-WARNING。所以我們把「第一個乾淨的完整資料集」這條宣稱降級成「無已知 bug 汙染、配對子集 n = 101」。

