Dixon-Coles 校正:足球比分模型的低分修正

為什麼獨立 Poisson 會低估 0-0 和 1-1?1997 年的經典論文怎麼解決這個問題。

從 Poisson 說起

足球比賽比分服從 Poisson 分佈嗎?嚴格說不,但很接近。傳統足球模型用兩個獨立 Poisson 分佈估計主隊和客隊的入球數:

P(X = x) = e^(−λ_x) · λ_x^x / x!
λ_home = 主隊攻擊力 × 客隊防守力 × 主場優勢
λ_away = 客隊攻擊力 × 主隊防守力

但這個獨立 Poisson 模型有個致命缺陷:低估低比分事件(0-0, 1-0, 0-1, 1-1)。

為什麼獨立 Poisson 失靈?

實證觀察(英超 2018-2022):

比分實際頻率獨立 Poisson 預測偏差
0-08.5%6.2%低估 37%
1-011.0%8.4%低估 31%
0-19.2%7.0%低估 31%
1-111.5%9.8%低估 17%
2-24.8%4.5%略低估
0-24.0%4.5%略高估
低比分事件的偏差系統性為負。這不是噪聲,是模型結構性偏差。

原因:

  1. 防守戰術:弱隊在客場會更深位防守,更傾向 0-0 或 0-1,而非 0-3
  2. 時間效應:落後球隊會更保守,0-1 出現機率比獨立模型預測高
  3. 連帶性:0-0, 1-0, 0-1 並非獨立——它們共享「雙方防守強」這個底層因素

Dixon-Coles 1997:低分修正

Mark Dixon 和 Stuart Coles 1997 年在 Journal of the Royal Statistical Society 發表了一篇經典論文, 提出一個簡潔的修正項 τ(x, y; ρ, λ),作用於四個低比分事件:

τ(x, y; ρ, λ₁, λ₂) =
  1 − ρ × λ₁ × λ₂   if (x, y) = (0, 0)
  1 + ρ × λ₁        if (x, y) = (1, 0)
  1 + ρ × λ₂        if (x, y) = (0, 1)
  1 − ρ             if (x, y) = (1, 1)
  1                 otherwise

修正後的聯合概率:

P_DC(x, y) = τ(x, y; ρ, λ₁, λ₂) × P(X=x) × P(Y=y)

ρ 是什麼物理意義?

ρ 是一個相關係數,捕捉「雙方防守戰術同步效應」:

  • ρ > 0:當一方進攻意願低(防守優先),另一方也跟著保守 → 0-0 偏低,1-0 / 0-1 偏高
  • ρ < 0:雙方節奏獨立(這在現代足球罕見)
  • ρ = 0:退回獨立 Poisson

實證上,英超歷史 ρ ≈ -0.05 ~ -0.10(負值),意即「雙方節奏獨立性比獨立 Poisson 預測的還低」——更傾向低比分。

完整實作(Python)

import numpy as np
from scipy.stats import poisson

def dixon_coles_prob(lam1, lam2, rho, max_goals=7):
    pmf1 = np.array([poisson.pmf(i, lam1) for i in range(max_goals)])
    pmf2 = np.array([poisson.pmf(i, lam2) for i in range(max_goals)])
    p = np.outer(pmf1, pmf2)

    p[0, 0] *= 1 - rho * lam1 * lam2
    p[1, 0] *= 1 + rho * lam1
    p[0, 1] *= 1 + rho * lam2
    p[1, 1] *= 1 - rho
    p /= p.sum()
    return p

對預測影響有多大?

同樣以利物浦 vs 曼市為例:

結果獨立 PoissonDixon-Coles偏差修正
主勝50.2%49.1%-1.1pp
和局22.4%24.8%+2.4pp
客勝27.4%26.1%-1.3pp
0-0 概率5.1%7.8%+2.7pp
1-1 概率9.7%11.6%+1.9pp
修正後,和局概率顯著上升,0-0 和 1-1 也更貼近真實。 這對「和局市場」尤其關鍵——獨立 Poisson 會系統性低估和局價值。

我們的擴展:貝葉斯先驗

純 Dixon-Coles 把 ρ 視為全局常數。但不同聯賽節奏差異大

  • 英超節奏快、進球多 → |ρ| 較大
  • 意甲節奏慢、防守強 → |ρ| 更大
  • 德甲節奏最快 → |ρ| 較小

所以我們用貝葉斯分層模型:ρ_league ~ Normal(ρ_global, σ_league)。實作上用 PyMC 或 Stan 在歷史數據上做 MCMC 採樣。

為什麼我們公開 Dixon-Coles?

Dixon-Coles 是 1997 年公開學術成果,任何足球分析研究都應該會。我們把方法公開的原因:

  1. 透明性——讀者能驗證我們的模型是否真的有 Dixon-Coles 修正
  2. 教育——這是一個完美展示「為什麼簡單 Poisson 不夠」的例子
  3. 法律——我們定位是「研究」,研究的本質就是方法論透明

延伸閱讀:Brier Score · LGBM 特徵工程 · EMA 自適應學習

參考文獻:Dixon, M. J., & Coles, S. G. (1997). Modelling Association Football Scores and Inefficiencies in the Football Betting Market. JRSS Series C, 46(2), 265–280.

感謝閱讀。如對研究方法有疑問,歡迎透過會員中心的「聯絡研究團隊」與我們交流。

← 回到研究隨筆列表