著者:フォスフェン
編集:ガンズ、ベーグル予測市場ウォッチ
この男性は、過去 43 年間にわたるプロテニスのすべての試合のデータを集め、それをすべて機械学習モデルに入力し、1 つの質問をしました。「誰が勝つかを予測できますか?」
モデルはただ一言「はい」と答えました。
その後、今年の全豪オープンでは116試合中99試合を的中させ、的中率85%を達成しました!
これはモデルがトレーニング中にこれまで見たことのない競技であり、最終的な優勝者が勝つであろう試合をすべて正確に予測しました。
これらはすべて、 @theGreenCodingによって、ラップトップ、無料データ、オープンソース コードのみを使用して実現されました。
次に、この変革的なプロジェクトを、生データから最終的な予測成功に至るまで詳細に解説します。これは、これまでで最も印象的なAI + 予測の成功事例となるでしょう。
出発点: フォルダー内の43年間のテニスデータ
物語は、「スポーツデータの聖杯」とも言えるデータセットから始まります。
このコレクションには、1985 年から 2024 年までのすべてのプロの ATP (プロテニス協会) トーナメントの記録が含まれています。
ブレークポイント、ダブルフォールト、フォアハンド、バックハンド、プレーヤーの身長、年齢、ランキング、対戦成績、試合会場など、ATP がこれまでに追跡したあらゆるポイントごとの統計が利用可能です。
40 年分の CSV ファイルがすべて 1 つのフォルダーに保存されます。
完全なデータセットを開くと、コンピューターがクラッシュしました。
しかし彼は諦めなかった。データセット内の95,491件の一致に対して、彼は多数の追加の派生特徴を計算した。
両選手の対戦成績
年齢差、身長差
過去10、25、50、100試合の勝率
ファーストショットの得点率差
ブレークポイント回復率の違い
チェスから借用したカスタム ELO レーティング システム (重要なポイント)
最終データセット: 95,491 行 × 81 列。
過去 40 年間のすべてのプロテニス トーナメントには、手動で計算された多数の機能が伴ってきました。
ステップ2: タイタニック号から借用したアルゴリズム
データを分類器に入力する前に、彼はアルゴリズムの仕組みを徹底的に理解しようと決意しました。そのために、NumPyを使って決定木をゼロから作成しました。
決定木は推論ゲームと同様に機能し、一連の質問を通じて段階的に答えに近づきます。
この概念を説明するために、彼はまったく異なるデータセット、つまりタイタニック号を選択しました。
たとえば、乗客11番は生き残りましたか?
質問1:TAはファーストクラスですか?→はい。
質問2: 彼女は女性ですか? → はい。
予測される結果: 生存。
アルゴリズムはどのような質問をするかをどのように決定するのでしょうか?
すべてのデータから、「生存者」と「非生存者」を最もよく区別する単一の変数を見つけます。タイタニック号のデータでは、答えはキャビンクラスです。ファーストクラスの乗客は片側に、それ以外の乗客は反対側に移動しました。
しかし、ファーストクラスの乗客の中には亡くなった人もおり、依然として「不純」が残っています。アルゴリズムは次の最適な分岐点、つまり性別を探し続けます。ファーストクラスの女性全員が生き残り、「純粋ノード」を形成し、分岐はここで終わります。
すべての状況を網羅する完全な意思決定ツリーが構築されるまで、このプロセスを繰り返します。
彼が手書きしたNumPyコードは小規模なデータセットでは良好なパフォーマンスを発揮しましたが、95,000件のテニスの試合記録を扱うと、イライラするほど遅くなりました。そこで、実際のトレーニング段階では、同じロジックでありながらはるかに高速なsklearnの最適化バージョンに切り替えました。
ステップ3: 勝敗を決定づける主要な変数を特定する
モデルをトレーニングする前に、まずすべての変数をペアにして巨大な散布図マトリックス (SNS ペアプロット) にプロットし、勝者と敗者を区別できるパターンを探しました。
ほとんどの特徴はノイズです。プレイヤーIDは明らかに役に立ちません。勝率の差にはいくつかのパターンが見られますが、信頼できる分類器を支えるほど明白ではありません。
唯一の変数は、ELO 差 (ELO_DIFF) であり、他の変数よりはるかに重要です。
ELO_DIFF と ELO_SURFACE_DIFF の散布図は、他のどの特徴にも匹敵しない、2 つのカテゴリ間の分離度を明確に示しています。
この発見がきっかけとなり、彼はプロジェクト全体の中核を構築することになった。
ステップ4:テニスにチェスのスコアリングシステムを導入する
ELOはプレイヤーのスキルレベルを評価する方法で、最初はチェスに適用されました。現在、世界一のチェスプレイヤーであるマグヌス・カールセンのレーティングは2833です。
彼はこのシステムをテニスに適用することにしました。
各プレイヤーの開始レーティング: 1500 ポイント
勝てば評価が上がる; 負ければ評価が下がる
コアメカニズム:獲得または喪失するポイントの量は、対戦相手とのスコア差によって決まります。高得点の対戦相手に勝つとより多くのポイントを獲得でき、低得点の対戦相手に負けるとより多くのポイントが減点されます。
彼はこの公式を2023年のウィンブルドン決勝で実証しました。カルロス・アルカラス(レート2063)がノバク・ジョコビッチ(レート2120)と対戦し、アルカラスが逆転して優勝しました。
式に代入すると、アルカラス +14 ポイント、ジョコビッチ -14 ポイントとなります。
計算は単純ですが、43 年間の歴史的データに適用するとその威力は驚異的です。
ステップ5:ビッグスリーの優位性を視覚的に証明する
彼はフェデラーのキャリアを通じての ELO レーティングを曲線でプロットし、プロサーキットでのデビューから引退まですべての試合を明確に記録しました。
この曲線は、初期の急速な上昇、ピーク期(400 試合目あたり)の絶対的な優位性、そしてキャリア後期の変動という伝説的な時代を完全に表しています。
しかし、本当に驚くべきは、フェデラーが 1985 年以降のすべての ATP 選手と同じチャートに載っていることです。
フェデラー (緑)、ナダル (青)、ジョコビッチ (赤) の 3 つのカーブは、他のすべての選手をはるかに凌駕してそびえ立っています。
グランドスラム大会の「ビッグスリー」は、単なるタイトルではありません。40年間の大会データを視覚化すると、この圧倒的な強さが数学的にも明確に表れていることがわかります。
彼が独自に開発した ELO システムによれば、現在の世界ランキング 1 位はヤニック・シナー (2176 ポイント) で、続いてノバク・ジョコビッチ (2096 ポイント)、アルカラス (2003 ポイント) となっている。
Sinner が 1 位にランクされていることを覚えておいてください。これは後で重要になります。
ステップ 6: 場所はすべてを変える変数です。
テニスで使用されるコートの種類は、このスポーツの様相を完全に変えるでしょう。
クレー:低速、高バウンド
芝:速く、低いバウンス
ハードコート:中間のどこか
ある分野で圧倒的な強さを見せる選手が、別の分野では完全に崩れてしまうこともあります。
そこで彼は、クレーコート、芝コート、ハードコートの 3 つの異なるサーフェスに対して ELO 評価を確立しました。
この結果は、すべてのテニスファンがすでに知っていることを裏付けるものであり、43 年間のデータによって裏付けられています。
ナダルのクレーコートでの最高評価は、フェデラーの芝コートでの最高評価を上回り、ジョコビッチのハードコートでの最高評価を上回り、また、あらゆるサーフェスにおける誰の史上最高評価も上回っています。
彼は全仏オープンで14回の優勝、ローランギャロスでは112勝4敗の成績を収めている。
ELOの公式は、物語や名声を気にせず、勝敗記録のみを扱います。そして、その結論は40年間のスポーツニュース報道と完全に一致しています。
ステップ7:天井に遭遇
データの準備とELOシステムのセットアップが完了した後、彼は分類器の学習を開始しました。このプロセスは、アルゴリズムの選択の重要性を完璧に示しています。
決定木: 74% の精度
単一の決定木で、データセット全体に対して74%の精度を達成しました。一見良さそうですが、ELO差だけで勝者を予測すると72%の精度しか得られないことに気づくまでは。
意思決定ツリーは、手動で構築したスコアリング システムと比べてほとんど改善をもたらしませんでした。
ランダムフォレスト:76%の精度
単一の決定木の問題は、その「高い分散」にあります。つまり、学習中に偶然選択されたデータのサブセットに過度に敏感になってしまうのです。標準的な解決策はランダムフォレストです。数十、あるいは数百もの決定木を構築し、それぞれ異なるランダムデータと特徴のサブセットで学習させ、最終的に多数決で予測結果を決定します。
94 個の異なる決定ツリーが集合的に各ゲームに投票します。
結果は76%。確かに改善は見られましたが、限界に達しました。ハイパーパラメータを調整したり、特徴量を再設計したり、データを操作したりしても、精度は77%を超えることができませんでした。
ステップ8:天井を突破する
次に彼は XGBoost を試しました。彼はこれを「ランダムフォレストのステロイド版」と呼んでいます。
重要な違いは、ランダムフォレストが並列にツリーを構築し、その結果を平均化するのに対し、XGBoostはツリーを順次構築することです。つまり、新しいツリーはそれぞれ、以前のすべてのツリーのエラーを修正するように特別に設計されています。XGBoostは、過学習を防ぐために正則化を導入し、トレーニングデータの暗記を避けるために各ツリーを意図的に小さく保ちます。
結果: 精度率 85%。
これは、ランダムフォレストの76%という上限と比較すると、大きな進歩です。同じデータ、同じ特徴量、唯一の違いはアルゴリズムです。
XGBoostは、ELO差、フィールド固有のELO差、そして全体のELOを最も重要な3つの特徴量として考慮します。チェスから借用したこのスコアリングシステムは、81の特徴量の中で最も強力な予測因子であることが検証されています。
比較対象として、彼は同じデータを用いてニューラルネットワークを学習させ、83%の精度を達成しました。これは良い結果ではありますが、XGBoostには及ばず、このデータセットではツリーベースの手法が勝利しました。
ステップ9:決定的瞬間 - 2025年全豪オープン
上記のコンテンツはすべて、2024 年 12 月以前のデータを使用してトレーニングされました。
2025年1月の全豪オープンはトレーニングキャンプの外で行われるため、完璧なテストの場となります。モデルは本当にテニスの本質を理解しているのでしょうか、それとも単に歴史的なパターンを暗記しているだけなのでしょうか?
彼はトーナメントの抽選結果をモデルに入力し、すべての試合を予測できるようにした。
結果:116試合中99試合を正しく予測し、誤った予測はわずか17試合でした。正解率:85.3%。
最も重要な予測:モデルは、トーナメント全体を通じて、Sinner(ELO システムで世界ランキング 1 位のプレイヤー)のすべての勝利を正確に予測しました。
AIは最初のボールが地面に落ちる前にグランドスラムのチャンピオンを予測しました。
結論
1 人の人間、1 台のラップトップ、独自のデータ、高価なインフラストラクチャ、研究チームなしで、最大 85% の精度でプロ テニスの予測モデルが構築され、トーナメントが始まる前にグランド スラムの優勝者を予測できるようになりました。
テニスのデータは GitHub で入手でき、完全に再現可能です。
奇跡を起こすことが今日ほど手の届くところにあったことはありません。
本当の違いはリソースにあるのではなく、それを実行する意思があるかどうかにあります。

