統計・機械学習モデリングで対数変換をする3つの目的
統計・機械学習モデリングの過程で説明変数を対数変換することがある。同じ対数変換でも目的や意味がいろいろあるのだが、計量経済学や機械学習といった各分野で別個に説明されているので、違いがわかりやすいように整理してみた。
対数変換の目的は大きく3つに分かれる。
- 変化率を表現する
- 分散不均一性に対応する
- 予測性能を高める
1は解釈、2はモデルの信頼性、3は予測の問題に関わる。
1. 変化率を表現する
関数はの十分近くで以下のように近似できる。
この式を以下のように変形すると、対数の差はの変化率を近似的に表すことがわかる。
ここで次の3つの線形回帰モデルを考える。
はが1%変化したときのの変化率を、はが1単位変化したときのの変化率を、はが1%変化したときのの変化量を表す。なお、ある変数の1%変化に対するほかの変数の変化率を弾力性という。
2. 分散不均一性に対応する
線形回帰モデルでは誤差の分散が均一であることが仮定される。もし分散が不均一ならば、係数の仮説検定に信頼が置けなくなる。
たとえば説明変数の値が大きくなるにつれて誤差が大きい場合、説明変数を対数変換することで不均一を是正できることがある。
3. 予測性能を高める
対数変換が特徴量エンジニアリングの一種としてなされることもある。特徴量エンジニアリングとは、特徴量を変換したり組み合わせたり集約したりすることで新しい特徴量を作成することであり、モデルの予測性能を高めるために使われる。
対数変換は対数正規分布のように裾が延びた分布の偏りを弱める働きをする。分布を正規分布へ近づける変換にBox-Cox変換があり、対数変換はBox-Cox変換の特殊な場合である。
なお、対数変換は決定木系(ランダムフォレスト、勾配ブースティングなど)のモデルでは使う意味がない。決定木のルールは説明変数の大小関係から作成され、対数変換は大小関係に影響を与えないからだ。
参考
現場のプロが伝える前処理技術 (Compass Booksシリーズ)
- 作者:石井 大輔(Team AI 代表),漆畑 充(株式会社Crosstab),及川大智,大下健史(BCI),オング優也
- 発売日: 2020/08/31
- メディア: Kindle版