乒乓球积分系统的工作原理

本积分系统使用概率论和统计学的标准概念与方法,这使得它与其他大多数积分和排名系统相比有着明显的不同 (同时也更为精确)。下面将对这个积分系统的工作原理作一非技术性的阐述。

基本概念

我们假设每个选手都有一个水平强度,即可以用一个数值来量化他/她的水平。一名选手的水平强度可能会随时间发生变化,他/她的水平可能提高了,也可能下降了,但是在某个赛事中并不发生改变。(一个赛事,例如一次锦标赛,它包含数盘相关的比赛,赛事主管将本次赛事中所有的比赛结果作为一个集合提交给计分中心以计算和更新积分。)

即使我们事先知道两名选手的水平强度,我们也不能断定谁就肯定能赢得他们/她们之间的比赛,因为较弱的选手有时候也可能击败较强的选手。如果较弱的选手击败了较强的选手,这场比赛就称为爆冷。我们假设一场比赛出现爆冷的概率仅仅由两名选手的水平强度之差所决定。两者水平强度差别越大的话,则水平强度较高者就越有可能获得胜利,即爆冷的概率越小。这可以用下图中的爆冷概率函数来加以定量描述。

爆冷概率函数

这里存在两种不同的概率。一种是上面刚刚提到的选手之间胜负的概率(这种概率与两名选手的水平强度有关);另一种是指一名选手的水平强度用哪一个特定数值(比如 1106)来量化更准确的概率。前一种是选手本身能力的特性参数,后一种则是本积分系统的一个特性参数。

规律函数

积分系统本身并不知道一名选手的水平强度,它只关注他/她的比赛结果。积分系统通过记录它所知道的该选手所有比赛成绩来构建一个规律函数,并用它来描述一名选手的水平强度。

一个规律函数是一个概率分布。积分系统给每一名选手选定一个规律性的特征函数。这个函数描述了本积分系统对这名选手水平强度的认识,该认识则是来源于该选手在本积分系统中的所有比赛结果。积分系统处理选手的比赛结果后,会改变选手的特征函数。(因为积分系统对一名选手水平强度的了解认识会随着每一场比赛发生变化)基于这个变化的特征函数,我们可以确定一名选手水平强度是某一个特定数值(比如 1106)的概率。

特征函数的中值基本上是该特征函数的中间点,也是本积分系统对选手水平强度的最佳估计。(因为它也是积分系统对选手水平强度认知的中间点。)选手的特征函数的中值同时也是积分系统对这名选手给出的积分值。

标准偏差度量特征函数的分布宽度。选手特征函数的标准偏差越大,积分系统对选手的水平强度越不确定。选手的真实水平强度在其特征函数中值左右一个标准偏差以内的概率是 68%,在中值左右两个标准偏差以内的概率是 95%,在中值左右三个标准偏差以内的概率是 99.7%。

如果“水平强度在中值左右两个标准偏差以内的可能性是 95%”这样的陈述还不够清楚的话,我们也可以换一种说法:给定这样一个范围,这个范围的上限是特征函数的中值加上两个标准偏差,下限是中值减去两个标准偏差,则这名选手的水平强度落在这个范围之内的概率是95%。例如,我们假设一名选手特征函数的中值是 1106,标准偏差是 42,那么:

特征函数

积分更新

选手的水平强度可能会随时间变化,比如水平提高了或者降低了。因此距离一名选手上一次参加赛事的时间越久,我们对他/她当前的水平强度就越不确定。基于对这个时间因素的考虑,我们采用一个时间校正来更新该选手的特征函数。这个时间校正不仅会增大特征函数的分布宽度,还会略微增加特征函数的中值。例如,如果积分系统发现一名选手在一年的时间内未参加赛事,这名选手特征函数的标准偏差将最多增加 79.4,而且其特征函数的中值也将增加7点。不过中值的增加要等到该选手重新参加一次比赛时才会发生。(时间校正是以下各项的总和: 一个每年方差为70²的中值不变的随机游走;一个200点的泊松跳跃过程;一个每年7点的中值变化和一个每年200 × 7的方差变化)。 综上所述,某一位选手的水平强度(在他/她从新参加赛事之后)也许会有一个小幅的上下波动,也或者会有一个大幅度的提高。

