search
LoginSignup
2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Xリーグ X1 AreaチームのオフェンスプレーをAIが予想してランキングしてみた

はじめに

アサヒ飲料クラブチャレンジャーズでアナライジングスタッフをやっている中村です↓
image.png
スポーツ × AIでスポーツをもっと面白くしたいと思っている人です。
これはやってみた + アナライジングスタッフ募集の記事です。

Xリーグとは?

アメリカンフットボールの社会人リーグです。
https://xleague.jp/

アメリカンフットボール?

ボールを投げたり持って走ったりして、相手陣地に持ち込んで得点を競うスポーツです。
アメリカンフットボール

アナライジングスタッフから見た面白ポイント

  • 戦略性が高いスポーツ
  • 選手以外が最も勝利に関われるスポーツ(だと個人的に思っています)

アナライジングスタッフ?

フィールドでプレーすることはありませんが、
対戦相手の分析等をしてコーチの戦略立案を助けるポジションです。

この記事を読む上で知ってほしいポイント

  • 攻撃、守備があり、交代制
  • 攻撃側も守備側も作戦を用意して、様々な要素から作戦を決定する
  • 作戦には有利/不利があるため、攻撃側も守備側も相手の作戦を予想しながら決定する
  • 予想がうまくいくと、勝利に近づくことが出来る

やったこと

Xリーグ公式サイトから試合スタッツ(通称PlayByPlay)を入手

Xリーグでは試合結果が公開されており、詳細リンクからPDFを入手することが出来ます
例) https://xleague.jp/score/9788

OCRで文字を読み取ってテーブル形式に整形

PDFになっていればOCRできますね。
pyocr, pdfminerを利用しました
https://github.com/kyper999/pyocr
https://github.com/pdfminer/pdfminer.six

以下のようなCSVになります。
image.png
一般的には頑張って打ち込んでいるチームが多いと思いますが、チャレンジャーズでは時短分析を目標に掲げて、自動化出来る部分は自動化しています。

AIが学習できる形に整形

今回はプレーがRUNなのかPASSなのかを当てたいと思います。
本当はもっとたくさん作戦の種類はあるのですが、
守備側にとって最も守り方を変えないといけないこの2種類を予想します。

目的変数、説明変数に分割

教師あり学習では、「推定させたいもの」と「それを推定できる情報」に分けます。
推定させたいものはRUNかPASSか (表のR/P列)
※記録上のRUN/PASSなのでQBスクランブルはRUNになっています。仕方ない。

それを推定できる情報は試合状況で、今回は以下を使いました
※本当はもっと色々使ったほうが良いですが、公式記録から取れるものはこのくらいです。

列名 説明
YARD LN フィールド内のボールの位置
DN 第何ダウンか
DIST 第1ダウン獲得までの残りヤード数
HASH 攻撃方向からみて左右方向のボールの位置
point_diff 得失点差

特定のチームの攻撃プレーだけを抽出

アメリカンフットボールでは守備とキッキングをしているプレーがありますが、それは除去しました。
これで各チームの2020年の3試合分(一部2試合)の攻撃をしているプレーだけが抽出できました。

学習用、推定用のデータに分割

AIに学習させる際、学習用と推論用にデータを分割して評価します。
今回は5-Fold Cross Validationを使います。
https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html
つまり、2020年のすべてのプレーのうち、80%で学習して、残り20%を当ててみるタスクを5回繰り返し、その平均をスコアにします。

GradientBoostingで分類

テーブルデータ(表形式)に強力な、決定木ベースのアンサンブル学習器であるGradientBoostingを使います。
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html
学習後、前出のスコアを計算します。

結果 (予想しやすさランキング)

チーム名 スコア
名古屋サイクロンズ 0.616
みらいふ福岡SUNS 0.538
アズワンブラックイーグルス 0.462
LIXIL DEERS 0.457
電通キャタピラーズ 0.437
アサヒビールシルバースター 0.417
BULLSフットボールクラブ 0.361
富士ゼロックスミネルヴァAFC 0.347
アサヒ飲料クラブチャレンジャーズ 0.319
ブルザイズ東京 0.306

※スコアにはF1スコア(正答率のようなもの)を使っています。

名古屋サイクロンズのRUN/PASSが一番予想しやすく、
ブルザイズ東京のRUN/PASSが一番予想しにくいという結果になりました!
我がアサヒ飲料クラブチャレンジャーズもそこそこ良い位置です。
Garrett選手のQBスクランブルがRUN扱いなのも、予想しにくくなっている要因かもしれません。

※あくまでAIがRUN/PASSを予想した結果ですので、強い弱い、良し悪しを評価しているわけではありません。ご理解ください。

AI予想の可視化

AIで予想しやすい/しにくいのは分かりましたが、これを戦略立案にどう活かせば良いのでしょうか?
幸い、決定木ベースの分類器ではYes/Noで判断できるような決定木を書くことが出来ます。
チーム名は伏せますが、以下はとあるチームのAIで分析したプレーの決定木です。
MF_off_graph.png
この図を日本語に直すとこのチームは

  • 第1ダウン獲得まで3yd以内なら 90% RUN を利用
  • 第1ダウン獲得まで7yd以上で得失点差が-2以下 (2点以上負けている場合)、82% PASS という傾向が見えてきます。

統計データを舐め回しながらこのような統計データを出していたチームは多いと思いますが、AIを使えば1秒で出してくれます。

最後に

アサヒ飲料クラブチャレンジャーズでは、このような取り組みも含めて、アナライジングスタッフを大募集しています!!!
以下のような方は是非。

  • アメリカンフットボールが好き
  • スポーツが好き
  • データ分析したい
  • コーチと一緒に考えたい
  • 中村と一緒にやりたい

経験は必須ではありませんが、アメリカンフットボールの知識はあると良いです。
基本的に土日練習、場所は尼崎になります。

募集ページ: https://challengers-net.com/news/2021/01/25/news175/
問い合わせ先: info@challengers-net.com

あなたの応募をお待ちしております!

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
What you can do with signing up
2
Help us understand the problem. What are the problem?