BellCurve 統計WEB

無料講座5つプレゼント
無料登録してPythonを学ぶ
  • Step2. 中級編
  • 7. 多変量解析

7-1. ロジスティック回帰分析1


ロジスティック回帰分析は、目的変数が0と1からなる2値のデータ、あるいは0から1までの値からなる確率などのデータについて、説明変数を使った式で表す方法のことです。ロジスティック回帰分析を行うと、説明変数を用いてある事象が起こる確率を予測することができます。

目的変数が0/1からなる2値データ YY=1となる確率を p(Y=1)n 個の説明変数 X をそれぞれ x_1,\ x_2,\ \cdots,\ x_n、偏回帰係数をそれぞれ \beta_0,\ \beta_1,\ \cdots,\ \beta_n とすると、ロジスティック回帰モデルは次の式で表すことができます。

 \displaystyle log \left( \frac{p(Y=1)}{1-p(Y=1)} \right) = \beta_0 + \beta_1x_1 + \beta_2x_2 + \cdots + \beta_nx_n

このとき、p(Y=1)\displaystyle log \left( \frac{p(Y=1)}{1-p(Y=1)} \right) に変換することで、0から1の間の値しか取らない p(Y=1)-\infty から +\infty までの値を取る連続データに変換することができます。

  • p(Y=1) \rightarrow 0 のとき \displaystyle log \left( \frac{p(Y=1)}{1-p(Y=1)} \right) \rightarrow -\infty
  • p(Y=1) \rightarrow 1 のとき \displaystyle log \left( \frac{p(Y=1)}{1-p(Y=1)} \right) \rightarrow +\infty

ロジット変換により目的変数が取りうる値に制約がなくなるため、線形モデルとして偏回帰係数を推定することができます。

■ロジット変換とロジスティック変換

0/1からなる2値データ YY=1となる確率を P=p(Y=1) とおいたときに、発生確率 P を対数オッズに変換することを「ロジット変換」といいます。また、対数オッズのことを「ロジット(logit)」といいます。

 \displaystyle logit(P) = log \left( \frac{P}{1-P} \right)

次に、ロジットの逆関数を計算してみます。y=logit(P) とおくと、

     \begin{eqnarray*} \displaystyle y &=& log \left( \frac{P}{1-P} \right) \\ e^{y} &=& \frac{P}{1-P} \\ e^{y}-Pe^{y} &=& P \\ P(1+e^{y}) &=& e^{y} \\ P &=& \frac{e^{y}}{1+e^{y}} = \frac{1}{1+e^{-y}} \\ \end{eqnarray*}

となります。ロジットの逆変換を「ロジスティック変換」といいます。また、\displaystyle f(y) = \frac{1}{1+e^{-y}} で表される関数のことを「ロジスティック関数」といいます。

ロジスティック関数は「シグモイド関数」と呼ばれる場合もあります。この図から分かるように y がどのような値をとっても、f(y) は0から1の間の値しか取りません。このシグモイド関数の特徴を用いて、線形モデルによる値が入力である場合に0から1の間の値として結果を出力するような回帰式を推定するのがロジスティック回帰分析です。

■ロジスティック回帰分析における偏回帰係数の推定

ロジスティック回帰分析における偏回帰係数の推定には最尤法を用います。最尤法とは、与えられた観測値から尤度を最大にするようなパラメーターを推定する方法のことで、最尤法によって推定された値を最尤推定値といいます。簡単に言うと、「いろいろなパラメーターの値を使ってある事象が起こる確率を計算してみて、一番確率が高くなったときにその値をパラメーターの推定値にする」という方法です。

2値データ YY=1となる確率を P=p(Y=1)Y=0となる確率を 1-P=p(Y=0)とします。n 個のデータからなる Y(Y_1,\ Y_2,\ \cdots,\ Y_n) が互いに独立であり p(Y_i=1)=P_i であるとき、尤度 L は次の式から計算できます。

 \displaystyle L = \prod_{i=1}^{n} P_i^{Y_i}(1-P_i)^{1-Y_i}

積のままだと計算がめんどくさいので、対数を取って和の形にします。これを対数尤度関数といいます。

     \begin{eqnarray*} \displaystyle log(L) &=& log \left( \prod_{i=1}^{n} P_i^{Y_i}(1-P_i)^{1-Y_i} \right) \\ &=& \sum_{i=1}^n \left\{Y_i logP_i + (1-Y_i)log(1-P_i) \right\} \end{eqnarray*}

先程算出した式を対数尤度関数に代入し、対数尤度関数が最大となるように \beta_0,\ \beta_1,\ \cdots,\ \beta_n の値を計算します。

 \displaystyle P = \frac{1}{1+e^{-y}} = \frac{1}{1+e^{-(\beta_0 + \beta_1x_1 + \beta_2x_2 + \cdots + \beta_nx_n)}}

計算によって算出された \hat{\beta_0},\ \hat{\beta_1},\ \cdots,\ \hat{\beta_n} を最尤推定量といいます。この計算にはニュートン=ラフソン法(ニュートン法)を使います。

発生確率の予測値は、算出した最尤推定量を用いて次のように計算できます。

 \displaystyle \hat{P} = \frac{1}{1+e^{-(\hat{\beta_0} + \hat{\beta_1}x_1 + \hat{\beta_2}x_2 + \cdots + \hat{\beta_n}x_n)}}

7. 多変量解析


統計学やデータ分析を学ぶなら、大人のための統計教室 和(なごみ) [業務提携]


統計WEBを運営するBellCurveは、統計解析ソフト「エクセル統計」を開発・販売しています! 統計解析ソフト「エクセル統計」をインストール後のExcel上のタブとメニュー エクセル統計ジャケット画像


【BellCurve監修】統計検定®2級対策に最適な模擬問題集1~3を各500円(税込)にて販売中!

Kindleストアで配信中

統計検定®2級 模擬問題集1

500円(税込)

統計検定®2級 模擬問題集2

500円(税込)

統計検定®2級 模擬問題集3

500円(税込)