时间校正

在选手参加一次赛事后,根据比赛结果更改他/她的特征函数,这个过程称为赛事更新。理论上我们应该把一次赛事的所有比赛结果作为一个集合进行统一处理,但是我们需要的是一种计算机可以处理的方式。因此,积分系统在对每一名选手进行赛事更新的时候,它仅仅考虑这名选手以及他/她的每一个对手在该赛事中的比赛结果。这跟常理一致,就好比你输了一场比赛,但你觉得对手的水平要高于他/她的积分,这时候你可能会去查找抽签对阵表,看看这名对手与其他选手的比赛结果,而这正是积分系统在进行赛事更新时所要做的。

赛事更新

较小的标准偏差意味着积分更难以发生变化,无论增减都是如此。如果一个具有较小标准偏差的选手与另一个具有较大标准偏差的选手交锋,则前者的积分变化会小于后者的积分变化。

对于任一场比赛,积分系统只考虑比赛双方谁最终获胜,而不关心这场比赛的具体比分是多少。

新选手

本积分系统会给没有积分的新选手先选定一个特征函数,这个特征函数反映了我们对参加某一特定赛事的新选手的水平强度的预期。赛事主管可以根据自己的经验向计分中心建议新选手的中值和标准偏差。赛事主管也可以依据对该名新选手的了解而为其指定一个特征函数。正常情况下,这个标准偏差都相当大以尽可能地涵盖新选手水平强度所在的范围,在参加一到两次赛事之后,这名新选手特征函数的标准偏差将明显缩小。这个变化过程发生的快慢依赖于多个因素:该选手参加的比赛场数,这些比赛的结果,以及其对手的特征函数。

新选手的典型特征函数

赛事处理

下面是积分系统处理任一赛事的具体步骤:

  1. 给每一名没有积分的参赛选手选定一个特征函数。
  2. 从数据库中检索出每一名已经有积分的参赛选手的特征函数,并对其进行时间校正。
  3. 对每一名参赛选手:
    1. 计算其每一名对手的调整特征函数(详见以下解释)。
    2. 对这名选手的每一场比赛,使用对手的调整特征函数来更新该选手的特征函数。

调整特征函数是针对某一名对手特征函数的更新,它取决于该名对手在本次赛事中除去与待处理选手的比赛之外的所有比赛的结果。调整特征函数同时反映了选手和对手在该次赛事中的表现。因此在对不同选手进行赛事更新的时候,同一个对手会得到不一样的调整特征函数。

摘要报告

下边的表(1)是从某次赛事的摘要报告中摘取的一段示例:

IDNameInitial
Rating
Point
Change
Final
Rating
5766Bulatao, Jose G.1797±58−41793±52
5568Cembura, Julianne1500±450−539961±246
7355Ching, Joe T.1984±38+21986±36
6655Chiu, David2050±66+202070±49
5925Collamore, Gil1121±95−126995±59
5184Conley, Denny1463±38+191482±34
5044Cortesi, Tony1139±90−581081±54

表中Initial Rating(初始积分)栏和Final Rating(最终积分)栏中位于±号之后的数字表示选手特征函数的标准偏差。Initial Rating(初始积分)列出了选手在该次赛事开始前的积分(也即中值)和标准偏差。对于没有积分的新选手,他/她的初始积分来自于(赛事主管)为其选定的特征函数;对于已经有积分的选手,这个初始积分就是对他/她上一次参加赛事之后的特征函数运用时间校正的结果。Final Rating (最终积分)列出了在该次赛事的全部比赛都处理完毕之后选手的积分和标准偏差,Point Change(积分变化)则列出了选手的最终积分(中值)减去初始积分(中值)的差。

