[转]ELO等级分体系

【译前注:有读者问ELO等级分体系的说明。观网上好象没发现单篇文章就说得通俗清晰的,只好把找到几篇文章拿在一起合译互相补充。其间发现具体说法稍有差异,但总的来说概念一致。FIDE已经专门制定计算表了,到时有需要的照套表来算就行了,而且正式等级分表由FIDE统一发布。了解这些基础概念和函数计算是增进理解。】

ELO等级分体系

  主要概念
  ELO等级分体系是根据它的推广者埃洛(elo)教授名字命名的,它是一种以数值表示的体系,将等级差别转化为分数或取胜概率,反之亦然。当今多数竞技项目的等级分体系都是建立在ELO体系之上的。
  即使粗略看比赛成绩表,也能够看出选手的表现是有起伏的,也就是有“状态”之分。强手未必恒定表现好于弱手;每人之状态在不同的日子不同的比赛里都会有好坏不同。而总的来说整个生涯里每一点上,一名选手的表现将大致围绕在某个平均水平上下波动,有时会有背离,而出现大背离的情况比出现小背离的情况频率要低。于是我们有了ELO体系的第一个假定,用标准统计术语表述就是:可以建立这么一个等级量表(rating scale),某个体在这个表里的不同表现将正常分布。
  第二个假定牵涉到了等级量表区间间隔的定义。简单地说,在某一个特定的实力范畴里,尽管可能存在实力上的差异,但总的来说可以预期没有谁比谁好或差很多。由此可以定量划分区间。

  等级量表(rating scale)
  ELO体系使用一个叫“区间尺度”(interval scale)的定义,即等级差别是可能性方面的唯一重要因素。【译注:译者理解,这是指对阵双方谁有多大机会胜/负/和,唯一影响因素在于他们之间的等级差别,这样排除了难以确定的“状态好坏”(第一假定:个人的总体表现大致是正常分布的),也排除了具体谁对谁的影响(第二假定:某一特定实力范畴里,相互之间的差别一般可预期不会出现太大意外)。因此即使出现“爆冷”或“克星”,也视为偶发情况,因为ELO体系是建立在样本足够大量的统计基础上的。而且个体的等级也是动态反映的。】
  有一个概念叫“标准分类间隔”(class interval),简单说就是某一个等级里最高与最低之间的差别。在国际象棋里,FIDE(即国际棋联)采用每200分为一个间隔的分类法,并且给每一个间隔取一个名字或排名以更好分辨。   FIDE的等级分分隔表中,将1700分选择作为普通水平业余棋手的实力值,将2000分选择作为区分大师与业余者之间的分界线。这个表如下,它足够大,保证没有负分出现:


等级分


实力范畴


(另一种说法)


2600以上


世界冠军竞争者;“超一流特级大师”


世界冠军竞争者


2400-2599


特级大师(GM);多数国际大师(IM)


国际等级选手


2200-2399


多数国家大师(FM)


国家性冠军决赛选手


2000-2199


候补大师;专家


地区性冠军决赛选手(A级)


1800-1999


业余者(A级,范畴1)


俱乐部B级


1600-1799


业余者(B级,范畴2)


俱乐部C级


1400-1599


业余者(C级,范畴3)


俱乐部D级


1200-1399


业余者(D级,范畴4)


俱乐部E级


1200以下


初学者


初学者

  常态分布函数
  我们知道,强手未必总是胜过弱手,于是就使用一个“常态分布函数”(Normal Distribution Function)来代表一名棋手的波动表现,这是统计学上的概念。从这个函数里可以得出另一个函数叫“常态概率函数”(normal probability function ),这个就定义了根据比赛对抗结果可得出的等级差别,或者根据已知的等级差别可得出的预期比赛对抗结果。它是这样的:

  P(D)这个值,就是以等级分差别D为自变量计算出来的预期取胜可能性(预期得分率),它可近似用下面这个公式来计算:

  于是我们可以把典型数值事先都计算出来编成一张表,到时要计算等级分变化时只需查表找出对应数字就是。它叫“百分比预期值表”(Percentage Expectancy Table),简称PE表。下面就是两个PE表,表一从得分率P得出等级分差异D(P);表二则反过来,从等级分差异Rtg Dif得出预期得分率。可见这两个表是基于同一个公式即“常态概率函数”计算出来的,只不过方向相反,实质一样。所以可以套公式计算,也可以查表直接得出数字。


表一:从得分率得出相应等级分差异


得分率(P)


等级分差异D(P)


(P)


D(P)


(P)


D(P)


(P)


D(P)


(P)


D(P)


(P)


D(P)


1.00


*


0.83


273


0.66


117


0.49


-7


0.32


