Skip to content
全部期权指南
概率预测评估12 分钟阅读

概率预测中的 Brier score 与 log loss

比较二元概率预测的 Brier score 和 log loss,了解计算方法,以及恰当评分、校准和预测技巧的含义

本指南内容命中率丢掉了你预测的概率

简短摘要

概率预测说明某个事件发生的可能性,而不只是哪个结果最可能。Brier score 和 log loss 将这些概率与已经确认的结果进行比较。两者都是 proper scoring rules,但惩罚错误的方式不同。因此,只有在事件、样本、评分口径和参照对象都已确定后,较低的 score 才有意义。

命中率丢掉了你预测的概率

假设你记录模型是否正确预测了“上涨”或“下跌”。命中率会把正确的 51% 预测和正确的 99% 预测视为相同,也会把错误的 49% 预测和错误的 1% 预测视为相同。这样会丢失预测所表达的置信度;当决策涉及不同的收益或风险时,置信度可能很重要。

二元概率预测会在预测起点 \(t\) 为一个定义明确的事件指定 \(0\) 到 \(1\) 之间的数值 \(p_t\)。之后,事件发生时记为 \(y_t=1\),未发生时记为 \(y_t=0\)。评分规则会同时评估预测和结果。Brier score 使用概率误差的平方;log loss 使用实际结果所对应概率的负对数。

这些 score 可以用于比较概率预测,包括交易模型给出的事件概率。但它们本身不能说明预测是否经过校准、是否优于合理的参照,或根据预测进行交易是否会赚钱。Mincer–Zarnowitz 指南介绍了另一种针对数值点预测的线性校准回归。

定义一个事件,并将每个预测与其结果对齐

评分之前,应先明确事件定义,确保结果可以一致地判定。“资产会不会上涨?”还不完整;你需要说明资产、价格来源、开始和结束时间、货币、收益率口径,以及如何处理缺失或更正后的记录。对于经济事件,应记录用于判定结果的发布数据及其版本。不要比较基于不同事件定义或日期集合评分的预测。

保存每个预测在其起点实际可用的状态。时点 \(t\) 发布的概率,只能使用指定 cutoff 之前可得的信息,并应与相同 horizon 的结果配对。修订后的数据序列、之后的交易所收盘价,或看过结果后才选定的分类规则,都可能在不易察觉的情况下改变 target 或引入未来信息。

对于滚动预测,应保留模型版本、输入数据版本、timestamp、概率和结果判定规则。比较模型时使用相同的 forecast origins。如果某个概率缺失,应记录排除原因,并对所有候选模型采用相同的样本规则。这样得到的 score 才能复现,而不是不断变化的 spreadsheet 摘要。

用概率误差平方计算 Brier score

对于单个二元事件,案例 \(t\) 的 Brier loss 为:

BSₜ = (pₜ − yₜ)²

对 \(n\) 个预测取平均,Brier score 为:

BS = (1/n) Σₜ (pₜ − yₜ)²

越低越好,零表示完美预测;这种单事件口径的取值范围是零到一。例如,若预测 \(p=0.70\) 且事件发生,loss 为 \((0.70-1)^2=0.09\)。若同一预测之后事件没有发生,loss 为 \((0.70-0)^2=0.49\)。高置信度的错误比温和的错误代价更大,但惩罚有上限。

比较已发表的数字时,应核对公式。有些口径会对多结果预测的所有类别误差平方求和;在二元情况下,这种类别向量求和可能是上面单事件 loss 的两倍。在同一个事件内将所有 score 乘以二不会改变排序,但如果没有说明尺度,不同口径下的数值不能直接比较。

计算 log loss,理解极端错误为何更突出

二元事件的 log loss 为:

LLₜ = −[yₜ log(pₜ) + (1 − yₜ) log(1 − pₜ)]

事件发生时,loss 为 \(-\log(p_t)\);事件未发生时,loss 为 \(-\log(1-p_t)\)。因此,正确的 70% 预测得到 \(-\log(0.70)\approx0.357\),同一个预测若错误则得到 \(-\log(0.30)\approx1.204\)。平均 log loss 对每个案例的惩罚取平均;如果预测给实际发生的事件分配了趋近于零的概率,loss 没有固定上限。

当 \(p=0\) 或 \(p=1\) 时,极度自信但错误的预测会产生无限大的 log loss。如果软件为避免无穷值而将概率截断到某个很小的下限,例如 \(\varepsilon\),应披露该下限,并在查看结果前一致地应用。Clipping 会改变数值评估规则,不应被隐藏成数据清理细节。

