楽屋

ロジスティック回帰

線形回帰の説明は省略するため、過去の弊社技術ブログをご覧ください

線形回帰とロジスティック回帰の違い

線形回帰は、従属変数が数値を予測するのに対し、ロジスティック回帰は、従属変数が2値の発生確率を予測します。この2値は、0又は1で表される有と無、正常と不正等の意味をさすため、判別分析とも言えます。

ロジスティック回帰の式

まずは重回帰の式から考えます。 \[ y = \alpha_{1} x_{1} + \cdots + \alpha_{i} x_{i} + \cdots + \alpha_{n} x_{n} + \beta = \sum_{i=1}^{n}\alpha_{i}x_{i} + \beta \tag{1} \] ここで、\(y\)は従属変数、\(x_{i}\)は説明変数、\(\alpha_{i}\)は回帰係数、\(\beta\)は切片を表します。 この\(y\)数値を予測していますが、ロジスティック回帰では、この\(y\)が、0、又は、1の値に限られます。つまり、この\(y\)の数値から0又は1に変換する必要があります。この処理がlogitと思ってもらえば良いでしょう。 式で表すと、以下のようになります。 \[ y = \text{logit}(p) = \log{\frac{p}{1-p}} \tag{2} \] (1)と(2)から以下のようになります。 \[ \log{\frac{p}{1-p}} = \sum_{i=1}^{n}\alpha_{i}x_{i} + \beta \tag{3} \] これを\(p\)について解きます。 この(3)を累乗します。 \[ \exp{\left(\log{\frac{p}{1-p}}\right)} = \exp{\left(\sum_{i=1}^{n}\alpha_{i}x_{i} + \beta\right)} \\ \frac{p}{1-p} = \exp{\left(\sum_{i=1}^{n}\alpha_{i}x_{i} + \beta\right)} \tag{4} \] この(4)の左辺が、オッズ比と呼ばれる値です。 さらに両辺に\(1-p\)を掛けます。 \[ p = \exp{\left(\sum_{i=1}^{n}\alpha_{i}x_{i} + \beta\right)}(1-p) \] 両辺に\(p\)の項を左辺に持ってきて、\(p\)でまとめます。 \[ p\left(1 + \exp{\left(\sum_{i=1}^{n}\alpha_{i}x_{i} + \beta\right)} \right) = \exp{\left(\sum_{i=1}^{n}\alpha_{i}x_{i} + \beta\right)} \] \(p\)のみにします。 \[ p = \frac{\exp{\left(\sum_{i=1}^{n}\alpha_{i}x_{i} + \beta\right)}}{1 + \exp{\left(\sum_{i=1}^{n}\alpha_{i}x_{i} + \beta\right)}} = \frac{1}{1 + \exp{\left(-\left[\sum_{i=1}^{n}\alpha_{i}x_{i} + \beta\right]\right)}} \tag{5} \] (5)は、シグモイド関数といい、この\(p\)が、0.5を境に0と1に変換されます。つまり \[ y = \begin{eqnarray} \begin{cases} 1 & \mbox{if}\; p \ge 0.5 \\ 0 & \mbox{if}\; p \lt 0.5 \end{cases} \end{eqnarray} \] 【説明変数の選択方法】 \(x_{i}\)の説明変数が多ければ多いほど、どの説明変数を使用して回帰分析すべきかが迷うと思います。ロジスティック回帰だけではなく、重回帰でも同様のことが言えます。 説明変数が多い場合、全ての説明変数を入れて線形回帰すべきではありません。まず、名前やID番号などの名義尺度の説明変数は、ロジスティック回帰の説明変数としては使用できません。 代表的な回帰での説明変数の選択方法が3つあります。
  • 変数増加法(Forward):説明変数の寄与率が前回よりも高ければ次の説明変数を一つずつ足して行く手法。
  • 変数減少法(Backward):全ての変数から寄与率の低い説明変数から削除して行く手法。
  • ステップワイズ法(Stepwise):まず1つ変数を増やし、計算結果を見て、その変数を回帰に使用する説明変数としておいておくかを判断する手法。最終的にどの組み合わせの説明変数の当てはまり具合が良いかを探して行く手法。
寄与率やAICなどを尺度にして決めて行った説明変数からロジスティック回帰に当てはめると以下の応用などに使用できます。

ロジスティック回帰の応用

下記のような結果が2値の値(1/0)で表されるケースに応用できます。
  • ダイレクトマーケティングを送って反応する人/しない人
  • クレジットカードのオーソリが不正取引/正常取引
  • 届いた電子メールが、スパムメールである/ない
  • 患者が、疾患を発症する/しない
上記以外にも応用例は沢山ありますが、ロジスティック回帰は色々なシチュエーションで、応用されています。