見出し画像

バレーボール分析ソフトを作ってみる

(画像:Wikipedia)

お久しぶりです。
大学の卒論作成も落ち着いてきたので、Pythonで作成中のバレーボール分析システムの構想と進捗についてお話ししようと思います。

去年まで、Excelを利用した試合のデータ分析を行っていて、9月からはnoteを通じて、選手の特徴やチームの勝因についてデータから分かることを発信してきました。
現在はそれをさらにレベルアップするために、また大規模な開発構想のための第1歩として、Pythonを使ったデータ分析システムを作っている最中です。
実はPythonの勉強は始めたばかりで、付け焼刃で作成しているのでまだまだ至らない点が多いと思います。
こんな機能があればいいなと思った点や、開発のアドバイスや協力していただける方がいれば、ぜひお待ちしております!

初めて投稿をご覧になった方は、Excelでの試合分析の投稿を読んでいただければ、この後の話が分かりやすくなるのではないかと思います。
また、Excelでのデータ分析を実践したいというご相談を数件いただきました。こちらとしても他の方からご意見いただける貴重な機会なので、同様のご相談はこれからもお待ちしております!


はじめに

バレー観戦歴も短く、分析の手法も稚拙ながら、想像よりも多くの評価をいただくことができました。
それは、バレーボール観戦において、データの重要性とデータへの理解度がとても広がっていることが要因であると考えています。実際、VNLをはじめとする大規模な国際試合では、リアルタイムで選手のアタック効果率やサーブ返球の評価が表示されたり、大会全体を通じて各評価項目ごとに全プレイヤーのランキングを公開するなど、積極的にデータを発信していることが分かります。
私はそれだけでなく、視聴者が自ら試合のデータを取って分析を行い、お互いに共有しあうことができれば、バレーボールの楽しみ方がさらに増えるのではないかと思います。これはバレーボールに限らず、スポーツ全体でいえることだと思います。

機能の紹介

今回はまだ製作途中ですが、Pythonでの分析システムの一部を紹介したいと思います。

モードの選択

今考えている機能の大きな枠組みとしては、「試合を観ながらデータを入力して、それをもとに分析を行うモード」「今まで入力した試合データから特定のチームや選手の情報を取得して、分析を行うモード」の2つです。
今は前者の「入力モード」を作成中ですが、新規に入力を行う場合と途中まで入力した保存データに続きから入力する場合を想定しています。

初期画面

試合データの登録

「入力モード」では、トーナメントの情報や対戦チームの情報などを入力することで、あらかじめ作成しておいた選手名簿と照合できるようにしています。

試合情報の入力。
選手の名簿

セット情報の登録

また、セットのサーブ権をもつチームとそれぞれのスタートローテーションを入力することで、データを入力するたびに現在のローテを表示するようにしました。

各チームのスタートローテと背番号。

試合データの入力

試合の入力方法ですが、誰がどんな行動をしてその結果どうなったかを独自の書き方で順番に入力していきます。
その結果をデータフレームとして出力することで書き間違えたらすぐにわかるようになっています。そして、ラリー番号を指定することでそれを訂正することができます。

日本サーブからスロベニアが得点したので、0-1となりスロベニアのローテが1つ進んだ。後ろに表示されているのが入力したデータを分かりやすい形に直したもの。

データの解析

入力したデータは選手名簿と照合されてスタッツ表として出力することができたり、また選手のプレー(アタックやサーブ、レセプション)やトスの配分について条件(セットやスロット)を抽出してコート上に図示することができるようになります。

作成した情報をもとにしたスタッツ表
左がサーブコース、右がスパイクコース。1つのコマンドで色々な項目が図示できる。

展望

将来的には選手名を検索するだけで、選手名簿から出場している試合情報を取得し、読み込んだ全試合データからスタッツ表を作成したりコート上にプレーを図示することができるようにしたいと思っています。

最後に

今回は現在作成中の機能について紹介をしました。

今後の展望としてこれをさらに視覚的にわかりやすく改良したり、さまざまな状況に対応させていきたいと思っています。

また、最初にも書きましたが、プログラミング初心者なうえ、学業や就活のため今後作業時間が取りづらくなっていくため、思うように作業が進んでいないという現状があります。
開発のアドバイスや別の言語の紹介など、ご協力していただける方など募集しています。

これからも試合分析や分析システムの進捗について投稿していこうと思うので、よろしくお願いします🏐


この記事が気に入ったらサポートをしてみませんか?