女子卓球レーティング

囲碁将棋などで有名な実力計算方式である"イロレーティング"を卓球に応用し、ITTFランキングでは測れない「実力」を試算しました。イロレーティングをもとに、トーナメントドローに応じたモンテカルロシミュレーションを加えた勝敗予想を提供します。さらにイロレーティングを超える「AIレーティング」を開発しています。

【テクニカル】イロレーティングからディープラーニングへ・事前知識

本ブログで提供しているイロレーティングは、良い感じの予想ができるのですが、いくつか不満点もあります。

これらを改善する方策として、今流行りのディープラーニングを取り入れたいと考えます。しかし、私自身、ディープラーニングを実問題に適用してみることは初めてで、試行錯誤の経過を含めて、今後ご報告していこうと思います。

ひとくちにディープラーニングといっても、非常にたくさんのモデルがあり、どのモデルを適用すればよいかがポイントになります。いろいろ調べてみた結果、RNN、特にLSTMを適用してみることにしました。

略語 正式名称 概要
RNN Recurrent Neural Network 時系列を認識して過去の状態も参考にしながら予測することができるモデル
LSTM Long-short term model 通常のRNNだと少し前のことは忘れてしまうが、LSTMはRNNの一方式で、結構前のことも覚えている

幸い、Pythonディープラーニング用ライブラリであるKerasに、LSTMも実装されており、簡単に使えるようです。

LSTMを機能させるには、時系列の数値の組(ベクトル)を学習データとして与えることが必要です。これにより、学習データ以降の時系列を予測することができます。

時系列としては、イロレーティングのために取得した試合データがある、2017年以降の月次を利用します。

各時系列の数値データをどうやって選ぶかは難しいです。そもそも、イロレーティングの不満点を解決するモデルを得るには、任意の選手同士の対戦成績を予測することが必要となります。よって、予測対象の約1000人のランキング選手のそれぞれの対戦成績である1000×1000=100万のデータ(該当月の対戦成績を勝率で表したもの)を採用します。対戦成績データについては、100万のうち有効対戦が月間で数百程度しかない、かなり疎なものになると思います。こういった疎な有効データにおいても、LSTMが効果あるのかは分かりません。

実対戦データに加えて、各選手のイロレーティングをもとにした予測勝率(こちらも100万通り)も追加します。もちろんイロレーティングが対戦成績と強い相関があるためですが、これを加えておくことで、実対戦データが疎である不具合を弱め、かつイロレーティングだけの予測を踏まえた改善予測を得る効果があると考えます。

とりま、いろいろ調べた形での事前知識として、上記のような方針を立てました。今後、これを少しずつ実践していきます。かなり狭いターゲットにしかウケない話ですが、ターゲットに刺さった人は、お楽しみにしてください。