《守望先锋》联赛等级分制度是如何评判队伍表现的

2018-08-14 11:23:39 来源:守望先锋联赛官网 作者:CaptainPlanet 编辑:sniperrap 浏览:loading

  我们如何评估《守望先锋》队伍的表现? 这是《守望先锋联赛》创始赛季期间,粉丝和专家们一直都在努力解决的问题。你是否根据某个战队的潜力来评判其实力?结果却失望地发现该战队有负所望? 或者,你根据一个战队或好或坏的过往表现来进行评判? 我通过引入《守望先锋联赛》ELO 等级分制度 (OLE),尝试解决战队评估的方法问题。

游民星空

  ELO 等级分制度最初是由 Arpad Elo 创立的,用途是随着时间的推移衡量围棋选手的棋力。通过将某选手当前的水平和过往成绩纳入考虑,该系统可以衡量其对手的相对棋力。ELO 制度是一个零和系统:系统当中的等级分均值和总值不会有任何改变。这意味着无论两支比赛队伍的等级分差距有多大,胜者赢得的c等级分总是等于败者输掉的等级分。

  *在 OLE 制度中,所有战队的起始等级分为 1,000 Elo。

  基本的 ELO 制度就是一个基础数学公式,所需的一切就是起始分数*和换算系数“K”。K 决定了在一场特定比赛中,你赢得或输掉的 Elo 分是多少。K 越大,你长期来看赢得和输掉等级分的速度越快,因此系统的波动幅度也越大。有时你希望竞争激烈一些,或是不那么激烈。例如,某些围棋系统使用分层次的等级分系统,将不同 K 值应用于不同的技术层次。这可以帮助新棋手更快地达到他们实际的技术等级,同时也使得那些拥有长期参赛记录的大师等级棋手不易受大幅波动的影响。

  这个例子只是为了说明 Elo 等级分制度是高度定制化的。体育和选举统计网站 FiveThirtyEight 为美国橄榄球联盟 (NFL) 和全美篮球协会 (NBA) 定制了等级分系统,该系统尽力优化简单的等级分模型,从而更准确地反应战队的强弱。这两个 ELO 等级分制度就是我构建 OLE 的依据。

  我已经谈了等级分制度的参数“K”,接下来我要介绍一下其他几个自定义参数。

  阶段不变量

  《守望先锋联赛》是分阶段进行比赛的,而且更重要的是,每个阶段的版本环境完全不同。NBA 和 NFL 需要在赛季期间和不同赛季之间处理球员变动和交易,而这给了 FiveThirtyEight 进行赛季性修正的理由。《守望先锋》不仅有类似的交易、收购和版本发布,而且从更深层次来说,这款游戏本身会随着时间推移而演变。因此,OLE 就必须考虑阶段改变。

  就我的模型而言,我发现 FiveThirtyEight 的解决方案非常适合。无论何时有赛季变更,他们只会保留此前赛季的一部分 Elo 分——在 NBA 模型中,这个比例是 75%。在我的模型中,我暂时将这个比例当作未知变量,并且将它命名为“阶段不变比例 (Stage Carry-Through Ratio)”,或叫 CT。

  时间间隔的考量?

  当计算新的 OLE 评级时,我必须确定评级更新的频率。NBA、NFL 和围棋按“场”进行比赛,《守望先锋联赛》按“局”进行比赛,每局需在多张地图上进行较量。是否仅在每局比赛完毕后再更新战队的 OLE 分? 或在每张地图结束后更新 OLE 分? 我考虑了以下这些方面:

  比赛的局数不足以支持新 OLE 的计算。

  不是每局比赛的等级分都一致——一局 4-0 比赛和一局 3-2 比赛的等级分就不一样。

  即便我选择在每张地图结束后更新 OLE 分,一局 3-2 比赛的败者也不可能得到更多等级分,因为等级分制度本质上是零和游戏。

  因此,每个新的 OLE 分是在每个战队赛完每张地图后计算的。

  获胜边际 (MoV)

  不是每局比赛的等级分都一致,同样,每张地图的等级分也不是都一致。FiveThirtyEight 的两个等级分制度,都在比赛结果中考虑了获胜边际,作为 K 值的一个系数。这样便产生了一个动态 K 值,来决定一次意外胜利或暴击式胜利对一个战队的影响力。FiveThirtyEight 的 MoV 计算方法似乎是一个秘密——它有定义,但只有微不足道的说明。我可以确定的是 FiveThirtyEight 创立了一个对数函数,随着一个战队累积的得分越来越高,他们获得的等级分会越来越少,但一次压倒性的胜利仍比得分相近胜利的 MoV 大。

  这就是对于《守望先锋》而言比较棘手的地方。篮球和橄榄球总是有确定、可理解的 MoV,因为这两种比赛少有加时的情况,每场比赛的时长是一样的。在《守望先锋联赛》创始赛季期间,每张地图的比赛时间则从最少 6 分 22 秒到最多 37 分不等。另外,取决于哪支战队首先作为攻击方,得分可能不怎么靠得住。有的人可能会说,首先作为防守方获得的 1-0 胜利,其令人信服的程度至少等同于首先作为攻击方获得的 3-0 胜利。因此,我不能使用占点的差异作为我的 MoV,我需要找出能够准确衡量一次胜利的心理波及度、且不考虑比赛时长因素的 MoV 值。

  准确地说,我没找出来。我能找出一组不变时数值,这组数值可预测《守望先锋联赛》比赛用过的 94% 的地图的胜者。但仍有一些孤立情形无法预测,在这些情形当中,败者在理论上要强于胜者,虽然在实际比赛中输了。由于《守望先锋》是一个客观比赛,我推测这样的情形肯定还会不时出现。

  为了解决这个问题,任何时候胜者的 MoV 比败者还低时,我就调换他们的 MoV 值——如果你理论上应该失败,但却在实际比赛中获胜,你就应该得到原本属于你的对手的优待。然后我将我的 MoV “秘方”整合到一个对数函数中,该对数函数给予得分相近的胜利的系数是 0.75,“压倒性”胜利的系数约为 1.5,让人绝对意想不到的暴击式胜利(相当少见)的系数约为 3。大约 79% 的比赛结束时,其 MoV 系数都为 1 ,正负不超过 0.25。

  有意思的部分:挑选参数值

  我最终的 OLE 公式是这样的:

  新等级分 = 旧等级分 + MoV * K *(实际结果 – 预期结果)

  在发生阶段变更时,新的阶段 OLE 计算公式如下:

  新等级分 = 旧等级分 * CT + 1000 * (1-CT)

  但是,我怎么知道用哪个 K 值或 CT 值呢? 直到现在,我还是将它们置为未确定状态。我没有随意选择一些数值,而是将数值都试一遍!特别要说的是,我将 K 值的注意力放在 5 到 24 之间,但我也试过 25 到 50 之间的 K 值。你可以看到,在不同的 K 值和 CT 值下,OLE 如何随着赛季的推进而变化的状况。首先,是一个中等水平的组合,K = 10,CT = 0.5:

