1 of 14

Player Rating with R

@flaty

Japan.R 2018

2 of 14

Self-introduction

  • flaty
  • 仕事:データ分析とか
    • 運用系のデータが中心(機器のログデータとか)
    • 社会人2年目
  • 趣味:テニス(時々データ分析)

3 of 14

Tennis

  • 一対一でボールを打ち合うゲーム
  • 色々なタイプの選手がいる
    • 攻撃的な選手、守備的な選手
    • ラリーが強い選手、サーブが強い選手
  • 選手の強さを定量的に評価することが難しい

4 of 14

Tennis

  • 一対一でボールを打ち合うゲーム
  • 色々なタイプの選手がいる
    • 攻撃的な選手、守備的な選手
    • ラリーが強い選手、サーブが強い選手
  • 選手の強さを定量的に評価することが難しい

53万 !?

5 of 14

Elo Rating

  • 一対一で勝敗が決する競技におけるレーティング法
  • 幅広く使われている(国際チェス連盟など)

6 of 14

Elo Rating

  • レーティングが同じものでの対戦場合、勝率は50%
  • レーティング差が広がるほど高い方から見て勝率が100%に近づく

EA: Aの勝率

RA: Aのレーティング

RB: Bのレーティング

7 of 14

Elo Rating

  • A(レーティング:2000)とB(レーティング:1800)で考える
    • 期待されるAの勝率は右式より約76%
  • Aが勝った場合
    • Aのレーティングが(1-0.76)*27増える(27は任意定数)
    • Bのレーティングが(1-0.76)*27減る
  • Bが勝った場合
    • Aのレーティングが(1-0.24)*27減る
    • Bのレーティングが(1-0.24)*27増える

8 of 14

Elo Rating with R

  • データ
  • 方法
    • PlayerRatings packageのelo関数を使用
      • elo以外にもglickoなど他のレーティングも算出可能

9 of 14

Elo Rating with R

  • こんな感じで簡単に使える

  • 入力データはこんな感じ(Dateが数値型なところに注意)

10 of 14

Result

10選手のレーティング推移

初期値は2200(デフォルト)

1年程度でスコアが安定

11 of 14

Result

錦織選手にハイライト

2014年に大きくレーティングを上げている

12 of 14

Result

準優勝した全米はピンクのところ

シーズン序盤から好調だったことがわかる

13 of 14

Summary

  • 2014年の錦織は凄かった

  • PlayerRatings packageを用いれば、色々なレーティングを簡単に求められる

14 of 14

Enjoy!