方法论

Riftcast 的概率如何产生、比赛结束后如何评分,以及由此得出的数字意味着什么。本页是「关于」页面的技术补充。

数据规模:已收录 15,622 场比赛,已评分 35,844 条预测。本页数字于 2026-09-10 04:03 UTC 生成。

1. 我们做的事

Riftcast 用基于历史比赛数据训练的机器学习模型,为每场英雄联盟职业比赛的双方各发布一个概率。概率在比赛开始前生成并保存,比赛结束后再对照结果评分。预测从不事后修改。

概率不是对将要发生之事的预报,而是关于一长串同类比赛的陈述:当我们说一支队伍有 65% 的胜率时,我们主张的是在大量获得该评估的比赛中,每 100 场大约赢 65 场。被评为 65% 的队伍输了,并不等于预测失败;被评为 65% 的队伍在足够大的样本里只赢一半,那才是失败。

我们不出售「预测出的赢家」。我们公开经过校准的概率和自己的战绩,包括战绩为负的市场。

2. 模型

每场比赛都有四个模型在运行。它们基于相同数据各自独立训练,因此经常彼此不一致,而这是刻意为之:模型之间的差距本身就说明了这场对决究竟有多大确定性。

FastTree

梯度提升决策树,也是衡量其他所有模型的基准。它训练快、跨越多次重训依然稳定,并且能很好地处理常规情形:成熟联赛中两支近期战绩充足的已知队伍。它是免费层提供的模型,也是在队伍数据稀少时表现下滑最平缓的模型。

LightGBM

按叶生长的梯度提升实现。当底层游戏发生变化时,它比 FastTree 适应得更快,因此在版本更迭期以及不同赛区队伍首次交手、赛区内状态参考价值很低的国际赛事中,是更强的模型。

PCA Sweep

一条主成分流水线,其超参数由大规模离线扫描选出,并在分类器之前进行降维。把高度相关的队伍统计压缩为更少的成分,可以减少对队伍档案中大量近乎重复特征的过拟合,通常也是三个基础模型中最准确的一个。

Consensus

它不是第四个模型,而是上述三者的加权混合,按各模型近期的对数损失加权,使处于低谷的模型贡献更小。Consensus 是站内最可靠的单一数字,同时也是最保守的:它很少给出个别模型偶尔会给出的极端概率。

每个模型都有两种变体。基础变体依据比赛开始前的队伍与选手状态进行预测。识别 BP 的变体会在十名英雄全部锁定后对同一场比赛重新定价,在队伍状态之上叠加英雄胜率、阵容内部协同以及对线克制。识别 BP 的变体只有在英雄选择结束后才可用,这也是预测有时会在比赛开始前不久发生变化的原因。

3. 训练数据

  • 15,622 场单局比赛已收录
  • 450 支队伍在追踪
  • 230 项赛事已覆盖
  • 35,844 条预测已评分并存档

系统由两个数据来源支撑。赛程、实时比赛状态和英雄选择来自 lolesports.com 的官方 LoL Esports API。所有模型据以训练、所有预测据以评分的已结束比赛统计,来自对 gol.gg 的抓取。两者对结果出现分歧时,以 gol.gg 为准,实时数据予以舍弃。

模型能看到的包括:滑动窗口下的队伍近期状态、按赛区水平与跨赛区战绩校正的 Elo 式实力评分、蓝红方胜率、资源与经济统计、当前阵容中各选手的状态,以及在识别 BP 的变体中实际选出的英雄。特征对双方对称计算,因此模型无法从哪支队伍被排在前面这一点上学到任何东西。

所有模型每天 00:10 UTC 基于当时可得的全部历史重新训练,训练完成后重新生成未来比赛的预测。两次重训之间绝不会改动模型文件。

没有任何赛事被排除在训练之外。早期版本的流水线曾剔除部分小型赛事和国际赛事;这一做法已于 2026 年停止,因为被剔除的赛事恰恰是模型最需要数据的场合。

4. 准确率如何记录

比赛开始前作出的预测将永久存档,并用于计算这些数字。不存在任何删除、修改或事后重新评分已发布预测的机制。

只有当比赛出现在抓取到的结果数据中,预测才会被评分。实时比赛状态从不用于结算预测,因为它只是尽力而为的信息,偶尔会出错;若某场比赛的胜者尚无法由抓取数据确定,则保持未评分,而不是靠推断给出结论。这比读取实时数据慢,也正是已公布战绩有时会落后结果几个小时的原因。

评估采用按日期留出的方式:模型只在其训练时尚未发生的比赛上被衡量,对一个每天重训的系统而言,这是唯一诚实的检验。每一条已评分的预测都会计入下面的数字。不存在把糟糕的一周剔除掉的编辑环节,也不会因为表现不佳而隐藏任何市场。

