足球分析预测系统 — 学术 SOTA 算法(Dixon-Coles 1997 / Maher 1982 / Karlis-Ntzoufras 2003 / Lambert 1992)的胜平负与精确比分预测引擎。
把「谁会赢、最可能几比几」从主观判断变成可复现、可回测的量化概率。
三轨混合架构:Dixon-Coles 原文极大似然估计每队攻击/防守强度,5 种统计学比分分布方法生成全场比分概率矩阵。基于 49,417 场国际比赛(1872-2026)训练,walk-forward 零泄漏评估下胜方预测准确率 59.9%。
这个系统最特别的不是模型,而是它对自己犯过的错记得清清楚楚。以下每一条痛点都来自 CHANGELOG 里的真实事故,解法也都是落地过的真实修复 —— 数字必须经得起回测,撑不住的就主动撤下。
README 里的完整工作流:赛前联网核实情报,算法给出概率,一条命令出 PDF 报告;赛后复盘引擎自动提取教训写回因子库,下个版本自动应用 —— 一个自我进化的闭环。
49,417 场训练、同一切片 n=1,000 实测(v10.1 重跑):没有「万能分布」,各有分工 —— Poisson 的 Log-Loss 最低,Dixon-Coles 的 Top-3 最高,Negative Binomial 则被实测证伪、明确标注不适用。
| 方法 | 论文出处 | Top-1 | Log-Loss | 定位 |
|---|---|---|---|---|
| Poisson 基线 | Maher 1982 | 10.10% | 3.2459 | ⭐ Log-Loss 最低;换 MLE xG 后 Top-1 → 15.70% |
| Dixon-Coles τ | Dixon & Coles 1997 | 9.30% | 3.2488 | ⭐ Top-3 最高(33.60%),低比分 τ 修正 |
| Bivariate Poisson | Karlis & Ntzoufras 2003 | 9.10% | 3.2753 | 建模两队进球相关性 |
| Zero-Inflated Poisson | Lambert 1992 | 7.90% | 3.3163 | 0-0 修正 |
| Negative Binomial | Boshnakov 2017 | 0.00% | 14.17 | ❌ 实测不适用(预测 12.45 球 vs 实际 2.58) |
复现命令:python3 -m algorithms.devine.dc_mle --walkforward 5000 · python3 -m algorithms.devine.full_comparison --xg-source mle
比分预测矩阵模拟器:选两支国家队(或直接拖 xG 滑块),浏览器实时跑 Poisson / Dixon-Coles / ZIP 三种算法,渲染 10×10 比分概率热力矩阵 + Top-5 比分 + 胜平负三向概率。
算法逻辑:P(X=k)=λ^k·e^(−λ)/k!,10×10 截断后归一化;Dixon-Coles τ 在 (0,0)(1,0)(0,1)(1,1) 四格按 ρ=−0.10 修正;ZIP 对 0-0 加权 ω=0.05。与 Skill 内引擎同源。
⚠️ 本系统仅供研究学习使用,不构成任何投资建议。投注有风险。
| 模块 | 状态 | 说明 |
|---|---|---|
| v11.0 D&C MLE 引擎 | 已完成 | walk-forward n=5,000 达标,14 个新测试 |
| 真实数据源接入 | 进行中 | ApiFootball / ESPN 已接入,clubelo 待网络首跑 |
| 地基修复 v10.1 | 已完成 | import 断裂 + 数据泄漏 + 真实基线 |
| 数据清理 v10.2 | 已完成 | football.db 去重,释放 ~2.75GB |
| 测试体系 | 已完成 | 178 passed / 0 failed |