由于惩罚曲线不同,Brier score 和 log loss 可能对同一组预测给出不同排序。对于已经发生的事件,log loss 会特别严厉地惩罚接近零的预测概率;二元 Brier loss 的最大值为一。应提前选定主要 score。如果决策取决于极端概率,可以考虑同时报告两者,而不是事后挑选更好看的结果。

<!-- learn:illustration -->

蓝色玻璃滴与琥珀色结果石相对摆放,一项高度自信的预测与实际发生的事件相距很远
以概念图表现概率预测、实际结果及自信误判所受的不同惩罚;不含市场数据、检验结果或交易信号

Proper scoring 在期望意义上鼓励诚实报告概率

如果预测者通过报告自己真正相信的概率来最大化期望奖励或最小化期望损失,那么这个 score 是 proper 的。如果诚实概率是唯一最优值,则它是 strictly proper。按照常见定义,Brier score 和 logarithmic score 对二元概率预测都是 strictly proper(Gneiting 与 Raftery,2007)。因此,直接评估概率而不是先将其转成硬标签,有明确的理论依据。

“Proper”描述的是期望性质,并不保证每个已观察样本上的结果。诚实报告 70% 概率的人仍可能在单个案例中预测错误,并在有限样本上得到比猜测者更差的 score。要了解平均表现,需要重复且可比较的预测。激励机制也很重要:如果预测者面对另一套收益规则,score 本身不能保证报告的概率反映其真实信念。

这两个 score 都不只测量校准。汇总值可能同时反映预测概率与观察频率的接近程度,以及区分不同结果案例的能力。模型可以给出区分度很高的预测,却仍然存在系统性校准偏差;总是报告 base rate 的模型可能在整体上校准良好,却几乎不提供个案信息。

将 Brier 分解理解为 reliability、resolution 和 uncertainty

Murphy 分解将平均 Brier score 拆成三个部分(Murphy,1973012%3C0595%3AANVPOT%3E2.0.CO%3B2)):

BS = reliability − resolution + uncertainty

对于预测概率相近的组 \(k\),令 \(w_k\) 表示该组占样本的比例,\(\bar p_k\) 表示组内平均预测概率,\(\bar y_k\) 表示观察到的事件频率,\(\bar y\) 表示总体事件频率。按 bin 分组后的分量为:

reliability = Σₖ wₖ(̅pₖ − ̅yₖ)² resolution = Σₖ wₖ(̅yₖ − ̅y)² uncertainty = ̅y(1 − ̅y)

reliability error 越低越好:组内预测概率应与该组观察到的频率一致。resolution 越高越好:各组事件频率应与总体 base rate 不同。Uncertainty 反映事件在样本中出现的频率,不是预测模型的功劳。这个分解解释了为什么两个模型的 Brier score 可以相同,但各自的优势不同。

当把具有相同已发布概率的案例归为一组时,经验分解是精确的。如果将连续概率分到若干 bin 中,分解对合并后的预测是精确的,但对 bin 内被抹去的原始概率差异并不精确。分组必须选择 bin 边界。十个等宽 bin 的 reliability diagram 可能与分位数 bin 的图呈现不同情况,尤其是在样本较小或概率接近极端时。应报告每个 bin 的案例数和 uncertainty,并将分组分解视为诊断工具,而不是消除抽样误差的方法。校准图不是未来可靠性的独立证明。

在称 score 为 skill 之前选择参照

raw score 低于另一个模型,只能说明两者不同,还不能说明相对于有用基线有所改进。Brier skill score 将预测系统与明确命名的参照预测进行比较:

BSS = 1 − BS_model / BS_reference

按此定义,零表示与参照相同,正值表示改善,负值表示结果更差。当参照 loss 为正时,模型 Brier loss 为零对应 score 为一。参照应符合决策和可用信息集。根据任务不同,可以使用固定的历史 base rate、训练窗口内的事件频率,或既有的预测流程。

如果未来评估结果在发布预测时不可用,就不要用这些结果计算参照。在时间序列中,扩展窗口或滚动窗口的历史频率,可能比全样本事件频率更适合作为操作基线。如果参照 score 为零,比例没有定义;应说明 benchmark 的构造方式,并同时报告模型和参照的 raw scores。

