4

【Elo模型】理论篇

 3 years ago
source link: https://www.guofei.site/2017/04/30/Elo.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【Elo模型】理论篇

2017年04月30日

Author: Guofei

文章归类: 2-1-有监督学习 ,文章编号: 280


版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2017/04/30/Elo.html

Edit

什么是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)

PA=11+10(EB−EA)/400PA=11+10(EB−EA)/400

where,

  • PAPA代表A队胜利的概率(估计值)
  • 1−PA1−PA代表B队胜利的概率,显然PB=11+10(EA−EB)/400PB=11+10(EA−EB)/400
  • EA,EBEA,EB是两球队赛前的Elo值

(1-2)

EnewA=EA+K(SA−PA)EAnew=EA+K(SA−PA)

where,

  • EnewAEAnew表示比赛后的Elo值
  • S表示赛果,取0-1,而且SA+SB=1SA+SB=1
  • K表示这场比赛的重要程度

模型的性质

EnewA+EnewB=EA+EBEAnew+EBnew=EA+EB
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)

EnewA=EA+(A−B)+K(SA−PA)EAnew=EA+(A−B)+K(SA−PA)

EnewB=EB+(B−A)+K(SB−PB)EBnew=EB+(B−A)+K(SB−PB)

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

改进3

计算胜平负的三项概率

⎧⎩⎨⎪⎪P1=k1+k2(PA−PB)P2=1−PH−PAP3=k3−k4(PA−PB){P1=k1+k2(PA−PB)P2=1−PH−PAP3=k3−k4(PA−PB)

参考文献

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


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

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK