IVL ベイズのおまじない

Last-modified: 2023-08-20 (日) 04:46:53

はじめに

私が中国のサイトを見ていると「eスポーツは人柄を問わない」という言葉を目にしたり、MRC_怪咖(Weirdo)選手がインタビューで「eスポーツは優勝を争うのみ」と発言するなど、eスポーツは他のスポーツに比べるとより強さが重視されているように感じます。先日公式のbilibiliである試合動画を再生するとすぐ異様なコメントが画面いっぱいに表示され、言葉が分からなくても雰囲気で意味することが伝わってきました。つまり、強さというのは魅力的でもあり厄介な問題でもあるということです。かく言う私も強さというものに少し惹かれるのは否定できませんし、応援しているチームもある程度強くなければ悲しいことにプレイオフに進むことができません。このページでは去年の各チームの強さを階層ベイズモデルを使って推定したいと思います。しかし、やはり厄介な問題ですのであまり真に受けず、あくまでインチキ占い師のおまじないを楽しむみたいに読んでくださいね∪・ω・∪!

「アナクレト様は聖人です」
「聖人像を売るテキヤだよ、ありゃあ」

「アナクレト・モローネス」フアン・ルルフォ(杉山訳)

モデル

使用したモデルの話です

サバイバーとハンターのどちらかのパフォーマンスが上回ったチームが勝利すると考えます。パフォーマンスは強さ(μ)と調子の波(σ)によって決めます。事前分布として、パフォーマンスと強さは正規分布を調子の波はガンマ分布を仮定しました。制約条件に関しては、勝敗がついた場合ある閾値を勝ったチームのパフォーマンスに足し、引き分けの場合両チームのパフォーマンスの差をある閾値以下と設定し、その閾値の分布を正規分布であるとしました。
ベイズ.png
上の数式を階層ベイズモデルとMCMC法で推定しました。
使用したソフトはRとstanで、MCMC法はデフォルトのHMC法でチェーン数は4つ、サンプル数は4000(内warm up 1000)に設定しました。何度か閾値を変えて実行したのですが、閾値を狭くしすぎるとうまく計算できないようです。

data {

 int N;
 int G;
 int I;
 int<lower=1, upper=N> LW[G,2];
 int<lower=1, upper=N> Dh[I];
 int<lower=1, upper=N> Ds[I];

}

parameters {

 ordered[2] performance[G];
 vector[N] mu;
 real<lower=0> s_mu;
 vector<lower=0>[N] s_pf;
 vector[I] performance_draw_d;
 vector[I] performance_draw_s;
 vector<lower=-1,upper=1>[I] performance_dif;

}

transformed parameters{

 vector[I] performance_draw_h;
 vector[G] performance_w;
 vector[G] performance_l;
   for (g in 1:G){
     performance_w[g] = performance[g,2] + 1 ;
     performance_l[g] = performance[g,1];
     }
 for (i in 1:I){
   performance_draw_h[i] = performance_dif[i] + performance_draw_s[i];
 }

}

model {

 for (g in 1:G){
   target += normal_lpdf(performance_w[g]|mu[LW[g,2]], s_pf[LW[g,2]]);
   target += normal_lpdf(performance_l[g]|mu[LW[g,1]], s_pf[LW[g,1]]);
   }
 for (i in 1:I){
     performance_draw_s[i] ~ normal(mu[Ds[i]], s_pf[Ds[i]]);
     target += normal_lpdf(performance_draw_h[i]|mu[Dh[i]],s_pf[Dh[i]]);
     }
 mu ~ normal(0, s_mu);
 s_pf ~ gamma(10, 10);
 performance_dif ~ normal(0,1);

}

2020秋季IVL

使用したデータは全試合で、サバイバーは全チームで、ハンターは25試合以上出場した選手を対象にしました。(ある程度試合数がないと収束しない恐れがあるので)

強さ

  • 2020秋季IVLの強さ
    順位強いハンター順位強いサバイバー
    1位Dx1位FPX.ZQ
    2位Ken2位Weibo
    3位ppxia3位Wolves
    4位d4位Gr
    5位ppx5位ACT

