ロジスティック回帰 (2値問題)
はじめに
今回はロジスティック回帰(logistic regression)について、特にyの値が2値の場合を見ていきます。
医学の領域で使われることが多い分析方法です。回帰と名前についていますが、最終的にやっていることは分類です。
ロジスティック回帰の大まかな流れを掴むのが目的。
流れは以下の通り
- 設定
- ロジスティック回帰曲線
※最尤推定量の導出が難しいので次回示す。
設定
観測データ
y=1となる確率をpとおく。
つまり次のようなモデルを考える。
ただし、
Q. なぜこのような変換をしたか?
A.
具体例
-
10人中1人が合格する。
このとき確率
, オッズはp=\frac{1}{10} \frac{1}{9}=0.11 \log\left(\frac{p}{1-p}\right)=-2.2 -
10人中9人が合格する。
このとき確率
, オッズはp=\frac{9}{10} \frac{9}{1}=9 \log\left(\frac{p}{1-p}\right)=2.2
となりこの2つをみると、オッズには対称性がないが、対数を取ると対称性が出て比較しやすくなる。
ロジスティック回帰曲線
このモデルからpを求めると
となる。
最尤推定で
回帰曲線
が求められる。
この最尤推定は普通には解けないのですが、ニュートンラフソン法を用いることで解析的に解くことができます。(証明は長いので次の記事で書きます)
まとめ
今回は、ロジスティック回帰の設定から回帰曲線の導出までやりました。
なぜオッズの対数を取って比較しやすくするテクニックはなるほどなと思いました。
最尤推定の証明はこちらです。
最後に、どなたかMarkdownで枠を作ったりする方法ご存知でしたら、ご教示いただけると幸いです。Notionでいうコールアウトみたいにして定義などをみやすくしたいです。
参考文献
- 鈴木 譲 「統計的機械学習の数理100問 with Python」 p.47
Discussion