🎯 什麼情境該想到我

當你「從很多次嘗試裡挑出表現最好的那一個,正準備相信它」的時候。
★ 挑最大值這個動作本身就會灌水:試的次數越多,冠軍越可能只是運氣最好的雜訊。

⚙️ 怎麼用

0. 先理解為什麼會灌水(可自己驗算)

假設 N 個嘗試其實全是雜訊,各自的分數是均值 0、標準差 1 的獨立常態。最大值的期望會隨 N 上升:

試了幾次 N期望最大值(模擬 2,000 次)上界 √(2 ln N)
10≈ 1.55σ2.15σ
100≈ 2.51σ3.03σ
880≈ 3.20σ3.68σ

(2026-10-25 自己模擬;√(2 ln N) 是常態極值的標準上界,不是這篇論文推的。)

換算成回測:500 個交易日估出來的年化 Sharpe,標準誤約 √(252/500) ≈ 0.71。所以從 880 組全是雜訊的參數裡挑冠軍,年化 Sharpe 期望就有 3.2 × 0.71 ≈ 2.3。實際的參數組合彼此高度相關,有效的 N 會小一些,但量級就是這樣。論文第 3.2 節也說:樣本內 Sharpe 落在 1 到 3 之間,「tell us nothing」。

1. 記下你到底試了幾次

  • 參數組合、模型版本、特徵組合、提示詞版本,都算一次嘗試。失敗的也要算。
  • 論文把只報告成功組合的做法比作新藥試驗剔除無效受試者,也就是「抽屜問題」。

2. 拿「雜訊冠軍」當基準線

  • 冠軍分數沒有明顯高過上表對應 N 的「純雜訊期望最大值」,就先當成運氣。
  • 能量化時,直接評估挑選流程:回測用 工具-回測過擬合機率PBO,問的是樣本內冠軍在樣本外會不會掉到中位數以下。

3. 看「越追高分,樣本外越差」的跡象

  • 把每次嘗試的(挑選用資料上的分數,另一段資料上的分數)畫成散點。斜率是負的,就是過擬合的典型樣子。
  • 論文的說法是:「The model is so fit to past noise, that it is often rendered unfit for future signal.」

4. 別把防過擬合的指標變成新目標

  • 例如改成挑 PBO 最低、或驗證集分數最高的那組,等於換一個指標繼續過擬合。
  • 論文引 Goodhart 定律:「when a measure becomes a target, it ceases to be a good measure」。

同一個陷阱的其他樣子(我的延伸,不是論文內容)

情境「試很多次」指的是對應做法
調模型超參數在同一份驗證集上反覆比較留一份只在最後用一次的測試集
A/B 測試每天看結果,一顯著就停事先定好樣本數和停止條件
刷 benchmark反覆改版,直到公開排行榜分數上升見 基準污染與分數失真
提示詞迭代在同一批範例上反覆修修的範例和驗收用的範例分開

🧪 我實際套用的紀錄

  • 2026-10-25:重現論文實驗。在純隨機漫步上試 880 組季節策略,樣本內冠軍看起來很好,但 PBO 是 0.56–0.84,也就是半數以上的情況下,冠軍到了樣本外連中位數都不如。

⚠️ 注意 / 什麼時候不適用

  • 只試一兩次、而且事先就決定好方案時,這個問題很小。麻煩的是事後從很多結果裡挑。
  • 上表假設各次嘗試彼此獨立。參數相近的組合高度相關,有效的 N 比名目上的 N 小,灌水幅度會比表上低,但不會消失。
  • 冠軍不可信,不代表全部都爛。N 個嘗試都好、只是彼此差不多時,挑哪個都可以;這種情況也會讓 PBO 偏高。

🔗 相關工具