数値データ前処理

Prep

数値データ前処理

数値前処理のゴール #

「数値ならそのまま使えば良い」と思われがちですが、実務では以下の課題に直面します。

  • 単位やスケールが列ごとにバラバラで勾配が収束しない
  • 外れ値が損失を支配してロバスト性が落ちる
  • 欠損・ゼロ埋めの扱い次第でモデルが大きくブレる
  • 対数変換や Box-Cox などの変換をしないと線形性を捉えられない

データアナリストとしては、モデル種別・評価指標・ビジネス要件 を踏まえながら、スケーリングと変換の戦略を言語化しておくことが求められます。

カバーするトピック #

セクション目的主なアプローチ
標準化 / 正規化勾配型モデルを安定化StandardScaler, MinMaxScaler, RobustScaler
Power 変換非線形性を緩和対数変換, Box-Cox, Yeo-Johnson
外れ値処理ロバスト性の確保Winsorization, IQR フィルタ, Isolation Forest
欠損・ゼロの扱い情報損失を最小化Imputer + indicator, KNN/Iterative Imputer
特徴量生成モデルの表現力向上交互作用, 比率, ローリング統計

取り組み方のフレーム #

1. データ監査 #

  1. スケールと分布describe() やヒストグラムで、中央値・分散・歪度を把握。
  2. 異常値検出:IQR, z-score, モデルベース(IsolationForest)で候補を洗い出し、ビジネス要件と照合。
  3. 欠損パターン:時間帯・カテゴリによって欠損が集中していないかを確認。

2. モデル別の戦略 #

モデル前処理優先度備考
線形モデル / NNスケーリング必須StandardScaler または RobustScaler が基本
ツリーモデルスケーリング不要だが、外れ値処理やラベルエンコーディングが重要欠損はノード分岐に利用されるため意図的に残す場合も
勾配ブースティング (GPU)数値範囲を小さくすると安定例: LightGBM の max_bin と合わせて調整

3. モニタリング #

  • データドリフトを捉えるために、平均・分散・欠損率を定期的にダッシュボード化
  • 推論環境でスケーラーや変換器を同期できるよう、Pipeline / Feature Store で一元管理

アジェンダと導線 #

  1. 標準化と正規化StandardScaler, RobustScaler, MinMaxScaler の比較と選び方
  2. Power 変換 – 対数変換・Box-Cox・Yeo-Johnson の適用条件(値域・欠損)
  3. 外れ値処理 – Winsorize / Clip / IsolationForest / Quantile Transformer
  4. 欠損補完 – シンプルな中央値補完から多重代入、Indicator 付与まで
  5. 特徴量エンジニアリング – 比率・差分・ローリング統計・日次/週次特徴量

各ページではコード例とともに、バリデーションとの整合性や本番環境での再現性確保のポイントを記載しています。

チェックリスト(データアナリスト向け) #

  • モデルごとの前処理ポリシー(スケーリング有無、欠損対応)を資料化したか?
  • 外れ値を除外する場合、その根拠とビジネス影響を説明できるか?
  • 変換後の特徴量分布を確認し、想定外の値がないか検証したか?
  • スケーラーやエンコーダを保存し、推論パイプラインで再利用する設計になっているか?
  • データドリフト検知(平均・分散・欠損率)の監視をセットアップしたか?

この章を通じて、数値特徴量のクオリティを担保し、モデリングの再現性と安定性を確保するための指針を身につけてください。