これを見ると、おそらく勝率+脱出数が考慮されたランキングと感じた方もいるでしょう。実の所このモデルの面白い点は調子の波が激しいチームと安定しているチームを推定できることです!では、それのベスト3とワースト3を見ていきましょう。

  • 波のある
    順位波の激しいハンター順位波の激しいサバイバー
    1位Xc1位Xrock
    2位Dx2位Gr
    3位Ken3位Wolves
     
  • 安定
    順位安定しているハンター順位安定しているサバイバー
    1位ppxia1位FPX.ZQ
    2位d2位Wb
    3位ppx3位GG

結果

意外にもXc選手が1位となりましたが、魔女と女王の弱体化の煽りを受け様々なキャラを試していたので、それが影響したのでしょうか?強さの値に関しては1~3位と4位以下の選手では結構差があったのですが、安定性では全く分かれてていて興味深かったです。ppxia選手は上位2名の選手ほどの突破力にはかけるものの、初戦のボンボン、2戦目の魔女、3戦目のヴァイオリニストとどのキャラもかなり高いレベルで安定していましたよね。つまり、BO3の選手として美しいほど完成していたので評価されたと思います。サバイバーに関しては、eスポーツ界の主人公と言われたXrockサバイバーが1位となりました。他のチームに関しては、ZQとWeiboはまず安定を目指してその延長上に勝利を見据えていたのに対して、WolvesやGrはどちらかというと積極的に勝ちを狙いにく姿勢の差が現れたのかもしれません。

2020夏季IVL

使用したデータは全試合で、サバイバーは全チームハンターは30試合以上出場した選手を対象にしました。

  • 2020夏季IVLの強さ
    順位強いハンター順位強いサバイバー
    1位Ken1位GG
    2位Dx2位FPX.ZQ
    3位Xc3位Wolves
    4位ymm4位Weibo
    5位ppx5位JHS
    サバイバーは平均脱出数の観点からは、GG~MRCまであまり差がなかったのですが、勝率という観点からGGとZQが評価されたようです。ハンターは1~3位と4位以下では結構差がありました。魔女での平均脱落数3.0、平均得点3.59と猛威を振るったXc選手を筆頭にほぼ魔女使いが占め当時の環境が窺い知れます。
  • 波のある
    順位波の激しいハンター順位波の激しいサバイバー
    1位ppx1位Xrock
    2位Dx2位Gr
    3位Sese3位Mrc
    サバイバーは秋季と変わらずXrockが1位になりました。このチームの特徴と言ってもいいかもしれません。後は両チームとも救助面がやや不安定だったチームが上位になりました。やはり勝利へ導くのがチェイス職でゲームを安定させるのが救助職ということでしょうね。ハンターは当時ppx選手の苦悩が思い浮かびます。GrはCOAを3連覇しIVLでも優勝することを期待されていたもののサバイバーが不安定だったので、何とか勝ちを狙いにリスクを取っていたのが現れたと感じます。
  • 安定
    順位安定しているハンター順位安定しているサバイバー
    1位qy1位JHS
    2位Ken2位Weibo
    3位jue3位FPX.ZQ
    4位Xc4位
    5位afu5位
    サバイバー関してはJHS(Tianba)とWeiboがダントツでした。この結果は当時見ていた方結構納得されるのではないでしょうか。ハンターは別の面が出てしまいましたが、何と言ってもこの2020夏季IVLはKenの時代だったということでしょうね。

終わりに

私はあなたの旅のはざまで出会った怪しげなまじない師にすぎません。実際に試合で起こったことはとても複雑で、あなたが実際に見て感じたことそれ以上に確かなものなんて存在しませんよね。最後にIVLも残りあと2週で終わります。残念ながら私の応援しているチームがプレイオフに進むことはほぼないでしょう。しかし、だからこそあなたの応援しているチームのプレイオフでの旅が良いものになることを願っています´•ﻌ•`🐾(同じなら一緒に泣きながら観戦しましょう°(´∩ω∩`)°。)

 
 

参考資料

StanとRでベイズ統計モデリング (Wonderful R) 松浦 健太郎
通称アヒル本、数理モデルはこの本から拝借したものを改良しました。
サッカーの世界ランクをStanを使ったベイズ統計モデリングで算出してみた
このページも参考にしました