详细报告

下面是从某次赛事的详细报告中摘取的示例:

在每个表格的左上方是选手姓名,在“积分变化”下面依次列出的是该选手的初始积分中值和标准偏差,该选手的在这次赛事中的积分变化,在等号之后是该选手的最终积分中值和标准偏差。在表格下方,则列出了该选手在这次赛事中取胜和失利的所有比赛。

“对手积分”一列给出了这个对手的调整特征函数的中值和标准偏差。如前所述,在处理不同选手的时候,积分系统对于同一个对手使用了不同的调整特征函数。例如,在同Alex Landsman的比赛中,Claude Boulard的调整积分是1761±43,但是在同 Chris Kalagher的 比赛中,Claude Boulard 的调整积分却是 1771±42。

“积分变化”一栏给出了比赛结果导致的积分增减。在一次赛事中,如果两名选手之间进行了数场比赛,积分系统会将它们作为一个整体进行处理,并将得到的总的积分变化在这几场比赛之间作如下的分配:

如果两名选手之间进行了多场比赛,他们/她们的积分变化值后面会加上一个”*”号。比如,Claude Boulard 在和Sonu Bhatia的比赛中胜一场负一场,积分增加了14分 (胜场记14 分,负场记0分),而在和Alex Landsman 的比赛中胜两场,积分增加了26分 (两个胜场各记13分)。

选手在某一场比赛中的积分变化会跟积分系统处理比赛的顺序有关,所以一场比赛中的积分变化仅可当作参考。但是尽管如此,选手每一场比赛中的积分变化的总和是个定数,它一定等于该选手在整个赛事中发生的积分变化,而这与积分系统处理比赛的顺序无关。

一场比赛中的积分变化跟比赛的处理顺序有关,这在直觉上也是合理的。假设一名 2000 分的选手第一次击败了一名 2200 分的选手,我们将大大提高对这名 2000 分选手积分的预计。假设这同一名 2000分的选手又击败了另一名 2200 分的选手,我们将再次进一步提高对这名选手积分的预计,但是这次提高的幅度就不会象前一次那样大了。

为了使详细报告更容易理解,系统将以如下顺序处理各场比赛:首先对于选手输掉的比赛,按照对手的积分由低到高排列,然后对于选手赢得的比赛,按照对手的积分由高到低排列。如果对同一个对手 的比赛结果是输赢各一场,则当对手的积分较高时,两场都按赢场排序,否则(当对手积分较低时)两场都按输场排列。

对于一场比赛,胜者赢得的积分一般都不会刚好等于负者失去的积分。例如,上面的表格中,Claude Boulard 两次击败 Alex Landsman,共赢得积分 26 分;而同样是这两场比赛,Alex 却失去积分共计 44 分。这是因为 Alex 的标准偏差比 Claude 的更大,另外这也是由于在处理完两者的其他比赛结果后 Alex 和 Claude 的中值相当接近的缘故。

为了显示的方便,积分得失的计算值总是四舍五入到最接近的整数,所以在有些时候,一名选手在每一场比赛中的积分变化的总和不一定恰好等于该选手在该次赛事中总的积分变化。如果出现这种情况,误差也往往只不过是 1 分而已。

参考文献

Marcus, David J. (2001) New Table-Tennis Rating System. Journal of the Royal Statistical Society: Series D (The Statistician), 50: 191–208. doi: 10.1111/1467-9884.00271

Marcus, David J. (2011a) Ratings Central: Accurate, Automated, Bayesian Table Tennis Ratings for Clubs, Leagues, Tournaments, and Organizations. Joint Statistical Meetings, July 30–August 4, 2011.

Marcus, David J. (2011b) Ratings Central: Accurate, Automated, Bayesian Table Tennis Ratings for Clubs, Leagues, Tournaments, and Organizations. NESSIS (New England Symposium on Statistics in Sports), September 24, 2011.

翻译: 唐旭东