游民星空

  根据比赛得分得到的《守望先锋联赛》等级分演变图

  该图表根据整个赛季期间的比赛得分,描绘了 OLE 的演变,每个 OLE 都是在地图层级进行计算的。我们可以看到,赛季的大致走势与我们所见的实际情况吻合。例如,直到第 3 阶段,联赛都是由九霄天擎队和喷火战斗机队主导。第 3 阶段是九霄天擎队的巅峰,但他们迅速滑落,甚至连第一的位置都让位于英勇队。龙之队、狂欢队和燃料队在每个阶段都迅速下滑,但燃料队能够爬升并在第 4 阶段结束时坐到排行榜中游,尽管也被他们之前的表现拖累。

  现在对比一下 K = 24,CT = 1(K 值的波动更大,而且没有任何阶段修正)的情况:

游民星空

  根据比赛得分得到的《守望先锋联赛》等级分演变图

  更高的 K 值意味着更大的波动性,这在第 4 阶段燃料队的崛起和九霄天擎队的跌落中得到最佳印证。同时,像龙之队这样的战队发现自己与高层次对手的差距越来越大,这会对他们的获胜预期产生显著的影响。

  玩转酷酷的图表确实挺有趣,但我如何知道我的 OLE 模型的准确性? 为了评估不同的参数,我使用了布赖尔得分表 (Brier Scores),该表可以给概率性结果的准确性打分。既然等级分制度的固有属性就是计算获胜预期,那么我已经有可供打分的概率了。在布赖尔得分表当中,得分越低越好。我计算出每个 K/CT 组合的布赖尔平均分:

游民星空

  每个 K:CT 组合的布赖尔平均分

  如上图的左上角所示,最佳布赖尔得分出现在最小 K (5) 和 CT (0.1) 之时。另外,下方显示了 K = 24,CT = 1 时(更大波动性,无阶段修正),每个战队的布赖尔平均分,以及最小的布赖尔得分:

游民星空

  布赖尔得分

更多相关资讯请关注:守望先锋专区

1 2 下一页
友情提示:支持键盘左右键“← →”翻页
用手机访问
下载APP
appicon 下载
扫一扫,手机浏览
code
焦点推荐
精彩视频
热门攻略
热点资讯
热图欣赏