ロジスティク回帰のまとめ

統計学

研究でロジスティク回帰を使った.
ロジット関数や, ニクラスの場合のシグモイド関数, 多クラスの場合などのケースでやや異なるためそのあたりをまとめたい.

そもそもの基礎

ロジスティク回帰の役割を知るためにまず2値応答から始める.

2値応答

結果(出力)Yが「0か1のどちらか」になるような状況を考える.
・あるメールがスパム(1)かスパムでない(0)か
・ある患者が病気(1)であるか, 健康(0)であるか
このように、2つの選択肢しかない結果のことを「2値応答」という。

ベルヌーイ分布

Yのような「0か1になる」変数は、ベルヌーイ分布に従うと考える.
・Y=1になる確率を$\pi$とする
・Y=0になる確率は$1-\pi$ つまり, Yは次のようにふるまうことになる.
\begin{gather}
P(Y=1)=\pi, \ P(Y=0)=1-\pi
\end{gather}

期待値

確率変数Yの期待値(平均)は,
\begin{gather}
E[Y]=1\times \pi+0\times(1-\pi)=\pi
\end{gather}
したがって, $\pi$は「Yが1になる確率」でもあり、「Yの期待値」でもある.

説明変数での予測

Yが1になる確率$\pi$を、いくつかの説明変数(入力)$x_1$, $x_2$,,,$x_p$を使って予測したい.
例えば、病気かどうかを$Y$で表し, $x_1$:体温, $x_2$:鼻水は出るか, $x_3$:吐き気はするか,,,,
このとき、$\pi$を説明変数の関数としてあらわすのがロジスティク回帰の目的.

すぐに思いつく回帰式は次の式である.
\begin{gather}
\pi = \beta_0+\beta_1x_1+\beta_2x_2+\cdots +\beta_px_p \tag{1}
\end{gather}
しかし, これだと$\pi$が1を超えたり, マイナスになる可能性がある.
$\pi$は常に$0<\pi<1$である必要がある.ここで登場するのがオッズである. 確率をオッズに変換することでこの問題($\pi$が1を超えるという問題)を解決する.

オッズとは

オッズとは, 「成功する確率」と「失敗する確率」の比であり, 次の式であらわされる.
\begin{gather}
odds = \frac{\pi}{1-\pi}
\end{gather}
例えば, $\pi=0.8$のとき, オッズは$\frac{0.8}{0.2}=4$, $\pi=0.5$のとき, オッズは$\frac{0.5}{0.5}=1$, $\pi=0.2$のとき, オッズは$\frac{0.2}{0.8}=0.25$となる.
オッズが4であるというのは,「成功する確率は失敗する確率の4倍である」という意味.
つまり, 成功が失敗よりも4倍起こりやすいという状況のことである.


しかし, オッズを使ったとしても式(1)の右辺はマイナスになる可能性がある.
右辺がマイナスになったときでも, 左辺の取りうる範囲は0から無限大である.
そこで, オッズを対数にする.
log関数は,「1未満の値」を入れると負の値になるため変換に使える.(表1参照)

表1 オッズとlogオッズの関係

Log(オッズ)はオッズとは違い, 直接解釈しない. 例えば, オッズ=4とは、「成功は失敗の4倍起こりやすい」と分かりやすい. しかし, log(オッズ)=1.39において、1.39が直接何かを意味するわけではない. これは, オッズがe^1.39≈4ということを間接的に意味する.

$\beta$の解釈と意味

\begin{gather}
\log{\frac{\pi}{1-\pi}}=\beta_0+\beta_1x_1+\cdots +\beta_px_p \tag{2}
\end{gather}
式(2)のように, オッズに対数をつけると, ロジットと呼ばれる.
これは, 対数のほうも, 多項式の方も, 両方ロジットと表現される.
なお, $\pi$は変わらず, 成功確率である.

ここで, $\beta$の意味を考える.
式(2)において, 仮に$\beta_j=0.7$だったとき, $x_j$が1増えると, オッズが$e^{0.7}\approx 2.01$より約2倍になる.(確率ではない)

仮に, $\beta_4$が一番$\beta$の中で大きかったとする.
このとき, $x_4$の特徴量が最も成功確率に寄与するといえる.

オッズから確率への変換

オッズを$\frac{\pi}{1-\pi}$と定義しているため, $\pi$についてとくと,
\begin{gather}
\pi = \frac{odds}{1+odds}
\end{gather}
で求まる.

オッズとオッズ比について

