示例取自历史回测数据

预测示例

下面 5 张卡片的每一行都对应 data/clean/features.csv 里的一条真实记录 (split = test,2023/24 赛季)。三路概率不是手填的:由项目自己的赛前因子链 prematch_lambdas() 与 outcome_probabilities() 现场算出, ρ 取 reports/metrics.json 的 config.factor_rho = -0.05。 市场概率直接取同一行的 market_home / market_draw / market_away(已去水)列。

来源:data/clean/features.csv 来源:factors/layers.py :: prematch_lambdas 来源:factors/probability.py :: outcome_probabilities 来源:reports/metrics.json → config.factor_rho

这不是「挑最好看的 5 场」。 5 条样本按联赛分散挑选(英超 ×2、西甲、意甲、德甲),刻意保留了 2 条未命中, 其中 1 条模型给出客胜。挑选方式是固定行号而非按命中筛选,可原样复现; 但它不是随机抽样,不能代表整体命中率。 整体命中率见首页 50.63%(n = 6498,95% CI 49.42%–51.85%)。

来源:reports/baseline.md「测试集」表 来源:docs/ACCURACY.md「赛前因子分支」

5 条真实历史样本

E0 · 英格兰超级联赛 2024-03-31 features.csv row_id 26049
Liverpool 2-1 Brighton
主胜 68.2%
平局 18.2%
客胜 13.7%
模型结论 主胜(68.2%) 实际 主胜 命中 市场结论 主胜 · 命中
λ(主) = 2.4409 · λ(客) = 1.0225
Elo 1897 / 1680 · xG 均值 2.47 / 1.70 · 近况 0.87 / 0.47
休息 21 / 21 天 · 联赛场均进球 3.54
市场概率 71.4% / 16.4% / 12.2%
E0 · 英格兰超级联赛 2024-03-31 features.csv row_id 26050
Man City 0-0 Arsenal
主胜 50.8%
平局 23.2%
客胜 26.0%
模型结论 主胜(50.8%) 实际 平局 未命中 市场结论 主胜 · 未命中
λ(主) = 1.9159 · λ(客) = 1.3255
Elo 1951 / 1883 · xG 均值 2.36 / 2.18 · 近况 0.73 / 1.00
休息 21 / 22 天 · 联赛场均进球 3.54
市场概率 50.8% / 24.9% / 24.3%
SP1 · 西班牙甲级联赛 2024-03-31 features.csv row_id 26061
Alaves 0-1 Sociedad
主胜 29.2%
平局 27.6%
客胜 43.2%
模型结论 客胜(43.2%) 实际 客胜 命中 市场结论 客胜 · 命中
λ(主) = 1.1257 · λ(客) = 1.4234
Elo 1432 / 1619 · xG 均值 1.30 / 1.43 · 近况 0.33 / 0.60
休息 15 / 16 天 · 联赛场均进球 1.88
市场概率 27.7% / 32.5% / 39.8%
I1 · 意大利甲级联赛 2024-03-30 features.csv row_id 26030
Napoli 0-3 Atalanta
主胜 54.8%
平局 23.1%
客胜 22.2%
模型结论 主胜(54.8%) 实际 客胜 未命中 市场结论 主胜 · 未命中
λ(主) = 1.9347 · λ(客) = 1.1648
Elo 1713 / 1679 · xG 均值 1.79 / 1.61 · 近况 0.60 / 0.33
休息 13 / 20 天 · 联赛场均进球 2.20
市场概率 45.7% / 26.6% / 27.7%
D1 · 德国甲级联赛 2024-03-30 features.csv row_id 26009
Leverkusen 2-1 Hoffenheim
主胜 79.6%
平局 13.4%
客胜 7.0%
模型结论 主胜(79.6%) 实际 主胜 命中 市场结论 主胜 · 命中
λ(主) = 2.8136 · λ(客) = 0.7516
Elo 1853 / 1568 · xG 均值 2.11 / 1.40 · 近况 1.00 / 0.40
休息 13 / 14 天 · 联赛场均进球 3.74
市场概率 80.7% / 12.0% / 7.3%

这张表怎么读

三路概率

模型是本项目赛前因子链输出的主胜/平局/客胜概率, 市场是同一场比赛去水后的收盘赔率隐含概率(优先级 Pinnacle → Bet365 → 其他 → 平均)。 金色边框标出的是该行概率最高的一路,也就是「模型选择的结论」。

来源:reports/baseline.md「模型定义」

λ 与输入

每张卡片底部列出该行真实的 pre_lam 派生结果(两个剩余进球强度 λ)与进入 L2 的 关键输入:双方 Elo、滚动 10 场 xG 均值、近况、休息天数、联赛场均进球。 这些值就是 features.csv 对应列的原值。

来源:data/clean/features.csv 列定义

命中 / 未命中

命中判定只看「概率最高的那一路」是否等于实际赛果,不考虑赔率与收益。 注意:命中率高不等于赚钱 —— RPS 更低只代表概率更准, 不代表扣除赔率后为正收益。

来源:reports/baseline.md「结论」第 4 条

市场也常常同样结论

这 5 场里模型的 5 次选择与市场全部一致(都选同一路)。这不是巧合: 测试集上市场基线的命中率 51.86% 高于因子链的 50.63%。 模型真正的价值只能靠样本外增量证明,不能只看这几张卡片。

来源:docs/ACCURACY.md 第 17 行 来源:本页数据 assets/examples.json

复现方式

示例页由脚本生成,不手填任何概率。改行号或重跑都会得到同一份结果:

命令作用
'E:\寒霜工作台\Python 三\app\python.exe' tools\make_examples.py --list 列出 test 集候选样板(含模型/市场结论与命中)
... tools\make_examples.py --emit 写出 assets/examples.json
... tools\make_examples.py --emit --render 同时重新生成本页 examples.html

⚠️ 运行前请先备份 examples.html:脚本会用生成结果整页覆盖它。