如何证明Elo评分或Page排名对我的作品有意义?


13

我有一组球员。他们互相对抗(成对)。对玩家是随机选择的。在任何游戏中,一名玩家获胜,另一名玩家输。玩家彼此玩有限数量的游戏(有些玩家玩更多的游戏,有些玩的更少)。因此,我有数据(谁赢得了谁,赢得了多少次)。现在,我假设每个玩家的排名都决定了获胜的可能性。

我想检查一下这个假设是否真的是事实。当然,我可以使用Elo评分系统PageRank算法来计算每个玩家的评分。但是,通过计算等级,我不能证明它们(等级)确实存在或没有任何意义。

换句话说,我想有一种方法来证明(或检查)球员确实有不同的优势。我该怎么做?

添加

更具体地说,我有8位玩家,只有18场比赛。因此,有很多对彼此不对战的玩家,并且有很多对彼此仅玩过一次的玩家。结果,我无法估计给定玩家对获胜的可能性。例如,我还看到有一个玩家在6场比赛中赢得了6次胜利。但这也许只是一个巧合。


您是要检验所有球员都具有相同实力的零假设,还是要检验球员实力模型的拟合度?
一站式

@onestop:所有具有相同实力的球员都是非常不可能的,不是吗?您为什么将其作为假设?
endlith 2014年

Answers:


10

您需要一个概率模型。

排名系统背后的想法是,一个数字足以说明玩家的能力。我们可以将此数字称为“强度”(因为“排名”已经意味着统计中的特定内容)。我们可以预测,当强度(A)超过强度(B)时,玩家A将击败玩家B。但是这个陈述太弱了,因为(a)它不是定量的,并且(b)它没有考虑到弱者偶尔会击败强者的可能性。我们可以通过假设A击败B的可能性仅取决于其优势的差异来克服这两个问题 如果是这样,那么我们可以重新表达所有必要的优势,以便优势之差等于获胜的对数赔率。

具体来说,这个模型是

ØG一世Ť一种 节拍 =λ一种-λ

根据定义,其中是对数赔率,我为玩家A的实力写了,。λ ØG一世Ťp=日志p-日志1个-pλ一种

该模型具有与参与者一样多的参数(但自由度要小一些,因为它只能识别相对强度,因此我们可以将参数之一固定为任意值)。它是一种广义线性模型(在二项式族中,具有logit链接)。

可以通过最大似然估计参数。相同的理论提供了一种在参数估计值附近建立置信区间并检验假设的方法(例如,根据估计值,最强的参与者是否比所估计的最弱的参与者强得多)。

具体来说,一组游戏的可能性就是乘积

所有游戏经验值λ优胜者-λ失败者1个+经验值λ优胜者-λ失败者

固定的值后,其他值的估计值就是使这种可能性最大化的值。因此,改变任何估计值都将减少其最大值的可能性。如果减少太多,则与数据不一致。通过这种方式,我们可以找到所有参数的置信区间:它们是限制,在这些极限中,更改估计值不会过度降低对数可能性。可以类似地检验一般假设:假设限制了优势(例如假设它们都相等),此约束限制了可能性的大小,如果此限制的最大值与实际最大值相差太远,则该假设为拒绝。λ


在这个特殊问题中,有18个游戏和7个免费参数。一般而言,参数太多:灵活性太大,可以在不改变最大可能性的情况下自由地更改参数。因此,应用ML机器很可能证明是显而易见的,这是因为可能没有足够的数据对强度估计值有信心。


2
(+1)为帮助OP在此模型上进行更多搜索,请注意以下几点。(1)此模型通常称为Bradley-Terry模型(尽管它至少可以追溯到Zermelo的某些工作)。(2),则击败的预测概率为。(3)如果进行了完整的循环锦标赛(此处不是这种情况),则实力排名将与每个玩家的获胜百分比完全一致。(4)拟合优度与图上以玩家为节点,游戏为边的流有关。小号/小号 + 小号s一种=经验值λ一种一种s一种/s一种+s
主教

(续)Lester R. Ford,Jr.甚至有一篇文章讨论了在Amer中基于该思想的拟合算法为纪念父亲而写的1957年《数学月刊》
主教

