今回はBリーグの話ではないです。
データ分析に興味がある方ならKaggleというデータ分析コンペを開催しているサイトを御存知かと思います。コンペのひとつにGoogleとNCAAが毎年行っている、NCAAバスケトーナメントの勝敗予想コンペがあります。このコンペの2019シーズン版に私も参加しました。
ご存知の通り今シーズンは八村塁が所属するゴンザガ大学が日本で注目を集めており、勝敗予想に参加することでNCAAトーナメントを2倍楽しもうという算段です。ちなみに男子と女子の両方で同じコンペが開催されておりまして、私は双方に同じ計算方法で参加しています。
このコンペを簡単に説明します。まずKaggleから過去数年のレギュラーシーズンとトーナメントのスタッツ、Play by Playのデータや、各大学のトーナメント出場歴などのデータが提供されています。また自分で勝手に有用なデータを用意することも許されています。
それらのデータを元に、今季のトーナメントの形に関係なく、出場する68大学(First Fourと呼ばれるゲームで落ちる4大学も含みます)のすべての組み合わせについて勝敗を予想する、という形式になっています。
もう少し正確に言うと、各大学にID番号が振られており、ID番号が小さい方の大学が勝つ確率を出す、というやり方になっています。出場校がチーム1、2、3、4だとしたら
- チーム1 vs チーム2におけるチーム1が勝つ確率
- チーム1 vs チーム3におけるチーム1が勝つ確率
- チーム1 vs チーム4におけるチーム1が勝つ確率
- 以下チーム2 vs チーム3、チーム2 vs チー厶4、チーム3 vs チーム4についても同様
を求めるという形です。実現しなかった組み合わせについては予想は無視されます。
結果は対数損失と呼ばれる値で評価されます。これは簡単に言えば完璧に勝率を予想した場合(チームAが勝ったゲームを全て確率100%と予想。負けたゲームを全て0%と予想)は0になり、完全にランダムに予想すると1になる値です。
対数損失は勝敗を単純に「勝ち」、「負け」で予想するのではなく、確率で予想するときに便利なやり方です。勝つ確率100%と予想していたチームが勝つと最高点(つまり0)を得られる一方、それで負けると大きなダメージを負います。かと言ってずっと50%の予想をしていても得られるのはランダム予想と同じ結果です(つまり1。)
このコンペの最高な部分は、NCAAトーナメントが進むに連れ結果がリアルタイムで更新されていくところです。冒頭に述べた「2倍楽しむ」はこれで達成できる予定です。この記事ではどのように過去のデータから確率を求めたのかの説明は省きますが、自分のモデルがどの程度の制度なのか、確認するのが楽しみです。
ちなみに私のモデルが弾き出したゴンザガ大の勝つ確率の一覧は以下のようになりました。今季のレギュラーシーズンの成績を主に使ったモデルなので、好調だったゴンザガ大の確率はかなり高めに出ていますね。ザイオン・ウィリアムソン率いるデューク大学相手にも勝つ確率が約75.4%と出ています!頑張れ八村塁!
対戦大学 | ゴンザガ大が勝つ確率 / 100 |
---|---|
Wofford | 0.5766060 |
Michigan St | 0.6557608 |
Virginia Tech | 0.7019235 |
New Mexico St | 0.7030285 |
Belmont | 0.7051441 |
Mississippi St | 0.7094201 |
Murray St | 0.7210376 |
Montana | 0.7227919 |
Colgate | 0.7262318 |
Tennessee | 0.7289464 |
Virginia | 0.7334119 |
Kentucky | 0.7445775 |
Duke | 0.7535295 |
N Kentucky | 0.7544945 |
Auburn | 0.7700234 |
Yale | 0.7724692 |
Utah St | 0.7725864 |
Northeastern | 0.7739441 |
Liberty | 0.7821296 |
North Carolina | 0.7895388 |
Iowa St | 0.7899850 |
Purdue | 0.7910372 |
St Mary's CA | 0.7933053 |
LSU | 0.8004175 |
F Dickinson | 0.8013481 |
Buffalo | 0.8140718 |
Marquette | 0.8161373 |
Houston | 0.8175769 |
Villanova | 0.8200679 |
Baylor | 0.8296433 |
Maryland | 0.8338790 |
Texas Tech | 0.8342346 |
Mississippi | 0.8376907 |
Nevada | 0.8459738 |
UC Irvine | 0.8535026 |
UCF | 0.8560282 |
Iowa | 0.8577243 |
Kansas | 0.8658504 |
Gardner Webb | 0.8669303 |
Washington | 0.8723155 |
Georgia St | 0.8725844 |
Oregon | 0.8833206 |
Iona | 0.8840201 |
Vermont | 0.8842641 |
Florida St | 0.8846830 |
Abilene Chr | 0.8864741 |
Arizona St | 0.8871292 |
NC Central | 0.8879917 |
Cincinnati | 0.8912449 |
VA Commonwealth | 0.8995327 |
N Dakota St | 0.9038196 |
Louisville | 0.9062988 |
Michigan | 0.9132945 |
Florida | 0.9162315 |
Ohio St | 0.9222904 |
Seton Hall | 0.9228450 |
Wisconsin | 0.9259659 |
Syracuse | 0.9270761 |
St John's | 0.9279579 |
Minnesota | 0.9352691 |
Kansas St | 0.9354663 |
Temple | 0.9355528 |
Oklahoma | 0.9356434 |
St Louis | 0.9367082 |
Prairie View | 0.9389675 |
Bradley | 0.9418723 |
Old Dominion | 0.9424608 |
ちなみに同じ計算方法で過去5シーズンの男子トーナメントの予想を作り、実際の結果と突き合わせて対数損失を求めてみたら、以下のような結果になりました。そんなには悪くなさそうです。昨年のコンペの結果を見ると、上位は対数損失が0.5台だったので上位に入るのは難しそうではありますが。
シーズン | 私のモデルの対数損失 |
---|---|
2014 | 0.6867621 |
2015 | 0.6479138 |
2016 | 0.6332666 |
2017 | 0.7007685 |
2018 | 0.6863598 |
なおやり方を真似した訳ではないのですが、私こういった勝敗予想の何たるかがあまりわかっていなかったので、いつもTwitterで勝敗予想を発表されているkonakalabさんの論文を参考にさせて頂きました。この分野に興味がある方にはおすすめできる面白い論文です!
@konakalab さんの論文「統計的レーティング手法に基づく B リーグの
— 増田林太郎 / Rintaro Masuda (@rintaromasuda) 2019年3月5日
制度設計に関する考察」で勉強中です。Bリーグクラスタでときおり話題になる「戦力均衡」を数理的に分析していてとても面白いです。数式が嫌じゃない方は是非!https://t.co/Q8qCqbP2j3
最後になりますが、別にデータから求めずヤマ感でやっても勝敗予想って面白いはずですよね。Bリーグのチャンピオンシップでも手軽に似たようなことができないか、ちょっと検討しています。参加者の皆さんには確率だけ提出してもらえばよいだけなので、そんなに手間なくできるはずです。