-133


0.15


-296


0.99


677


0.82


262


0.65


110


0.48


-14


0.31


-141


0.14


-309


0.98


589


0.81


251


0.64


102


0.47


-21


0.30


-149


0.13


-322


0.97


538


0.80


240


0.63


95


0.46


-29


0.29


-158


0.12


-336


0.96


501


0.79


230


0.62


87


0.45


-36


0.28


-166


0.11


-351


0.95


470


0.78


220


0.61


80


0.44


-43


0.27


-175


0.10


-366


0.94


444


0.77


211


0.60


72


0.43


-50


0.26


-184


0.09


-383


0.93


422


0.76


202


0.59


65


0.42


-57


0.25


-193


0.08


-401


0.92


401


0.75


193


0.58


57


0.41


-65


0.24


-202


0.07


-422


0.91


383


0.74


184


0.57


50


0.40


-72


0.23


-211


0.06


-444


0.90


366


0.73


175


0.56


43


0.39


-80


0.22


-220


0.05


-470


0.89


351


0.72


166


0.55


36


0.38


-87


0.21


-230


0.04


-501


0.88


336


0.71


158


0.54


29


0.37


-95


0.20


-240


0.03


-538


0.87


322


0.70


149


0.53


21


0.36


-102


0.19


-251


0.02


-589


0.86


309


0.69


141


0.52


14


0.35


-110


0.18


-262


0.01


-677


0.85


296


0.68


133


0.51


7


0.34


-117


0.17


-273


0.00


*


0.84


284


0.67


125


0.50


0


0.33


-125


0.16


-284


表二:从等级分差异得出相应预期得分率


等级分差异


高分者预期得分率


低分者预期得分率


等级分差异


高分者预期得分率


低分者预期得分率


等级分差异


高分者预期得分率


低分者预期得分率


等级分差异


高分者预期得分率


低分者预期得分率


0-3


0.50


0.50


92-98


0.63


0.37


198-206


0.76


0.24


345-357


0.89


0.11


4-10


0.51


0.49


99-106


0.64


0.36


207-215


0.77


0.23


358-374


0.90


0.10


11-17


0.52


0.48


107-113


0.65


0.35


216-225


0.78


0.22


375-391


0.91


0.09


18-25


0.53


0.47


114-121


0.66


0.34


226-235


0.79


0.21


392-411


0.92


0.08


26-32


0.54


0.46


122-129


0.67


0.33


236-245


0.80


0.20


412-432


0.93


0.07


33-39


0.55


0.45


139-137


0.68


0.32


246-256


0.81


0.19


433-456


0.94


0.06


40-46


0.56


0.44


138-145


0.69


0.31


257-267


0.82


0.18


457-484


0.95


0.05


47-53


0.57


0.43


146-153


0.70


0.30


268-278


0.83


0.17


485-517


0.96


0.04


54-61


0.58


0.42


154-162


0.71


0.29


279-290


0.84


0.16


518-559


0.97


0.03


62-68


0.59


0.41


163-170


0.72


0.28


291-302


0.85


0.15


560-619


0.98


0.02


69-76


0.60


0.40


171-179


0.73


0.27


303-315


0.86


0.14


620-735


0.99


0.01


77-83


0.61


0.39


180-188


0.74


0.26


316-328


0.87


0.13


超过735


1.00


0.00


84-91


0.62


0.38


189-197


0.75


0.25


329-344


0.88


0.12

  举例:一个等级分1950的棋手,她的对手等级分1700分,那么她取胜的机会有多大呢?
  等级分差别D=1950-1700=250,代入上面那么近似计算公式,就是:

  也就是说,她全取1分的机会有80.8%,大约是81%。事实上,查表2,可得知等级分差别在246-256之间的强手预期取胜可能性就是81%。不用计算,查表即可。

  表现等级分/预计等级分公式:
  这是ELO体系的第一个公式:Rp = Rc + D(P) (1)
  其中:Rp是表现等级分;Rc是(平均)竞赛/对手等级分【如对手不止一个,那就要计算平均对手等级分】;D(P)就是以百分比数值P为自变量所得出的等级分差别(这个数字可以从表1中查出来)
  这个公式既可用于定期计算等级分,也可以临时计算。它可用于决定第一次参加与有等级分的对手角逐的棋手的初始等级分。
  举例:
  一个棋手分别与1675分和1890分的对手下了两盘棋。她战胜1675的,并且与1890的下成和局。那么她的表现等级分是多少?(或者说,面对这两个对手她的表现究竟有多好?)
  解答:
  平均竞赛等级分Rc=(1675 + 1890)/2= 1783 。胜得1分,和得0.5分,于是她两盘得了1.5分,或者说得了75%的分,所以可从PE表中查找75%相应的值(当然,也可以从上面那个函数倒计算出精确值)。根据公式(1):
