データマイニング入門
データから予測をつくるとはどういうことかを、一般的な考え方(基礎編)と、競馬データならではの論点(競馬編)に分けて解説します。
なぜ「よく当たる予想」が儲かるとは限らないのか
競馬のオッズは、みんなの予想(人気)をすでに織り込んでいます。だから 「よく当たる予測」は「当たるぶん配当が安い予測」になりがちで、的中率を上げても 収支が改善するとは限りません。この感覚のズレをきちんと言葉にするために、 まずデータマイニングの一般的な考え方(基礎編)を押さえ、そのうえで競馬固有の話 (競馬編)に進む構成にしています。
機械学習がはじめての方は「データマイニングとは何か」から、すでにご存じの方は競馬編からどうぞ。
基礎編
分野を問わず通用する、データマイニングの考え方と語彙。競馬を知らなくても読めます。
- データマイニングとは何か大量のデータから再現性のある規則性を取り出す営み。統計学・機械学習との関係と、分析が反復プロセスであること。
- 何ができるのか(タスクの種類)分類・回帰・ランキング・クラスタリング・異常検知。同じデータでも「問題の立て方」でやることが変わります。
- データの見方と前処理尺度水準、テーブルの粒度、欠損値と外れ値、スケーリングとエンコーディング。手間の大半はここにかかります。
- 特徴量エンジニアリングモデルに渡す「材料」の作り方。集約・比率・差分・時間窓という型と、次元の呪い、重要度の読み方。
- 代表的なアルゴリズム線形回帰・決定木・ランダムフォレスト・GBDT・k 近傍法・SVM・ニューラルネットを 1 つずつ。表形式データで GBDT が強い理由、アンサンブル、解釈性との兼ね合い。
- 学習と検証(過学習・交差検証)訓練・検証・テストの三分割、交差検証、過学習と未学習。そして「探すほどテストの数字が甘くなる」こと。
- 評価指標の読み方混同行列、適合率と再現率、ROC/AUC、RMSE。正解率が役に立たない場面と、指標が目的の代理でしかないこと。
- 一般的な落とし穴相関と因果、シンプソンのパラドックス、多重比較、生存バイアス、分布シフト。数字にだまされないための一覧。
競馬編
競馬データでしか起きない論点。レース内での相対比較、時間の扱い、そして「当てる」と「回収する」の違い。
- 競馬予想を「予測問題」として立てる競馬は 1 頭を当てる問題ではなく、同じレースの出走馬を並べ替える問題。ここが以降すべての前提になります。
- 競馬データの構造と時間の扱いレース前に確定している情報と、走った後にしか分からない情報を分ける。JRA-VANデータラボで得られるデータの俯瞰。
- 特徴量づくり(競馬特有の相対化)前走ベースの特徴と集計特徴量の作り方。絶対値ではなく「同じレースの中での位置」に直すと効く理由。
- 競馬でのモデルの選び方1 頭ずつ・2 頭ずつ・レース全体という 3 通りの立て方と、1 着が 1 割弱しかないという不均衡。複数モデルの組み合わせ方も。
- 的中率ではなく回収率で見るオッズは人気を織り込んでいるので、よく当たる予測ほど配当が安くなります。控除率という固定の不利と、分散の大きさ。
- 競馬でよく起きる失敗データリーク、時系列を無視した分割、条件を絞りすぎたときの見かけ倒し。「バックテストだけ異常に良い」の正体。
用語集
基礎編・競馬編に出てくる用語をまとめて引けます。
アプリの操作手順は使い方ガイドにあります。こちらでは考え方だけを扱い、操作の説明は繰り返しません。