Brier skill score 取决于参照和事件频率。相对于无条件 base-rate 预测的 score,与相对于当前生产模型的 score 回答的是不同问题。比较不同研究的 BSS 前,应核对事件定义、参照预测、样本期间,以及二元或多类别口径。

在配对的 out-of-sample 结果上比较模型

按时间顺序生成概率,并留出没有用于调参、选择特征或选择 threshold 的评估期间。所有模型都应在相同的已确定结果和 forecast origins 上评分。对于选定的 loss,定义配对差异为:

dₜ = Lₐ,ₜ − Lᵦ,ₜ

按照这个符号约定,平均值为正表示模型 B 的平均 loss 更低。Diebold–Mariano 框架可用于检验平均 loss 差异,但前提是其预测比较假设和方差估计适用于研究设计。如果问题是相对 score 是否会随预测时已知的条件而变化,Giacomini–White 指南介绍了这种条件比较。重复的 origins、重叠的事件窗口和模型搜索可能使差异存在依赖或选择偏差;朴素的标准误或未经调整的单个 p-value 可能夸大证据。

在查看结果之前,确定事件、horizon、样本、主要 score、benchmark 和比较方向。报告平均 Brier 与 log loss、样本量、模型和参照定义、概率 clipping 规则,以及针对依赖或搜索的调整。将 reliability plot 和配对 score 差异与汇总值一起展示,有助于解释变化。Forecast combination 方法可以合并预测,但最终组合也需要在未用于选择组合的评估期上单独验证。

这些 score 的单位不同。Brier 差异 0.01 不能直接等同于 log-loss 差异 0.01。较低的 score 也不能证明底层概率模型正确;它只是关于指定结果上被评估预测的证据。

将预测质量与交易盈利能力分开

概率只有通过将其转化为行动的规则,才能支持交易决策。决策还取决于收益规模、判断错误时的损失、成交价格、spread、佣金、slippage、funding、借贷成本、资本限制,以及预测何时可以用于交易。Proper score 评估的是概率预测,不包含这些成本,也不负责选择仓位大小。

模型可能改善平均 log loss,却没有改善某条具体交易规则,因为该规则可能只在某个概率区间交易,或使用不同的 horizon。反过来,有用的决策信号也可能集中在少数案例中,对整体 score 的贡献不大。评估预测后,应在未用于选择规则的日期上单独评估预先设定的决策规则,并使用现实的净收益和不确定性估计。

合格的报告应让其他研究者能够复现事件、概率、结果、score 公式与口径、参照、样本和评估时点。报告还应说明概率是否为 out-of-sample、结果是否重叠、缺失案例如何处理,以及尝试了多少替代模型或评分选择。这样的规范能让预测 score 保持信息价值,而不会把它误写成未来盈利的承诺。

常见问题

Q1Brier score 越低就一定越好吗?

只有在事件定义、样本、评分口径和结果编码相同的情况下,越低才越好。不同事件或多类别口径得到的 score 可能不能直接比较。

Q2Brier score 好是否能证明概率已校准?

不能。汇总 Brier score 混合了 reliability、resolution 和事件的不确定性。还应检查校准诊断和样本不确定性。

Q3应该使用 Brier score 还是 log loss?

在评估结果之前选择。Brier loss 有界并使用概率误差平方;log loss 对高置信度但错误的概率惩罚更重。选择应考虑任务后果和所需的敏感度。

Q4概率 score 更好是否意味着交易策略会盈利?

不意味着。Score 评估预测,不评估考虑收益、执行成本、融资、仓位大小和模型选择之后的决策。 原始研究 - Brier, “Verification of Forecasts Expressed in Terms of Probability” (1950)078%3C0001%3AVOFEIT%3E2.0.CO%3B2) - Murphy, “A New Vector Partition of the Probability Score” (1973)012%3C0595%3AANVPOT%3E2.0.CO%3B2) - Gneiting and Raftery, “Strictly Proper Scoring Rules, Prediction, and Estimation” (2007) - Diebold and Mariano, “Comparing Predictive Accuracy” (1995)

资料来源与延伸阅读

报告问题

我们会准备一封包含本文链接的邮件。发送后,Mark 才会收到你的反馈

快速检查

读完指南后,用 3 道题检查一下

问题 1 / 3

问题 01

预测概率为 70% 后,二元事件发生了。按单事件口径,Brier loss 是多少?

选择答案即可查看解释

期权术语表