我们公布的指标

命中率
选择正确的比例,且始终与其背后的选择数量一并给出。单看它是一个弱指标:一个只挑明显热门的模型也能拿到很高的命中率,却并未比单纯跟随市场多做任何事。
Brier 分数
所给概率与实际结果之间的均方差。越低越好。凡事都答 50% 得到的是 0.25,因此任何高于 0.25 的数值都意味着附加在选择上的信心还不如没有。命中率本身抓不出「自信地判断错误」的模型,而这正是该指标要捕捉的。
对数损失
针对同一批预测的第二套评分规则,对自信的错误惩罚远比 Brier 分数严厉。Consensus 混合正是用它来决定当下每个模型应得多少权重。
投资回报率
按赛前可得的市场赔率计算,对每个合格选择均等投入一个单位本金会得到多少回报。选择正确返还赔率减一,选择错误损失一个单位。回报率为净收益除以选择数量。这是此处唯一计入价格的指标,也是模型可能既准确又不赚钱的那个指标。

查看按模型、市场与联赛划分的完整战绩

5. 校准

模型经过校准,是指它所声明的信心程度在大样本上与现实相符:在它判定为 60% 的所有比赛中,应当有接近 60% 真的赢下。一个模型完全可能既准确又校准很差,即选对了一方,却对此过于笃定。

模型的原始输出本身并未良好校准,因此我们在展示时套用一层校准,它只依据过去已评分的预测拟合,绝不使用正在预测的这场比赛。由于它是在页面读取时应用,而非固化进已保存的预测,历史记录会完全保持发布时的原样,而其背后的校准则持续改进。

校准按联赛汇总,因此已评分比赛很少的联赛会向更大的样本借力,而不是相信区区几场结果。这也是低于最小样本量的联赛会被标记为低准确率并排除在主要数字之外的原因:不是因为它们的结果不好,而是因为其数量还不足以说明任何问题。

6. 价值精选

价值精选指的是:对同一结果,我们给出的概率高于市场隐含的概率。这是与市场价格的分歧,而不是对某个确定结果的预告。

期望值 =(模型概率 x 市场赔率)- 1

当该数值大于零时,说明市场给出的价格在我们看来过于慷慨,这条精选便被记录下来。每条被记录的精选都会连同概率、价格和发布时间一起保存,随后与其他预测一样接受评分。被标记为低准确率联赛中的精选会被追踪,但不计入公布的回报,因为基于寥寥几个结果的百分比只是噪声。

一个市场必须至少有 50 条已评分精选,才被允许作为亮点呈现。低于该门槛的数字仍会连同样本量一并出现在完整表格中,但不会被当作一项成绩。

目前记录在案最强的市场是 系列赛胜者 上的 PCA Sweep:在 130 条已评分精选上取得 +10.1% 的回报率。该数字是推导得出而非人工挑选,并会随结果的累积而变化。

查看所有市场,包括处于亏损的市场

7. 常见问题

你们能预测一个系列赛中的单局比赛吗?

可以,并且分开评分。单局层面与系列赛层面的预测是分母不同的两个市场,绝不会合并成一个数字,因为五局三胜制包含多局比赛,把它们一并平均会在无形中让长系列赛的权重高于短系列赛。

你们使用私有或内部信息吗?

不使用。模型所看到的一切都是公开信息:已公布的比赛结果、官方赛程,以及转播中呈现的英雄选择。我们没有球探网络,没有非公开的阵容信息,也不与战队或选手接触。

你们如何应对新版本?

模型每天重训,因此新版本是随着在该版本上打完的比赛逐步进入模型的,而非依靠人工调整。这意味着大型版本更新后的头几天是站内最不可靠的时期;由于英雄层面的统计比队伍层面更早发生变化,识别 BP 的变体恢复得最快。我们不会围绕某个版本手动调参,那会让公布的准确率无法复现。

平局和未进行的比赛如何处理?

针对从未进行的比赛的预测按作废处理,而不计为失误,作废的精选会从所有数字中剔除。当市场可能走平时,例如总数恰好落在盘线上,该精选同样作废,投入的一个单位视为退回。抓取数据中比分不完整的系列赛将保持未评分,直到缺失的比赛补齐。

为什么不直接用最好的那个模型?

因为哪一个最好会变,而且只有事后才知道。三个模型分别在不同市场、不同时期领先过,排序会随版本变化,也会在赛区内赛事与国际赛事之间改变。按近期对数损失将它们混合,得到的数字比任何单一模型都更稳定,代价是几乎从不会在某个具体市场上成为最优。

预测由机器学习模型生成,不保证任何结果。本页数字描述的是已评分的历史预测,并非对未来表现的预测。仅供参考,不构成财务建议。