$m$次元の入力データ$x=(x_1,x_2,・・・,x_m)$に対する線形回帰モデル$y=b^{T}x($成分ごとに書くと$y=b_{1}x_{1}+b_{2}x_{2}+・・・+b_{m}x_{m})$を応用したモデルとして、ロジスティック回帰モデルがあります。これはある事象が発生する確率を表現したモデルです。
ロジスティック回帰分析の実用例として、様々な因子$x$に対して病気になるかどうかの判定に使われています。この場合、$x$には例えばアルコール量、たばこの本数、血圧などがあり、これらの因子から分析して病気が発症するか否か判定するわけです。
線形回帰の場合
$x_1~x_m$:データの説明変数でデータの特徴量をここに入力します。
$b_1~b_m$:モデルのパラメータです。最適な予測ができるように調整する部分です。
$y$:データの出力結果です。新たなデータ$x$を入力した時に予測される数値です。
※このときの$y$は入力の値$x_1~x_n$によって際限なく大きくなります。取りうる範囲は$(-\infty,\infty)$です。
ロジスティック回帰分析のモデル構築
予測したいのは確率なので、先ほどの$y$のところを$p$と置くことにします。まず線形回帰分析のように$p=b^{T}x$とします。そうすると、この$p$は$(-\infty,\infty)$を取りうるので確率の表現として不適合です。そこで線形回帰分析の式を少し変形します。
◆オッズにする
$p$→$\frac{p}{1-p}$を$p$のオッズといいます。これは発生する確率が発生しない確率の何倍あるかを示しています。$\frac{p}{1-p}=b^{T}x$として$p$について解くと、$p=\frac{b^{T}x}{1+b^{T}x}$となります。
しかし、$p$の範囲は特異点$-1$を除いて$(-\infty,\infty)$となるので、これでもまだ不適合です。そこで更に対数をとってみます。
$p$→$\log(\frac{p}{1-p})$とします。これをロジット変換といいます。これで$p$について解くと、$$p=\frac{\exp(b^{T}x)}{1+\exp(b^{T}x)}$$となります。これで$p$の範囲が$(0,1)$に収まります。$p$は両端の$0$と$1$はとらないですが、どれくらいの確率かが知りたいわけで、その中で絶対起きる、絶対起きないという判断は必要ない(というよりトレーニングデータは全事象を網羅していないので判断するべきではない)ため、範囲はこれで適切です。
学習に使う教師データの出力は結果のみの情報なので、その裏にある確率は分かりません。つまり結果情報は発生したか(1を出力)、発生していないか(0を出力)の2値データであると仮定します。ただし、確率$p$があり、そのもとで起こったかどうかの結果です。
$$(学習時の入力データ)x→(出力)1 or 0$$$$最適な予測確率pが出力されるようにパラメータbを推定する$$$$※ただし出力は確率pのもとで起こっていると設定する$$
確率$p$のもとで$1$や$0$をとるものだとすると、パラメータ$p$のベルヌーイ分布による推定が適合します。確率変数$Y$をパラメータ$p$のベルヌーイ分布に従うとするときに分布は
$$f(y|p)=p^{y}(1-p)^{1-y}$$となります。N個のデータ$x_1,x_2,・・・x_N$があって、i番目のデータ$x_i=(x_{i1},x_{i2},・・・,x_{im})$に対する確率変数$Y_i$の反応を$p_i$とするとき、
$$f(y_i|p_i)=p_i^{y_i}(1-p_i)^{1-y_i}$$となります。データ群の予測結果$Y_1~Y_N$が独立として最尤法に当てはめれば尤度関数$L$は
$$L(p_1,・・・,p_N)=\prod_{i=1}^{N}p_i^{y_i}(1-p_i)^{1-y_i}$$とできます。ここで$p_i$はロジスティック回帰モデルに従うという前提で$$p_i=\frac{exp(b^{T}x_i)}{1+exp(b^{T}x_i)}$$となり上記の尤度の式に代入すると
$$L(b_1,・・・,b_N)=\prod_{i=1}^{N}\exp(y_ib^{T}x_i)\frac{1}{1+exp(b^{T}x_i)}$$となります。ここから最尤解$\hat{b}$が簡単に導ければいいのですが、$b=〇〇$のように方程式を解くことが難しい為、数値解析の手法で段々と最適解に近づくようにすることが一般的です。
ニュートン法などで$\hat{b}$を求めたら、新たなデータ$x^{'}$に対する確率を予測したいとき$x^{'}$を代入して$$\hat{p}=\frac{\exp(\hat{b}^{T}x^{'})}{1+\exp(\hat{b}^{T}x^{'})}$$として、$x$に対する推定の確率$p^{'}$を求めることができます。
その他のこと
・最後の推定は、最尤法以外にも最小二乗法でも可能ですが、ロジスティック回帰では最尤法で解くことが主流のようです。
・$x$の部分には非線形関数を$f(x)$として、$b^{T}f(x)$でモデルを作ることも可能で、その時は尤度関数も$x$のところに$f(x)$が入り、数値解析で解くことができます。
参考・引用
・多変量解析入門――線形から非線形へ(小西 貞則)