【第1話 全体感】現役データサイエンティストが機械学習でtotoを当てるまでの物語

スポーツアナリティクス

本連載は、現役データサイエンティストが機械学習の知識を活用してtotoを当てるまでの物語です。第何話まで続くかわかりませんが、色々と試行錯誤してやっていければと思います。

全体を俯瞰する

totoを当てるために必要なことは何だろうかと考える。

totoを予想するために使えるデータは、対象試合の前までに確定するデータ。つまり多くの試合で、スタメンなどの情報は使えない。さらに約2時間の間の天候を変数にするのも、少し違和感が残る。

ではどんな情報なら、totoを予測するまでに確定されている情報か。それは基本的に前節までの試合結果だと考えることができる。前の試合結果はどうだったか。前の3試合の結果はどうだったか。得点や失点はどうか。そういったことなら、おそらく予測に使えそうで、精度にも影響しそうだ。

次に、処理の全体としては、「データ取得」→「前処理」→「特徴量生成」→「モデル構築」→「予測」というかなり一般的な処理でできそう。

ということは、肝になるのは、特徴量生成であることは間違いなさそう。どんな特徴量を作るかが大事そうになってくる。
とまあ、色々とベーシックな機械学習アプローチで、予測するところまでは問題ないだろう。

課題設定

今回の予測プロジェクトに対して、どのような課題設定をするか。それは、totoの1等を当てることだ。ということはtotoで求められる試合の組み合わせに対して全ての予測と結果が一致しないといけない。つまり、精度を最大化することではなく、たまたまでも予測が全て一致すれば良い。当然精度が高ければ当たる可能性は高まるが、22人のプロが同一のフィールド上で全力で戦うスポーツなので、当然予想外は頻繁に発生する。つまり振れ幅があっても良いモデルを作ることができれば良いかもしれない。

また、結果を予測する際に、どの視点から予測するかも考慮に入れないといけない。ホームのチームの結果を予測もするが、同時にアウェイのチームの予測結果の裏返しとは限らない。
つまり、5連勝してきたチームの次の試合の勝率は80%という予測があったとしても、その対戦チームも5連勝中だと、次の試合の結果は、単純に予測ができないだろう。ということは、この点でどのように「勝ち」「負け」「引き分け」の確率を算出するかも、重要な要素となりそうだ。

課題設定をまとめると、totoの求める試合の結果のみを予測すれば良い。そしてその予測の捉え方は、2チームの対戦なので、それぞれの結果を予測し、その上で対戦結果を計算する形とする。

この課題設定でちゃんと予測できるかどうかは置いておいて、まずはこの課題設定のもと、進めていくこととする。

どんな処理の流れにするか

どのような処理の流れにする必要があるかを検討する。

予測したい試合の前の試合までのデータは必要なので、スクレイピングなどで取得する必要がありそう。またそれと同様に、予測を実行するタイミングで開催されているtotoのデータを取得する必要もありそうだ。こちらもスクレイピングでなんとかなると考えている。

では、どこまでを処理の範囲とするかを検討する。予測結果をtotoの購入ページに反映したところまで処理したいが、どうやらそこまでは対処できなさそうなので、一旦、予測結果をcsvで出力するところまでを今回の処理の範囲とする。

まとめ

第1回の本記事では、totoを当てるまでの一番最初の入り口を記事にしました。

まずは、今考えうる全体感をつかみ、その中で課題を設定して、その課題に対してどのようにアプローチすれば良いかを検討しました。

この全体感の元、進めていくこととします。次の記事ではどんなアーキテクト観でアプローチしていくか書いていきたいと思います。

データサイエンティストの書評ブログ
趣味が読書くらいしかない駆け出しデータサイエンティストの書評ブログです。日々の勉強のアウトプットや趣味の読書のおすすめをしていきます。
総合トップページ|スポーツくじオフィシャルサイト
スポーツくじ「WINNER・toto・BIG」オフィシャルサイト。 購入方法・当せん確認・販売スケジュールはこちら!

コメント

タイトルとURLをコピーしました