数値前処理のゴール #
「数値ならそのまま使えば良い」と思われがちですが、実務では以下の課題に直面します。
- 単位やスケールが列ごとにバラバラで勾配が収束しない
- 外れ値が損失を支配してロバスト性が落ちる
- 欠損・ゼロ埋めの扱い次第でモデルが大きくブレる
- 対数変換や Box-Cox などの変換をしないと線形性を捉えられない
データアナリストとしては、モデル種別・評価指標・ビジネス要件 を踏まえながら、スケーリングと変換の戦略を言語化しておくことが求められます。
カバーするトピック #
| セクション | 目的 | 主なアプローチ |
|---|---|---|
| 標準化 / 正規化 | 勾配型モデルを安定化 | StandardScaler, MinMaxScaler, RobustScaler |
| Power 変換 | 非線形性を緩和 | 対数変換, Box-Cox, Yeo-Johnson |
| 外れ値処理 | ロバスト性の確保 | Winsorization, IQR フィルタ, Isolation Forest |
| 欠損・ゼロの扱い | 情報損失を最小化 | Imputer + indicator, KNN/Iterative Imputer |
| 特徴量生成 | モデルの表現力向上 | 交互作用, 比率, ローリング統計 |
取り組み方のフレーム #
1. データ監査 #
- スケールと分布:
describe()やヒストグラムで、中央値・分散・歪度を把握。 - 異常値検出:IQR, z-score, モデルベース(IsolationForest)で候補を洗い出し、ビジネス要件と照合。
- 欠損パターン:時間帯・カテゴリによって欠損が集中していないかを確認。
2. モデル別の戦略 #
| モデル | 前処理優先度 | 備考 |
|---|---|---|
| 線形モデル / NN | スケーリング必須 | StandardScaler または RobustScaler が基本 |
| ツリーモデル | スケーリング不要だが、外れ値処理やラベルエンコーディングが重要 | 欠損はノード分岐に利用されるため意図的に残す場合も |
| 勾配ブースティング (GPU) | 数値範囲を小さくすると安定 | 例: LightGBM の max_bin と合わせて調整 |
3. モニタリング #
- データドリフトを捉えるために、平均・分散・欠損率を定期的にダッシュボード化
- 推論環境でスケーラーや変換器を同期できるよう、
Pipeline/Feature Storeで一元管理
アジェンダと導線 #
- 標準化と正規化 –
StandardScaler,RobustScaler,MinMaxScalerの比較と選び方 - Power 変換 – 対数変換・Box-Cox・Yeo-Johnson の適用条件(値域・欠損)
- 外れ値処理 – Winsorize / Clip / IsolationForest / Quantile Transformer
- 欠損補完 – シンプルな中央値補完から多重代入、Indicator 付与まで
- 特徴量エンジニアリング – 比率・差分・ローリング統計・日次/週次特徴量
各ページではコード例とともに、バリデーションとの整合性や本番環境での再現性確保のポイントを記載しています。
チェックリスト(データアナリスト向け) #
- モデルごとの前処理ポリシー(スケーリング有無、欠損対応)を資料化したか?
- 外れ値を除外する場合、その根拠とビジネス影響を説明できるか?
- 変換後の特徴量分布を確認し、想定外の値がないか検証したか?
- スケーラーやエンコーダを保存し、推論パイプラインで再利用する設計になっているか?
- データドリフト検知(平均・分散・欠損率)の監視をセットアップしたか?
この章を通じて、数値特徴量のクオリティを担保し、モデリングの再現性と安定性を確保するための指針を身につけてください。