オッズとオッズ比の違いを理解するために次の例を考える.
\begin{gather}
\log \frac{\pi}{1-\pi} = -3.77+0.14x_1 \tag{3}
\end{gather}
この時, オッズである$\frac{\pi}{1-\pi}$をとくと,
\begin{gather}
\frac{\pi}{1-\pi}=e^{-3.77+0.14x_1}=e^{-3.77}e^{0.14x_1}
\end{gather}
となる.
オッズ比は, $x_1$が1増えたときの比で求まる.
\begin{gather}
\frac{e^{-3.77}e^{0.14(x_1+1)}}{e^{-3.77}e^{0.14x_1}}=e^{0.14}=1.15
\end{gather}

オッズ比が1以上ということには意味がある.
$x$が上がれば$y$も上がる, のような関係がオッズ比1以上の意味するところで,
例えば, 中間テストの点数と合格率の関係がそれである.
中間テストの点数が高ければ高いほど, 合格する確率も上がる.

つまり, $e^{\beta_i}$が1以上の場合, $x_i$の特徴量が高いほど, 成功確率を上げるということを意味する.
反対にオッズ比が1未満の時を考える.
このときは, $x$が上がれば$y$が下がるという関係を持つ.
例えば, 運動量とガンの疾患率などである.
運動すればするほど, ガンに罹患する確率は下がる場合, オッズ比は1未満となる.
この場合, $e^{\beta_i}$が1未満になり, $x_i$が高ければ高いほど, 成功確率を下げるということを意味する.

シグモイド関数との関係

式(3)の両辺はロジットと呼ばれる.
この式に含まれる成功確率である$\pi$について解くと,
\begin{gather}
\pi = \frac{1}{1+e^{-(3.77+0.14x_1)}} \tag{4}
\end{gather}
となる.
式(4)の形をよく見ると, シグモイド関数と同じ形をしている.
シグモイド関数は次の式で表現され, グラフで表現すると, 図1のようになる.
\begin{gather}
f(x) = \frac{1}{1+e^{-x}}
\end{gather}

図1 シグモイド曲線

式(4)は訓練データにより求められる.
ここに, テストデータ用に残していたデータを$x$に代入し, 確率(0~1)を得る.
すると, 図2のようにシグモイド関数上に点をプロットできる.(図2は理想)
最終的には, 0.5以上であれば1, 0.5未満であれば0と判定する.

図2 サンプルデータとシグモイド曲線


多クラスの場合

2クラスの場合は,上記に示したシグモイド関数により2つに分けることができる.
一方で, 3クラス以上の場合はソフトマックス関数を使う.
ソフトマックス関数は次の式で表現される.
\begin{gather}
P_i = \frac{e^{z_i}}{\sum^{N}_{k = 1}e^{z_k}} \tag{5}
\end{gather}
この式で$K=2$のときが、2クラスの場合に該当する. つまり, ソフトマックス関数は, シグモイド関数を包含する関係にある.
実際に$K=2$の時を考えると,
\begin{gather}
P_1 = \frac{e^{z_1}}{e^{z_1}+e^{z_2}},\ \ P_2 = \frac{e^{z_2}}{e^{z_1}+e^{z_2}}
\end{gather}
確率は相対的なので, どの$z_k$に同じ定数を足しても結果は変わらない.
\begin{gather}
\frac{e^{z_1+c}}{e^{z_1+c}+e^{z_2+c}}=\frac{e^{z_1}}{e^{z_1}+e^{z_2}}
\end{gather}
そのため便宜的に,$z_2=0$と置いても問題ない.
すると,
\begin{gather}
P_1 =\frac{e^{z_1}}{e^{z_1}+1}=\frac{1}{1+e^{-z_1}}
\end{gather}
と変形でき, この式がシグモイド関数となる.
なお, 2クラスの場合は1つのロジット$z_1$があれば確率が求まる.言っていることはそれと同じである.


ちなみに, 「One-Vs-Rest」と呼ばれる方法も使われる.
これはA vs (B,C), B vs (A,C), C vs (A,B)で2値分類のロジスティック回帰モデルを三つ作る.
ラベルは順に, Aが1, Bが1, Cが1とする.
検証用のデータを3つのモデルに入力し, 最も確率の高かった正令を予測値とする.
この手法はモデルが直観的であり, 2クラスの手法をそのまま使えるため理解しやすい.
しかし, 各モデルは独立に計算されるため, 確率の合計が1にならない.
(P(A)=0.2, P(B)=0.5, P(C)=0.8みたいになる可能性がある. 確率の解釈は相対的であり, 正規化された確率ではない.)また, 3つの分類ならいいが, この数が大きくなると大変. K個を分けるにはK個のモデルが必要だからである.


コメント

タイトルとURLをコピーしました