我的模型在 65% 以上时准得可怕,在 50% 时像在掷硬币

0 阅读4分钟

一、为什么整体 50% 掩盖了真实能力

因为 90% 的比赛都在 40–55% 这个区间——那里模型和市场几乎没差别,全是噪声。

真正的信号藏在头部。把它单独拎出来:

阈值样本命中率
≥60%57465.7%
≥65%30674.5%
≥70%12277.9%

换句话说:模型的价值不在"平均表现",而在"知道什么时候该闭嘴"。


二、校准:模型说自己 60%,实际中多少

这是评估模型最容易被忽略的一步。

模型自报实际命中偏差
30–40%37.3%+7.3pp
40–50%41.7%+1.7pp
50–60%50.6%+0.6pp
60–70%61.7%+1.7pp
70–80%76.5%+6.5pp
80–90%80.0%0.0pp

校准得相当好。 而按排名分层却出现"头高尾低",说明问题不在概率标定,而在排序——模型对"哪些比赛更确定"的判断是有效的。

这两件事经常被混为一谈:

  • 校准(calibration):说 60% 就中 60% 吗?
  • 区分度(discrimination):能把"确定的"和"不确定的"分开吗?

我的模型是:校准还行,区分度很好。


三、一个更重要的发现:执行比预测更值钱

假设我已经有了一个 74% 命中率的子集。接下来决定收益的,不是再提高命中率,而是价格。

同一批票,在不同价格上成交:

价格来源抽水(返还率)
单一平台收盘价6.72%
全平台平均7.11%
全平台最高价3.08%

只是"多比几家",就白拿 3.6 个百分点。

换算到实际结果上(2026/27 样本外,模型置信≥65%):

成交价投注数回报率
收盘价36+6.9%
最高价36+9.9%

另一个赛季(n=191)复现:收盘 +3.4%,最高价 +5.8%。

两个独立赛季、两个不同样本,方向一致。


四、为什么"提高命中率"不如"改善执行"

用数据说话:

改进方向成本预期提升
训练数据翻倍高(数月采集)+1.33pp
每季再多跑几万场模拟中+0.5pp
换一个更好的成交价低(比价而已)+2.5~3.6pp
只打最高置信的 10%零成本命中率 50%→74%

第 3、4 条几乎不要钱,收益却是第 1 条的 2–3 倍。

这件事在别的领域也成立:当预测能力的边际收益递减时,执行层的边际收益反而更高。


五、但必须说清楚:样本还是太小

n=36、n=191,在这个量级上,标准误大约是 ±3.5%。

也就是说:+9.9% 的真实值可能在 +3% 到 +16% 之间,也可能本质上就是 0。

我见过太多把 30 个样本的回测当成"稳定盈利系统"的例子。诚实的做法是:

① 把阈值提前定死(我在写这一段时就固定为 ≥65%,之后不再调参)
② 只做前向验证,不回头改规则
③ 记录每笔的成交价与赛果,样本到 100 笔再看结论
④ 如果 100 笔后 ROI ≤ 0,承认策略无效并停止

第 4 条最难做到,但最重要。


六、这个方法可以迁移到别的地方

这套"分层 → 校准 → 执行价 → 前向验证"的框架,并不只适用于足球:

  • 股票择时:整体胜率 52% 没用,要看最高置信 10% 的子集
  • 推荐系统:整体 CTR 提升 0.5%,不如把 top 1% 的准确率从 60% 提到 80%
  • 风控:不是"减少误判",而是"识别出哪 5% 的样本模型根本没把握"

核心思想只有一句:

一个模型最有价值的输出,不是"预测结果",而是"预测自己有多确定"。


七、数据与代码

本文所有数字来自:10,617 场真实比赛、8,771 场含收盘赔率、14 个联赛、3 个赛季。 实验脚本包含:时间切分回测、温度校准、置信度分层、ROI 计算。


本文为概率模型与评估方法的研究分享,所有数字为历史回测结果,不构成任何投注建议。历史数据不代表未来表现。