【特徴量の作り方と考え方 】その11:機械学習用特徴量

クオンツ構築

機械学習モデルに特徴量を投入する際、最も重要なのは「予測に寄与する構造を正しく捉え、学習しやすい形に整える」ことです。

ここでは、特徴量設計の基本から、スケーリング、評価指標(IC)まで、具体例を交えて解説します。


⭐ 特徴量とは「モデルへの入力変数」

例えば、翌日の株価上昇を予測するモデルを作る場合:

  • モデル:XGBoost や LightGBM
  • 目的変数(ターゲット):翌日の騰落(1 or 0)
  • 特徴量:その前日までのRSI、MACD、終値のZスコアなど

⭐ スケーリングが重要な理由

異なる桁の特徴量をそのまま扱うと、モデルの重みが偏りやすくなります。

✅ ダメな例:

  • 特徴量1:終値 = 32,580(価格ベース)
  • 特徴量2:RSI = 65(0〜100)
  • 特徴量3:MACD = 0.28

→ 終値のスケールが大きすぎて、モデルが価格の差ばかりに反応してしまう。

✅ 良い例:Zスコア化 or 正規化済み

  • 終値Zスコア = +1.5
  • RSI = 0.65(0〜1に変換)
  • MACD = 0.28(ATRなどでスケール調整済)

→ モデルがどの特徴量も平等に扱えるようになり、精度・解釈性が向上します。


⭐ Zスコアによる標準化(スケーリング)

Zスコア =(値 − 過去平均)÷ 標準偏差

✅ 実例:終値のZスコア(過去20日)

  • 本日終値 = 33,200
  • 20日平均 = 32,000、標準偏差 = 400
  • Zスコア = (33,200 – 32,000) ÷ 400 = +3.0

→ 通常より3σ上にある=過熱ゾーンに位置

✅ スケール統一の重要性

例えば、日経平均株価の終値(35,000円)と、前日のリターン(+1.25%)を比較したい場合、数値の桁があまりにも異なるため、直接比較するのは困難です。

しかし、Zスコアで標準化すれば:

  • 終値Zスコア:+1.5(過去水準と比べて高い)
  • 前日リターンZスコア:+0.5(やや上昇)

このように、同一のスケーリングで比較できるため、判断の正確性が大幅に向上します。


⭐ IC(Information Coefficient)で効果を数値化

各特徴量が「どれくらいターゲット(翌日リターンなど)と相関があるか」を確認することで、有効な特徴量を選定します。

✅ 実例:

  • RSI_5 のIC(20期間) = +0.12 → 有効
  • PBR のIC = −0.01 → ノイズ or 無関係

ICが +0.05 以上なら有効候補として採用。


⭐ 特徴量の例と加工方法

特徴量加工方法備考
RSI(5日)/100(0〜1に)必ずスケーリングする
HV(20日)Zスコア化平常 or 異常を判断しやすく
移動平均乖離Zスコア or %に変換距離のスケールを整える
出来高過去平均比 or 対数変換異常出来高を検出しやすく

⭐ 複数特徴量の合成(スコア式)にも応用

例:

Score = 0.4 × RSI_z + 0.3 × MACD + 0.3 × 終値乖離率_z

→ 全てスケールをそろえてあるので加重平均しても意味がぶれない。


⭐ まとめ

機械学習用の特徴量は、「構造をもつ」「比較できる」「学習しやすい」形に整える必要があります。

そのためには:

  • Zスコアや0〜1スケーリングで正規化
  • ICで有効性を定量的に検証
  • スケール整備で複数特徴量を合成可能に

「そのままの数値」を使いがちですが、実際には“変換済み”でない特徴量は精度を下げる原因にもなります。

📘 次回は「結合・進化型特徴量」について解説します。

タイトルとURLをコピーしました