見出し画像

アメフトの戦略予測AIを試合データから作成してみた

こんにちは!ヒューマノーム研究所インターンの塩谷です。
この記事では、当社が開発する初心者向けの表データ用ノーコードAIツール「Humanome CatData」を用いて、アメフトの試合データを利用した「プレー予測AI」を作成する流れをご紹介します。


アメフト×AIで何ができるか

みなさんはアメフトを見たことがありますか?

アメフトは体格やフィジカルが重要視されるようなイメージがありますが、実は戦略や戦術が勝敗を左右するといっても過言ではないほど、頭を使うスポーツでもあります。そこで今回は、AIの頭脳を借りて、あるアメフトチームのオフェンス戦略を学習し、次のプレーを予測できるようにします。

最初にAI作成の目的を明確にするため、アメフトのルールを整理します。

アメフトは、1回10秒ほどのプレーと次のプレーの作戦を話し合って決める時間(ハドル)の繰り返しで試合が進行します。プレーの中ではオフェンス(攻撃)側とディフェンス(守備)側があらかじめ決まっており、それぞれのハドルの中で次のプレーを決めます。

(図1)試合の流れ

その中のひとつであるディフェンスプレーの前に行うディフェンスハドルでは、これまでの相手のオフェンスのプレー傾向や、試合の進行状況(シチュエーション)を元に、次の相手オフェンスのプレーコールを予測し、それに適した守備配置を考えます。しかし、その予測は簡単ではありません。

(図2)ディフェンスハドル

そこで今回は、ディフェンスチームが次の守備配置を決めるために、次の相手のオフェンスのプレーを予測するAIを作りたいと思います。

データを用意する

アメフトの過去の試合データを用意します。私は大学でアメフトの派生スポーツであるタッチフットボールという競技をやっているため、今回はタッチフットボールのデータでAIを作成することにします。

実際の試合の中では、これまでの相手オフェンスのプレー傾向と試合の進行状況(シチュエーション)に基づいて、次の相手オフェンスのプレーを予測しています。そこで今回はそれに則り、「前回のオフェンスプレー傾向」に関わる変数と「シチュエーション」に関わる変数を説明変数(予測の参考にする変数)とするモデルを作ります。

目的変数(予測したい変数)は相手の次のオフェンスプレーです。オフェンスプレーは、プレーの最後にボールが渡るターゲット(※)によって分類することができます。今回は、オフェンスプレーをターゲット別に4つの種類(C、G、WR、QB)に分け、その種類を予測するAIを作ります。

※ ターゲットとは?

オフェンスではボールをゴールラインまで運ぶと得点できます。(図3参照)得点するための動きには、WR、C、Gなどのポジションの選手をゴールライン側に走らせQBがパスを投げる場合と、QB自身が前に走ってボールを運ぶ場合などがあります。

このようにプレーの最後にボールがどのポジションの選手に渡るかによってオフェンスプレーを分類することができます。

(図3)ターゲットの概念

下図は今回準備したデータの概要です。今回は145行のデータを集めることができました。データの一部に欠損があるので、その行を取り除いて学習させました。

(図4)データの概要

データを学習させる

用意したデータをAIに学習させます。精度の比較を行うため「シチュエーション」のみを学習させたモデルと、「前回のオフェンスプレー傾向」と「シチュエーション」の両方を学習したモデルの二つを作ってみました。

どちらも学習手法はRandom Forest、パラメータは初期値のまま学習させました。

精度を評価する

それぞれのモデルの学習結果を下図に示します。左側が「シチュエーション」のみを学習したモデル、右側が「シチュエーション」と「前回のオフェンスプレー傾向」の両方を学習したモデルの学習結果です。

(図5)二つの混同行列

シチュエーションのみを学習したモデルでは、テストデータの精度が約0.26でした。一方で「シチュエーション」と「前回のオフェンスプレー傾向」の両方を学習したモデルでは、精度が0.55とより高い精度で予測することができました。

4つのプレーの種類の中からランダムに選んだ場合、理論上の精度は0.25です。何もわからない人が予測するよりは、AIの方が良い精度で予測できていることがわかります。

次に変数の重要度を見てみましょう。シチュエーションのみを学習させたモデルでは、「ゴールまでのヤード(yd)数」と「フレッシュまでのyd数」に続いて「ダウン数」の重要度が高いことがわかります。一方で、前回のオフェンスプレー傾向を説明変数に加えたモデルでは、「ゴールまでのyd数」と「フレッシュまでのyd数」に続いて「前回のプレーの種類」の重要度が高いことがわかります。

(図6)変数の重要度

変数の重要度からもわかるように、予測に有用な説明変数を増やすことで、モデルの精度を上げることができます。

終わりに
今回はHumanome CatDataを用いて、アメフトの次のオフェンスプレーを予測するためのAIを作成しました。相手のオフェンスプレー傾向と試合の進行状況に関わる変数を学習させたことによって、精度0.55とアメフトの戦略を全くわからない人間が予測するよりは高い精度のAIを作成することができました。

AIはビジネスの分野だけではなく、このように幅広い分野で活用することができます。みなさんもご自分の興味のある分野でAIを使ってみたいと思ってもらえれば幸いです。ここまでお読みいただき、ありがとうございました!

※ 筆者紹介
塩谷 明日香(慶應義塾大学環境情報学部4年):VRを使ったスポーツトレーニングに興味があります。大学ではタッチフットボールに熱中しています。機械学習やプログラミングは一昨年から学び始めました。
---
私たちはワークショップのTA目線でのレポートや、機械学習ツールの使い方の紹介記事を執筆しています。今後も、AI構築の実際についてご紹介していきますので、お読みいただけると嬉しいです!

データ解析・AI構築の初学者向け自習テキスト

表データを利用したAI学習テキスト(Humanome CatData

画像・動画を利用したAI学習テキスト(Humanome Eyes


AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!


いいなと思ったら応援しよう!