気が向いたらてきとうに

ツイッターとかには書ききれない程度の、なんとなく誰かに見てもらいたいものを書いていきます。

検証 : たくまんプロがキルを集めると本当に試合に負けるのか!?

こんにちは オリハルです。

私はLeague of legendsが好きでよくTwitch配信を見ているのですが、

その中でもたくまんプロが一番好きです!

 

さてそんなプロの配信の中でも度々出てくる説の一つに、

「たくまんプロがキルを集めると負ける!」

というものがあります。

 

見ている限りではこの説は本当のような気がしますが、

実際のところどれくらい勝率に影響しているのでしょうか。

今回はそれをやっつけ調査して見たいと思います!

 

Riot APIを使って

とは言うもののOPGGやRiot公式ページから1試合ずつ確認していくのは途方も無い作業です。

そこでRiotが発表しているRiot APIを使って、

過去の対戦データを解析してみたいと思います。

(詳細はこちら Riot Developer Portal)

 

今回はPythonAPIを叩いて、過去データを取り出します。

プログラムに関することは面倒なので、ざっくりに説明すると

"ttps://jp1.api.riotgames.com/lol/summoner/v3/summoners/by-name/{サモナーネーム}?api_key={APIキー}"

こう言ったURLをurllibを使って開いてあげることで、

そのサモナーのマスタリーレベルや独自のIDなどが取得できます。

これを使ってたくまんプロの独自IDを取得し、

そのIDから過去の試合をおそらく全て見ることができます。

def get_match_list(sum_id):#試合のIDlist

api_match_v3 = "ttps://jp1.api.riotgames.com/lol/match/v3/matchlists/by-account/"

try:

    s = urllib.urlopen(api_match_v3 + str(sum_id) + "?api_key=" + api_key)

    summ = json.loads(s.read().decode('utf-8'))
except Exception as e:

    print "err" + str(e)

    sys.exit()

return summ['matches']

 こんな感じで一度に100試合分取り出せます。

 

f:id:oriharu_lol:20180920192305p:plain

 

このようにして、

・プロのチームメイトがキルをとった時間

・プロがキルをとった時間

・試合の勝敗

この3つをとりあえず100試合分取り出しました。

計算の前に

まず「キルを集める」がどう言う状態か決めます。

ここでは単純に、(個人のキル数/チームの総キル数)で計算してみます。

Top/Jg/Mid/Adc/Supの五人でキルを分割するとして、

1人20%持っていれば平均であるとします。

ただ当然ロールによってキルの集まりやすさは違いますが、

とりあえず20%以上なら「キルが集まっている状態」としてみます。

 

次に比較対象について、

せっかくキルをとった時間が分かるので、

「序盤にキルを集めている時」と「全体でキルを集めている時」も見てみます

なんとなく序盤にキルを集めているときはより負けやすい気がします。

いざ検証

とりあえず500試合ほどデータを抽出できましたので、

試合時間が10分、15分、20分、終了時の段階でのキル率とその勝率のグラフを4つ作成しました。

 

f:id:oriharu_lol:20180921182247p:plainf:id:oriharu_lol:20180921182200p:plain

f:id:oriharu_lol:20180921182427p:plainf:id:oriharu_lol:20180921182531p:plain

 

当然試合時間が長くなるほどキル率の種類が増えるので、

サンプル数が少なくなり1と0に分かれてしまってますね。

そこで15分以降のグラフは0~5%、5~10%と言うように5%刻みの平均に変えてみます。

 

それがこちら

f:id:oriharu_lol:20180921182247p:plainf:id:oriharu_lol:20180921183450p:plainf:id:oriharu_lol:20180921183638p:plainf:id:oriharu_lol:20180921183743p:plain

 

 では一つずつみていきます。

・~10min

グラフが右に行くほどプロ"のみ"がキルを取ったことになります。

面白いのは20%付近の勝率が非常に高くなっている点ですが、

これはチーム全員が均等にキルを獲得したということですので

おそらく全レーン勝ちの状態なんでしょう。

また10分の段階でキルがプロだけに入っていると、勝率は32%ぐらいですね

・~15min

 キル率40%を境目に勝率に大きく差が出ており、

勝率70%越えが一気に20%以下になっています。

さらにキル率80%を越えると勝率0%になってしまいました。

・~20min

このグラフでは~10minや~15minと比べて、

キル率30~60%の勝率が全体的に上がっています。

恐らくですが、同じ50%でも1:1:1:3:0のような割合と3:1:3:7:0のような割合では

他のチームメイトの育ち具合が違いますので、そこで勝率が上がったのでは無いかと考えました。

・End Game

全部合わせると勝率50%超えてるように見えますが、

一つの点に含まれているデータ量に差があるので点ごとに信頼度の差があります。

キル率40%近くでも勝率は50%を超えている為、

終盤の集団戦でキルを取ってそのまま勝つことが多いのでしょうか。

 

全体的に右下がりなので、「たくまんプロがキルを集めると負ける」という説は

基本的に正しいのではないでしょうか。

またやはり序盤によりそれが顕著に現れる結果となりました。

 

ただ面白いことに、10min、15min、20minでキル率が高い地点で勝率100%になっている点があります。

つまりキルを持つと基本は負けやすいですが、

時々スーパーキャリーもしているということですね!

 

まとめ

Riot APIを使って過去500試合を調査したところ、やっぱり説は正しかったようです。

ただ私はデータサイエンティストでもなんでもないので、

もっといい調べ方があるような気もします。

序盤にキル率20%で勝率がかなり高くなるというのは、

考えてみれば当然なのですが、こうやってグラフにしてみるとそれが明らかになるので面白いですね。

 

ここまで読んでいただき、ありがとうございました!