4

如果您想检验每个玩家在每个游戏中获胜或失败的可能性相同的零假设,我想您要对由制表获胜者与失败者组成的意外事件表对称性进行检验。

设置数据,以便您有两个变量,分别是“赢家”和“输家”,其中包含每个游戏的赢家和输家的ID,即每个“观察”都是一个游戏。然后,您可以构造赢家vs失败者的列联表。您的零假设是,您希望此表是对称的(平均在重复的锦标赛中)。在您的情况下,您将获得一个8×8的桌子,其中大多数条目为零(对应于从未遇到过的玩家),即。该表将非常稀疏,因此几乎可以肯定需要进行“精确”测试,而不是依赖于渐进式测试。

这样的精确测试在Stata中可以使用symmetry命令使用。在这种情况下,语法为:

symmetry winner loser, exact

毫无疑问,它也在其他我不太熟悉的统计数据包中实现。


(+1)很有趣,我刚刚意识到这个Stata命令可能用于遗传学中的传递/不平衡测试:)我在较早的响应stats.stackexchange.com/questions/5171/…中讨论了R包。
chl

确实,TDT是我上面链接的Stata帮助中讨论的一种应用程序。这也是我第一次遇到此测试的背景。感谢您链接到先前的Q-看起来好像我在发布其他Q时一样忙。
一站式

尽管该问题确实涉及假设检验,但其选择重点是拟合优度问题:单个数值(标量)强度是否有效地模拟了玩家之间的比赛结果?
ub

1

您检查了马克·格里克曼(Mark Glickman)的一些出版物吗?这些似乎相关。 http://www.glicko.net/

评分标准偏差的隐含含义是游戏的期望值。(此标准偏差在基本Elo中固定为特定数字,在Glicko系统中固定为变量)。我说的是期望值,而不是平局带来的获胜概率。了解您拥有的Elo等级的关键是基本的分布假设(例如正态或逻辑)和假设的标准偏差。

Elo公式的逻辑版本建议等级差为110点的预期值为.653,例如,玩家A的得分为1330,而玩家B的得分为1220。

http://en.wikipedia.org/wiki/Elo_rating_system (好的,这是Wikipedia的参考,但是我已经花了太多时间在这个答案上。)

因此,现在我们有了基于每个玩家的评分的每个游戏期望值,以及基于游戏的结果。

在这一点上,我要做的第二件事是通过从低到高排列差距,并合计预期和实际结果,以图形方式检查出这一点。因此,对于前5场比赛,我们的总分可能为2,预期分为1.5。对于前10场比赛,我们的总分可能是8,预期分是8.8,依此类推。

通过累积绘制这两条线(就像进行Kolmogorov-Smirnov测试一样),您可以看到预期的和实际的累积值相互之间是好是坏。可能其他人可以提供更正式的测试。


1

可能最著名的例子是测试评分系统中估计方法的准确性,例如Chess评分-Elo对比Kaggle 的世界其他地区比赛,其结构如下:

竞争对手使用针对8,631名顶级球员的65,000多个近期结果的训练数据集来训练其评分系统。然后,参与者使用他们的方法来预测另外7809场比赛的结果。

赢家是Elo ++

从理论上来说,这似乎是一个不错的测试方案,即使18个比赛都不是一个很好的测试基础。你甚至可以检查结果不同的算法之间的差异(这里是一个比较之间rankade我们的排名系统,以及最知名的,包括的EloGlickotrueskill评分系统)。


0

H0

一个简单的测试方法是计算玩过更多先前游戏的玩家获胜的次数比例,并将其与二项式累积分布函数进行比较。那应该表明某种效果的存在。

如果您对游戏的Elo评分系统的质量感兴趣,一种简单的方法是对Elo模型的预测性能进行10倍交叉验证(实际上假设结果不是iid,但是我忽略它),并将其与硬币翻转进行比较。


更加具体。我有8个玩家,只有18场比赛。因此,有很多对彼此不玩的玩家,也有很多对彼此不玩的玩家。结果,我无法估计给定玩家对获胜的可能性。我还看到,例如,有一个玩家在6场比赛中赢得了6次胜利。但这可能只是一个巧合。
罗马
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.