Rp = Rc + D(P) = 1783 + D(75%) = 1783 + 191 = 1974,这就是她在这两盘棋的实际表现。

  当前等级分公式/连续计量法:
  上面所说的公式(1),即表现等级分公式,假如用在一个长时期里,就不能精确反映棋手的实力了。更精确的方法是把各表现等级分综合计算以尽可能正确反映棋手的当前实力。所形成的数字就叫棋手等级分(player rating)或简称等级分(rating)。当然也会有些偶然变数,但没有表现等级分那么明显。
  这就使用了ELO体系的第二个公式:Rn = Ro + K * (W - We) (2)
  其中:Rn是赛事后的新等级分;Ro是赛事前的原等级分;K是单局得分的等级分点值,它是一个系数,取值有约定的;W是实际对局得分(胜得1、和得0.5);We是在原等级分基础上的预期对局得分。
  这个公式是用来在连续基础上(也就是每局或每个赛事之后)计算新等级分的。它把最新的表现调整考虑进先前的等级分中。它的逻辑意义是一个棋手的表现高于他的预期得分以及低于他的预期失分。
  系数K决定了事前等级分和本次表现分的相应权数。K值越高,那么越近的赛事表现的分量越大。反之则反之。一般K值范围从10到32。下面是一个K取值参考表:


等级分


K值


< 2000


30


2000-2400


130-R/20


> 2400


10

  预期对局得分We是每局预期得分的总和,面对每一个对手的取胜可能性P(D)从表2查出来然后把它们加总,公式就是:We = Σ(Pi) (3) 【译注:Σ即是sigma,西格马,即数学上的求总和】
  举例:
  一个棋手等级分1650,比赛中她分别与等级分为2050、1270和1550的三个对手对了阵,战胜了低分的两个,逼和了最高分的那个。她的新等级分是多少?
  解答:
K值取10;Ro=1650;W = 胜2和1 = 1 + 1 +
0.5 = 2.5
We = P(1650 - 1270) + P(1650 - 1550) + P(1650 - 2050) 【注意是对取胜可能性求总和】
=0.910 + 0.638 + (1-0.921)
=1.627
套入公式(2),即Rn = Ro + K * (W - We) = 1650 + 10 * (2.5 - 1.627) = 1659
  也就是她在这次赛事后,等级分升了大约9分,成为1659。
  当前等级分可以每一盘之后随时计算,但最终结果一致。


对手


等级分


等级分差异


预期得分率(请您计算或查表)


1


2500


-150


2


2480


-130


3


2430


-80


4


2400


-50


5


2375


-25


6


2365


-15


7


2335


+15


8


2320


+30


9


2300


+50


10


2280


+70


11


2260


+90


总计


26045


-195

  最后把原文一的例子稍作改动变成例题,有兴趣者可解答:有一棋手等级分是2350,她参加12人的联赛,其它11名对手的等级分如表,等级分差别也列出来了;她比赛成绩是5胜6负;K值取32。请依次计算以下数值:

1)查表或计算对每个对手各自的预期得分率;
2)计算(平均)对手等级分Rc;
3)根据成绩计算她的(实际)得分百分比值,然后查表并使用公式(1)计算这个联赛里她的表现等级分Rp;
4)查PE表列出这个表中对每个对手分别的取胜可能性值,并把它们求总和得出预期对局得分We;
5)根据公式(2)计算本次比赛后她的新等级分;

参考答案请点击这里

出处: (见原文)
译者: michael
类型: 合编译

时间: 2024-09-29 05:31:15

[转]ELO等级分体系的相关文章

Python 进行 NBA 比赛数据分析

Basketball Reference.com 数据源地址 http://labfile.oss.aliyuncs.com/courses/782/data.zip数据下载地址 用到的三张表 Team Per Game Stats Opponent Per Game Stats Miscellaneous Stats 整体思路,根据输赢按公式赋分,赢了且是主场加分 第一个函数,首先初始化一下数据,去除一些无关数据并将这三个表格通过Team属性列进行连接 第二个函数,获取每支队伍的Elo Sco

ML-Agents(六)Tennis

目录 ML-Agents(六)Tennis 一.Tennis介绍 二.环境与训练参数 三.场景基本结构 四.代码分析 环境初始化脚本 Agent脚本 Agent初始化与重置 矢量观测空间 Agent动作反馈 Agent手动操控 五.训练 普通训练(不带可变参数) 可变参数设置 一个可变参数训练 两个可变参数训练 总结 ML-Agents(六)Tennis 喜欢的童靴希望大家多多点赞收藏哦~ 这次Tennis示例研究费了我不少劲,倒不是因为示例的难度有多大,而重点是这个示例的训练过程中遇到了许多问

