【Elo模型】理论篇



2017年04月30日    Author:Guofei

文章归类: 0x21_有监督学习    文章编号: 280

版权声明:本文作者是郭飞。转载随意,标明原文链接即可。本人邮箱
原文链接:https://www.guofei.site/2017/04/30/Elo.html


什么是Elo模型

Wikipedia总结的很好:

The Elo rating system is a method for calculating the relative skill levels of players in competitor-versus-competitor games such as chess. It is named after its creator Arpad Elo, a Hungarian-born American physics professor.

The Elo system was originally invented as an improved chess rating system, but is also used as a rating system for multiplayer competition in a number of video games, association football, American football, basketball, Major League Baseball, Scrabble and other games.

用语言描述最朴素的Elo模型

以足球比赛为例,最简单的Elo模型从建立到部署的过程如下:

step1:搜集各个战队的历史战绩数据,设定一个历史始点。

step2:这个时间点上各个球队的Elo值相等。Elo值越高,代表该球队的实力越强

step3:随着时间一步一步推进,各个球队相互比赛,胜者增加Elo值,败者减少Elo值。

step4: 预测两支球队的比赛结果:用双方的Elo值可以计算赛果对应的概率。

规则如下:

  • 一个强队(指的是Elo值高)打赢一个弱队(指的是Elo值低),强队增加少量的Elo值,弱队减少相等的少量Elo值
  • 一个强队打赢另一个强队,胜者增加一定的Elo值,败者减少相等的Elo值
  • 一个弱队打赢一个强队,弱队增加大量的Elo值,强队减少相等的大量Elo值

Elo模型的实际意义非常明显:

  • Elo值代表这个球队的实力值
  • 某球队打败一个球队,视双方的实力而增减Elo值。强队打赢弱队,一点也不稀奇,只增加少许Elo值;弱队打赢强队,增加大量Elo值

用公式描述Elo模型

(1-1)

$P_A=\dfrac{1}{1+10^{(E_B-E_A)/400}}$

where,

  • $P_A$代表A队胜利的概率(估计值)
  • $1-P_A$代表B队胜利的概率,显然$P_B=\dfrac{1}{1+10^{(E_A-E_B)/400}}$
  • $E_A,E_B$是两球队赛前的Elo值

(1-2)

$E_A^{new}=E_A+K(S_A-P_A)$

where,

  • $E_A^{new}$表示比赛后的Elo值
  • S表示赛果,取0-1,而且$S_A+S_B=1$
  • K表示这场比赛的重要程度

模型的性质

$E_A^{new}+E_B^{new}=E_A+E_B$
Average number of points stay the same

一些缺点:

  1. 某人一直不参加比赛,elo值不变,但实际实力可能变动比较大(受伤、修养等)
  2. 某人一直匹配到高elo玩家,elo值会比实际要低
  3. 没有考虑双方的相克关系(只是假设双方实力是一维的)

Elo 模型的改进

改进1

S不在是0-1二值,而是[0,1]实数,其大小取决于比分,这么做触发了一些新特性:

  • 如果两个实力相同的球队比赛,某一方以绝对优势胜利,Elo值将大量增加
  • 一个强队打弱队,如果以微弱的优势胜利,那么Elo值反而会下降

这些特性是符合人们预设。

改进2

修改(1-2)

$E_A^{new}=E_A+(A-B)+K(S_A-P_A)$

$E_B^{new}=E_B+(B-A)+K(S_B-P_B)$

其中A是主队的主场优势,B是客队的客场优势

改进3

计算胜平负的三项概率

\[\left \{ \begin{array}{ccc} P_1=k_1+k_2(P_A-P_B)\\ P_2=1-P_H-P_A\\ P_3=k_3-k_4(P_A-P_B) \end{array}\right.\]

参考文献

http://www.gameres.com/thread_228018_1_1.html
http://bbs.ngacn.cc/read.php?tid=1284872


您的支持将鼓励我继续创作!