如何计算游戏排名预测中概率矩阵对应的组合事件概率
计算思路说明
首先得先点明一个核心前提问题:你手上现有的概率矩阵本身不满足概率公理——所有玩家拿到Rank1的概率加总为0.7+0.2+0.1+0.1=1.1,超过了1,说明两个子模型是独立训练的单点预测模型,只输出单个玩家拿某一个名次的边缘概率,没有考虑一个名次只能有一个玩家、一个玩家只能拿一个名次的排名规则,也没有给出不同玩家排名结果的联合分布,严格来说仅靠现有数据算不出绝对精确的概率。
如果先做最简化的场景假设(忽略模型输出的概率和超限问题,假设第1名、第2名的归属是独立事件,且概率值直接可用),那「PlayerA和PlayerB进前两名」这个事件一共只有两种互斥的可能情况,总概率是两种情况的概率相加:
- 情况1:A拿第1,B拿第2,对应概率为
P(A1)*P(B2) - 情况2:B拿第1,A拿第2,对应概率为
P(B1)*P(A2)
代入表中原始数值计算的话,结果是:0.7*0.05 + 0.2*0.8 = 0.035 + 0.16 = 0.195
结果偏差说明
上面的简化计算结果参考价值很低,核心问题有两个:
- 首先模型输出的Rank1概率和超过1,本身是未校准的结果,直接使用会带来误差
- 现实里排名事件天然不满足独立假设:一个玩家拿了第1就不可能拿第2,某玩家拿了第1之后,剩下玩家拿第2的概率会发生变化,不能直接用边缘概率相乘
如果要得到准确的结果,你需要补全联合概率信息:4个玩家的完整排名一共有24种排列,只要拿到所有排列的发生概率,把所有「A、B占据前两位」的排列概率加总,就能得到精确的事件概率。
内容的提问来源于stack exchange,提问作者voxter
相关产品推荐
相关产品推荐