Oracle 逻辑体系

Oracle 逻辑体系 主题 Oracle 逻辑体系 参考资料 Oracle 逻辑体系 表空间.模式.用户.段.区.块 Oracle中的数据逻辑上存储于表空间,物理上则存储于属于表空间tablespace的数据文件上(DBF文件).表空间的物理体现是一个或多个DBF文件.数据库由一个或多个被称为表空间的逻辑存储单元构成.表空间是数据库恢复的最小单元.表空间是个逻辑上的概念. 模式schema就是指一个用户下所有对象的集合:创建一个新用户,该用户下没有对象则schema不存在,如果创建一个对象,则

认知,构建个人的知识体系(上)

1.前言 本文将聊聊我对构建个人知识体系的一些想法,主要是为了提升自我认知.从个人经历开始,谈谈对知识的划分,也就是一个是什么,为什么的过程. 2.缘起 把时间回到一年前,那时候我工作快一年了,得益于前面的一些努力,工作比较顺利.特别是技术上,没有遇到太多过无法解决的问题.同时也开始迷茫,工作难道就是这个轻松的样子?三五年之后那不是很无趣,该怎么办? 想找到这个问题的答案,而最好的方式莫过于,亲自去了解那些三五年工作经验的人是怎么的样子. 因此从那时候起,关注了不少来公司面试的人的简历,也有过几

2016年本博客知识体系引导(持续更新)

前言 为了方便大家的阅读以及自己的知识体系的建立,特意来写出这个引导文章.以前我是遇到什么写什么,想到什么写什么,从2016年开始我将围绕这个知识体系来写文章,从点到面来逐步建立并完善自己的知识体系,同时也欢迎大家关注我的博客. 1.Android IPC机制 Android IPC机制(一)开启多进程 Android IPC机制(二)用Messenger进行进程间通信 Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用 Android IPC机制(四

2015-2016前端知识体系

一.框架与组件 ?bootstrap等UI框架设计与实现 伸缩布局:grid网格布局 基础UI样式:元素reset.按钮.图片.菜单.表单 组件UI样式:按钮组.字体图标.下拉菜单.输入框组.导航组.面包屑.分页.标签.轮播.弹出框.列表.多媒体.警告 响应式布局:布局.结构.样式.媒体.javascript响应式 第三方插件:插件管理 ?jQuery.zepto使用原理以及插件开发 支持amd.cmd.全局变量的模块化封装 $.fn.method = function(){} ?mvc/mvv

安全狗Poon:如何基于云端构建安全体系

日前,ArchSummit 2015 全球架构师峰会在深圳举行,知名互联网安全品牌安全狗作为本次大会的重要赞助方重装亮相本次大会并为大家带来题为"如何基于云端构建安全体系"的主题演讲. ArchSummit全球架构师峰会是InfoQ中国团队推出的面向高端技术管理者.架构师的技术大会,参会者中超过50%拥有8年以上的工作经验.本次与安全狗的合作,是其对云安全领域的目光聚焦,也是对当前企业安全需求的很好回应. 安全狗在本次峰会的演讲者是其首席安全架构师程Poon.Poon是一个长期从事WE

如何搭建数据化运营知识体系

数据化运营的概念随着大数据时代的到来被炒得越来越火热,提到数据分析.数据运营让很多产品经理.运营新人觉得瞬间高大上很多.随着数据概念的火热,如增长黑客.GrowingIO等一系列的数据分析指导产品增长的书籍.产品变得越来越受人追捧. 对于互联网行业来说,无论是产品经理还是运营,都需要具备一定的数据运营能力,本文将帮助没有数据化思维的小伙伴搭建基础的数据化运营体系. 本文会按照上图中的数据化运营业务流程进行分析,从明确目标.数据指标制定.数据获取.数据分析.形成策略.验证优化这六个方面来搭建数据化

快速建立个人知识体系

最近建了一个运维架构知识体系的群,为什么要创办这么一个群,对大家有什么样的好处? 我相信刚参加工作的都会碰到这样的问题:新人刚入职领导交代一个不会,但是为了表现自己的能力不差,领导没有看走眼,硬着头皮也要完成下去,会面临如下几个问题: 第一时间在各大QQ群或微信群咨询那么你有没有想过你为什么提的问题没有人回答:1.没人回答还是你不会提问?2.牛人也有自己的工作,回答了是分享,不回答也是理所应当.之前写过一篇新人如何提问?不过,根据我的统计,不会提问的人大有人在.我先列举几个提问的问题. 大并发网