AI Navigate

[P] ほとんどの ML 問題はモデリングの問題ではありません。データセットの問題です。

Reddit r/MachineLearning / 2026/3/12

💬 オピニオンIdeas & Deep AnalysisTools & Practical Usage

要点

  • 著者は、ML の成功は従来の精度指標よりも意思決定の有用性に依存すると主張し、予測の方向が間違っている場合に小さな RMSE を持つモデルでも損失につながり得ることを示しています。
  • 100 以上の実世界データセットと 5万を超えるモンテカルロシミュレーションを通じた1年以上の検証から、FIS(Forecast Investment Score)や CER(Confidence Efficiency Ratio)といった意思決定に整合した指標が、数値誤差が大きくても現実世界の成果を改善できることがあると示唆されています。
  • 本投稿は、データセットを十分に理解せずにモデリングに突入すること(EDA の時間、時系列構造、特徴の落とし穴)と、不適切なデータ分割や誤ったターゲット列での訓練という2つの繰り返しの問題を強調しています。
  • 要点は、正しい意思決定を支えるモデルの選択が結果を劇的に変える可能性があるという点で、データセット理解と指標選択の重要性を強調しています。

みなさん、こんにちは!

初投稿なので、もし規則を破っている箇所があれば事前にお詫びします。

私は実質、約2年間金融分野でMLE(機械学習エンジニア)として働いており、この間ずっと同じ問題にぶつかってきました。

  • 予測モデルを構築する
  • 素晴らしい指標を得る
  • それをデプロイする
  • そしてブーム、意味が分からず、完全にパフォーマンスが低下する。

この循環は延々と続き、十分だと感じた時、なぜそうなるのかを掘り下げ始める決意をしました。

私たちが最適化しているのは間違ったものだと気づくのに、あまりにも長い時間を要しました。

従来の指標は近さを最適化しますが、有用性は最終的には重視されません。結局私たちは予測の有用性を重視します。

重要なのは、その予測が正しい意思決定につながるかどうかです。

ごく簡単な例です(本当に過度に単純化しています)。

シナリオA:

株価を$101と予測します。実際の価格は$99。誤差は2ポイント

RMSE はこれを素晴らしい予測だと示します。

しかしあなたは上昇を予測し、価格は下落しました。
その信号で取引したら、お金を失いました

シナリオB:

あなたは$110と予測します。実際の価格は$105。誤差は5ポイント

RMSE はこれを悪いと示します。

しかしあなたは上昇を予測し、価格は上昇しました。
その信号で取引していれば、お金を稼いだでしょう。

従来の指標はシナリオAを好みます。

しかしシナリオBは実際に機能する予測です。

このアイデアを1年以上、100以上の実データセットと 5万を超えるモンテカルロシミュレーションで試しました。従来の指標を用いてモデルを選択すると、統計的誤差は小さくなるものの、取引成績は悪化しました。

意思決定に整合した指標(次に説明する FIS/CER)でモデルを選ぶと、数値的誤差は高くなることが多いですが、現実世界の結果は著しく改善されることがよくありました。

同じモデルでも、選択基準が異なれば結果は全く異なる。

2つ目の問題は、データセットを実際に理解する前にモデリングに飛び込んでしまうことで、EDA は時間がかかり、毎回すべての詳細をカバーできません。

次のような経験はありませんか:

  • データセットがグループ化された時系列データで、平坦な表形式データではないと気づく前にトレーニングを開始した
  • 間違ったターゲット列を選んだ
  • 誤ってターゲット由来の特徴量で訓練してしまった
  • 時系列データに対してランダムな train/test 分割を使用した
  • データの時間的ギャップに気づく前にハイパーパラメータの調整に何時間も費やした

そんな経験はもうたくさんです、もう勘弁してください。

実務では、これらの小さな問題のほとんどは何も訓練する前に検出できたはずですが、現実には見逃されがちです。

とはいえ、これらの小さな問題は以下の理由で通ってしまうのが現状です:

  • 手動の EDA は何時間もかかる場合があり(正直言ってとても退屈です)
  • 微妙な問題(リーク、識別子列)は見逃しやすい
  • データセットを詳しく調べるより、新しいモデルを試すほうが楽しい

多くの場合、悪いモデル性能に見えるものは、実際には悪い問題設定なのです。

結局、これらの2つの問題に対処する小さなツールを作りました。

1つの層は意思決定に整合した指標(FIS=Forecast Investment Score、CER=Confidence Efficiency Ratio)を用いて予測を評価します。平坦な予測と欠損1%のケースを同点とする条件下で、99%の頻度で従来の指標より優れた信号を示すように設計されており、従来指標が誤解を招く信号を出す場面を可視化します。

2つ目の層は、モデリングにデータセットの診断パスを実行し、次のような質問に答えようとします:

  • これは表形式データですか、それとも時系列データですか?
  • グループ化されたエンティティはありますか?
  • リークのリスクはありますか?
  • 最も妥当なターゲット列は何ですか?
  • どの検証戦略が実際に意味をなしますか?
  • どの変換をすべきか、そしてなぜ
  • このデータセットにはどのモデルを使うべきか、そしてなぜ
  • ALL EDA は意思決定のためにツール内で実行されます
  • 最後に、データセット全体の健全性を見て、モデリングの前に改善すべき点を検討します

目的は、通常は2時間程度の EDA の後に現れる、あるいは全く現れないような問題を摘出することです。

今後は、このデータセットの知見に基づくAuto-MLを可能にするプラットフォーム拡張を予定しており、以下を含む予定です:

  • 自動特徴量エンジニアリング
  • 自動ハイパーパラメータ調整
  • 自動モデル選択とモデルサイズ(NN の場合)
  • 分析中に行われたすべての意思決定の詳細な説明
  • 最終モデルは有用性(FIS/CER)に基づいて直接選択
  • 他にも多数のアイデア

もちろんまだ多くの作業は残っていますが、UX やプラットフォームに関わる基盤システムを含むあらゆるフィードバックを歓迎します。質問があれば喜んでお答えします!

もし試してみたい方は、こちらです:

quantsynth.org

サインアップ不要、データセットまたは予測ファイルをアップロードするだけです。

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