はじめに
アサヒ飲料クラブチャレンジャーズでアナライジングスタッフをやっている中村です↓
スポーツ × 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になります。
一般的には頑張って打ち込んでいるチームが多いと思いますが、チャレンジャーズでは時短分析を目標に掲げて、自動化出来る部分は自動化しています。
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で分析したプレーの決定木です。
この図を日本語に直すとこのチームは
- 第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
あなたの応募をお待ちしております!