
2026/03/17 3:16
私のランダムフォレストは、主に有効期限までの時間(Time‑to‑Expiry)ノイズを学習していました。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
(欠落していたポイントを組み込む)
要約
著者は、短期ビットコイン価格変動を予測するランダムフォレストモデルを改良し、特徴量最適化の指針として「Out‑of‑Sample Permutation Feature Importance(OOS)」の使用に重点を置いています。OOS はトレーニングセットで学習し、検証データ内の一つの特徴量を入れ替えて外部サンプル AUC の低下を測定します。scikit‑learn のデフォルト Gini 重要度は高カードリナリティ(多値)特徴に偏り、トレーニングデータに大きく依存し、相関変数に等しい重みを与えるため、OOS が選択されました。現在のモデルは5 分間ビットコイン移動に対して AUC 0.7566 を達成しています―つまり、勝ちウィンドウと負けウィンドウを約 76 % の確率で正しくランク付けできることを意味します。しかし予測力は単一の時間関連特徴量(「seconds_to_settle」)に支配されており、過学習や先読みバイアスの可能性が示唆されます。これは、他の変数よりも時刻/満期時間への依存が強いことを意味します。継続的な作業では特徴量のクリーンアップと OOS 手法のさらなる最適化に取り組み、この支配的変数への依存度を減らすことを目指しています。成功した場合、よりバランスの取れたモデルはトレーダーや金融機関に信頼できる短期ビットコイン予測を提供できます。失敗した場合は誤ったシグナルを生成し、金銭的損失につながる可能性があります。
本文
ランダムフォレストのパラメータを調整した後、訓練に使用する特徴量の最適化へ注力しました。
既に小規模なクリーニングは実施済みでしたが、各特徴量の予測重要度はまだ評価されていませんでした。
特徴量の関連性を検証するために Out‑of‑Sample Permutation Feature Importance(OOS) を採用しました。
OOS の手順は主に3つあります:
- 訓練データでランダムフォレストを一度学習させる。
- 検証データ(テストセット)を取り出し、ある特徴量の値だけをその列内でシャッフルしたデータを手順 1 で学習したモデルに渡す。
- シャッフルによって予測性能が 有意に低下 する場合、その特徴量は重要とみなされる。
「アウト・オブ・サンプル」なのは、訓練データと評価データを分離し、ノイズの影響を抑えるためです。
scikit‑learn のデフォルトでは Gini Importance で特徴量を順位付けしますが、私のデータセットには不適切です:
- 高い 高次元バイアス があり、連続変数に有利。
- Gini は訓練データのみで計算される。
- 2つの特徴量が相関していると、フォレストは各ノードで片方を選び、Gini は重要度を分割します。
結果として得られた 0.7566 のアウト・オブ・サンプル AUC は、5 分間のビットコイン価格変動予測に対して現実的には高すぎます。
もしこれが真に正しいなら、ランダムに選んだ勝ちと負けの 5 分間区間で、モデルが約 76 % の確率で勝者を上位に評価できることになります。
つまりこれは金融機関を凌駕する驚異的な成果か、あるいは lookahead バイアス / 過学習 によって指標が膨らんでいる可能性があります。
結論: 「seconds_to_settle」特徴量がモデルに支配的であり、実質的にフォレストは時間帯/満期までの時間からほぼ全てを学習しています。
現在、この特徴量のクリーニングと追加検証作業を進めています。