LoginSignup
0
0

More than 1 year has passed since last update.

Markovモデルでロケットリーグ大会(RLCS)でのレートを求める。

Last updated at Posted at 2022-06-04

はじめに

この記事では、レーティングシステムである、Markovモデルを紹介する。

そして、この方法を使ってロケットリーグのレーティングを求めてみる。

Markovモデル

Markovモデルは名前の通り、Markov連鎖をもとに考えられたモデルである。

まず初めに、自分の利用したい試合結果からの統計量$V_{ij}$を考える。
例えば次のようなものが考えられる。

  • チームiがチームjから取った総得点
  • チームiがチームjに勝利した回数
  • チームiがチームjより多くとった点差

そして、統計量をnormalizationした行列$N_{ij}$を作成する。

N_{ij} = \frac{V_{ij}} {\Sigma_j V_{ij}}

行列Nに次のような行が残っている場合は、行列の大きさnを利用して次のように変換する。

\text{if } N_{ij} = 0 (j=1..n) \text{ then } N_{ij} \rightarrow \frac{1}{n}

このようにしてできた行列を$S_{\alpha_0}$とする。そのほかの統計量に関しても同様に$S_{\alpha_1}$、$S_{\alpha_2}$...という風に導出し、それぞれの線形結合を次のように取る。

S = \Sigma_j \alpha_j S_{\alpha_j} 

この時、

\Sigma_j \alpha_j = 1 (\alpha_j > 0) 

また、Sがirreducibleではない場合には、次のような変換を施すことでSをirreducibleにする事ができる。

S \rightarrow \beta S + \frac{1 - \beta}{n} E (0\le\beta\le1)

ここまで出来たらあとは、

S^{T} \vec{r} = \vec{r}

という固有値問題を解けば、レート$\vec{r}$が求まる。

例題(RLCS)

いつもの通り、ロケットリーグチャンピオンシリーズのデータ(シーズンX North America GroupA)を使ってレートを導出してみる。

今回はこれらの統計量を利用することにした。

  • 試合での得点数
  • ショットを打った数
  • ボールの支配率

これらのデータを用いてレートを算出すると次のようになった。

order team name rate
1 RGE 0.240
2 SQ 0.217
3 V1 0.215
4 OXG 0.201
5 VOLT 0.126

これまでのモデル(MasseyEloなど)のレートと順位が大きく違っているのが見て取れる。
例えば、SQはこれまでのレートでは4位にランクインしていたが、このレート導出方法では2位となっている。これは、SQはボールの支配率もよくシュートを打つチャンスが多くあるが、決定打にかける為試合に勝てていない事が分かる。このように、レートの導出だけでもいろいろ考察できそうである。

おわりに

今回のMarkovの方法は、自分の好きな統計量を組み合わせることができるので、とても汎用的であると感じた。
次回は、このMarkovの方法の一種であるPage Rankのモデルについて触れようと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0