從 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-0 | 8.5% | 6.2% | 低估 37% |
| 1-0 | 11.0% | 8.4% | 低估 31% |
| 0-1 | 9.2% | 7.0% | 低估 31% |
| 1-1 | 11.5% | 9.8% | 低估 17% |
| 2-2 | 4.8% | 4.5% | 略低估 |
| 0-2 | 4.0% | 4.5% | 略高估 |
低比分事件的偏差系統性為負。這不是噪聲,是模型結構性偏差。
原因:
- 防守戰術:弱隊在客場會更深位防守,更傾向 0-0 或 0-1,而非 0-3
- 時間效應:落後球隊會更保守,0-1 出現機率比獨立模型預測高
- 連帶性: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 曼市為例:
| 結果 | 獨立 Poisson | Dixon-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 年公開學術成果,任何足球分析研究都應該會。我們把方法公開的原因:
- 透明性——讀者能驗證我們的模型是否真的有 Dixon-Coles 修正
- 教育——這是一個完美展示「為什麼簡單 Poisson 不夠」的例子
- 法律——我們定位是「研究」,研究的本質就是方法論透明
延伸閱讀: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.