AI Navigate

[P] 決定論的物理シミュレータの上に残差ML補正を乗せてF1戦略を予測する

Reddit r/MachineLearning / 2026/3/16

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • F1Predict というレースシミュレーションシステムを提示します。決定論的なベースラインと、Monte Carlo シミュレーションの前にペース差を調整するため、FastF1 テレメトリを用いて訓練された残差 LightGBM モデルを組み合わせています。
  • 各ドライバー・各レースにつき、10,000回の反復モンテカルロを実行してP10/P50/P90分布を生成します。補助的なセーフティカーのハザード分類器が、ラップウィンドウごとにピット戦略の確率を変調します。
  • 特徴量バージョニング(タイヤ年齢 × コンパウンド、予選デルタ、セクター分散、DRS発動率、トラックの進化、天候デルタ)を備え、ウェブ応答時間を合理的に保つため、別個に400回の反復で戦略最適化を実行します。
  • 学習済みアーティファクトが存在しない場合、MLパスは優雅に劣化し、決定論的ベースラインへフォールバックし、リクエストの sha256 でキー付けされた Redis に結果をキャッシュします。
  • 公開リポジトリとライブデモを備えた学習用プロジェクトであり、著者はモデリングの選択とアーキテクチャについての議論を呼びかけています。

CSEの学生として取り組んでいる個人的なプロジェクト: F1Predict、レースのシミュレーションと戦略インテリジェンスシステム。

アーキテクチャの概要:

- 決定論的ラップタイムエンジン(タイヤの経年、燃料搭載量、DRS、交通)をベースラインとして

- LightGBM 残差モデルを、過去のテレメトリデータを用いてペースのデルタを補正 — モンテカルロ実行前のドライバープロファイル生成へ組み込む

- 10,000回の反復モンテカルロ法が、各ドライバー・各レースごとにP10/P50/P90分布を生成

- 補助的なセーフティカー危険度分類器(1周ウィンドウごと)を用いてシミュレーション内のSC確率を調整

- パイプライン内の特徴量のバージョニング: タイヤの経年 × コンパウンド、予選デルタ、セクター分散、DRS作動率、トラック進化係数、天候デルタ

- ウェブの応答時間を妥当な範囲に保つため、400回の反復で実行される戦略最適化(メインMCエンジンとは別系統)

MLレイヤーは訓練済みアーティファクトが存在しない場合には適切に劣化し、シミュレーションは決定論的なベースラインへクリーンにフォールバックします。Redisは正規化されたリクエストのsha256をキーとして結果をキャッシュします。

現時点の制限: v1の残差アーティファクトはより広い歴史データセットでのトレーニングを継続中のため、MLと決定論的パスの出力は現状では接近しています。足場づくりとガバナンスは整っています。

スタック: Python · FastAPI · LightGBM · FastF1 · Supabase · Redis · React/TypeScript

リポジトリ: https://github.com/XVX-016/F1-PREDICT

ライブ: https://f1.tanmmay.me

モデリング手法や特徴量エンジニアリングの選択、あるいはアーキテクチャ的に問題がある点についても喜んで議論します。これは学習プロジェクトであり、技術的なフィードバックを心から評価します。

投稿者 /u/CharacterAd4557
[リンク] [コメント]