統計・機械学習モデリングで対数変換をする3つの目的

統計・機械学習モデリングの過程で説明変数を対数変換することがある。同じ対数変換でも目的や意味がいろいろあるのだが、計量経済学機械学習といった各分野で別個に説明されているので、違いがわかりやすいように整理してみた。

対数変換の目的は大きく3つに分かれる。

  1. 変化率を表現する
  2. 分散不均一性に対応する
  3. 予測性能を高める

1は解釈、2はモデルの信頼性、3は予測の問題に関わる。

1. 変化率を表現する

関数ln\ x\overline{x}の十分近くで以下のように近似できる。

\displaystyle ln\ x \approx ln\ \overline{x}+\frac{1}{x}(x-\overline{x})

この式を以下のように変形すると、対数の差はxの変化率を近似的に表すことがわかる。

\displaystyle\frac{x-\overline{x}}{\overline{x}} \approx ln\ x-ln\ \overline{x}

ここで次の3つの線形回帰モデルを考える。

  1. ln\ y= \alpha_1+\beta_1 ln\ x
  2. ln\ y= \alpha_2+\beta_2 x
  3. y= \alpha_3+\beta_3 ln\ x

\beta_1xが1%変化したときのyの変化率を、\beta_2xが1単位変化したときのyの変化率を、\beta_3xが1%変化したときのyの変化量を表す。なお、ある変数の1%変化に対するほかの変数の変化率を弾力性という。

2. 分散不均一性に対応する

線形回帰モデルでは誤差の分散が均一であることが仮定される。もし分散が不均一ならば、係数の仮説検定に信頼が置けなくなる。

たとえば説明変数の値が大きくなるにつれて誤差が大きい場合、説明変数を対数変換することで不均一を是正できることがある。

3. 予測性能を高める

対数変換が特徴量エンジニアリングの一種としてなされることもある。特徴量エンジニアリングとは、特徴量を変換したり組み合わせたり集約したりすることで新しい特徴量を作成することであり、モデルの予測性能を高めるために使われる。

対数変換は対数正規分布のように裾が延びた分布の偏りを弱める働きをする。分布を正規分布へ近づける変換にBox-Cox変換があり、対数変換はBox-Cox変換の特殊な場合である。

なお、対数変換は決定木系(ランダムフォレスト、勾配ブースティングなど)のモデルでは使う意味がない。決定木のルールは説明変数の大小関係から作成され、対数変換は大小関係に影響を与えないからだ。

参考

人文・社会科学の統計学 (基礎統計学)

人文・社会科学の統計学 (基礎統計学)

  • 発売日: 1994/07/01
  • メディア: 単行本
 
Kaggleで勝つデータ分析の技術

Kaggleで勝つデータ分析の技術