Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away