ロジスティック回帰分析とは

# ２値分類問題の問題設定

以下に問題設定を示します。

ある日の最高気温が与えられたとき、Aさんがアイスを買うか、買わないかを予測したいとします。
そこで、数日間のAさんの行動を集計すると以下の表が得られました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3675830/507cf2d8-2d5d-6b7f-8361-9d507488bbd8.png">

このデータをもとに、最高気温が分かった時にAさんがアイスを買うか、買わないか予測するモデルを作成してみましょう。この問題を図で表すと以下のようになります。

<img src = "https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3675830/97fa2a96-6c5b-fc2f-e791-97cdf013074f.png">

このように、説明変数を用いて目的変数を2つのラベルに分ける問題を**２値分類**と言います！

# ロジスティック回帰とは

今回の問題をロジスティック回帰分析を用いて解くことを考えます。

これは、「Aさんがアイスを買う確率」、「Aさんがアイスを買わない確率」をそれぞれ数式で表し、確率が高い方を分析結果として採用するという方法です。

確率を表す数式として以下のシグモイド関数を用います。

```math
f(x)=\frac{1}{1+e^{-ax-b}}　 \tag{1}
```

アイスを買う事象を$A$とすると、アイスを買わない事象は$A^c$です。
従って、これらの事象が起こる確率は以下のようになります。

```math
P(A)=\frac{1}{1+e^{-ax-b}}　\tag{2} 
```
```math
P(A^c)=\frac{e^{-ax-b}}{1+e^{-ax-b}}　\tag{3} 
```

ここで、$x$が温度を表します。また、$a$,$b$は未知数で、学習によって定まります。
この双方の確率を計算し、高い方の事象を採用するということになります。

# 実際に分析してみる
Excelのソルバーを用いてロジスティック回帰分析を行うと、以下の式が導かれました。

```math
P(A)=\frac{1}{1+e^{-0.53x+16.1}}
```

この関数と最初の表のデータをグラフにプロットすると以下のようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3675830/71a11570-9f00-108e-a0d8-95d01677abd9.png)

ここで、オレンジの点は表のデータを表しており、「アイスを買う」場合は確率1、「アイスを買わない場合」は確率0と対応させています。灰色の点線が学習したシグモイド曲線です。この値が0.5を超えると、アイスを買うだろうと推測できます。今回の推定の場合では最高気温約30.4℃を超えると、p>0.5となるので、Aさんは最高気温30℃以上の時に、アイスを買いやすいということができます。

# 未知数の決め方
未知数$a$,$b$がどのような考え方によって求められているかを説明します。
考え方としては「実際のデータが式(2)、(3)の確率モデルに従ったとするとき、その確率が最大になる未知数はいくつになるか」というものです。この考え方を**最尤推定**といいます。
最尤推定の考えに従って、今回の問題で未知数がどのように決まるかを確認してみます。

今回の表の結果が得られる確率$L$を式で表してみると以下のようになります。
```math
L=P(x=25,A^c)P(x=26,A^c)P(x=28,A)P(x=29,A^c)P(x=31,A^c)P(x=33,A)P(x=35,A)P(x=37,A)
```
上式の$P(x=n,A)$と$P(x=m,A^c)$は、式(2)、(3)に従っています。
この確率$L$の値が大きければ大きいほど、表の結果が出やすいということなので、確率$L$が最大化するように未知数$a$,$b$を決めれば良いということになります。
実際に$a$,$b$を解析的に求めるのは大変なので、数値計算プログラムやexcelソルバーによって、解を求めれば解析終了です。

# なぜシグモイド関数が採用されるのか
ロジスティック回帰において確率を表すシグモイド関数ですが、なぜこの関数系が使われるのでしょうか？
これについて簡単な統計力学的考察をしたいと思います。

まず、以下のモデルについて考えてみます。

### モデル1

1つのスピンが以下のどちらかのエネルギー値を持つ。

1) $E=+a$　
2) $E=-a$　　

このとき、$E=+a$が実現される確率を求めてみます。統計力学のカノニカル分布によれば、このモデルの確率は
```math
P(E=E')=\frac{e^{-\beta E'}}{e^{+\beta a}+e^{-\beta a}}
```
と表されます。$E'$は$+a$か$-a$のどちらかの値を取るとします。また$\beta$は系の温度に関するパラメータです。ここで、以下のように考えてみます。

i)　エネルギーの値$-a$がある日の最高気温だったとする
ii)　$P(E=a)$がアイスを買う確率を表すとする

このように考えると、このカノニカル分布と今回扱った問題を関係づけることができそうです。
実際、「最高気温が高くなるにつれて、アイスを買いやすくなる」というようなモデルが作れそうです。
しかしこれでは2つの気温しか考えられていない不完全なモデルなので、以下のようなモデル2を作ってみます。

### モデル2
1つのスピンに外場が与えられ、それによって以下のエネルギーを持つ。

$E=(x+c)d$

ここで、$(x+c)$が外場で、$d$がスピンの向きです。上向きの場合$+1$、下向きの場合$-1$を取ります。
このカノニカル分布は以下のようになります。

```math
P(d=d')=\frac{e^{-\beta (x+c)d'}}{e^{+\beta (x+c)}+e^{-\beta (x+c)}} \tag{4}
```
今回はこのモデルを以下のように考えます。

i)　$x$を最高気温とし、$d=-1$なら「アイスを買う」、$d=+1$なら「アイスを買わない」事象とする
ii) $P(d=d')$が事象$d'$の起こりやすさを表す確率とする

このように考えると最高気温$x$が上がるほど、アイスを買う事象$d=-1$は起きやすくなることがわかります。
また、最高気温$x$が下がるほどアイスを買わない事象$d=+1$が起きやすくなることもわかります。
また$x=-c$にて、アイスを買う確率と買わない確率が等しくなり、その決定境界を作っていることがわかります。

従って適当にエネルギー関数を設定した時のカノニカル分布によって、今回の問題を解くモデルが作れるということになりました。

では式4を若干変形してみます。分子分母に$e^{+\beta (x+c)}$をかけ、$2\beta $を$-a$、$2\beta c$を$-b$と置き直せば以下のようになります。

```math
P(d=d')=\frac{e^{(-ax-b)(d'+1)/2}}{1+e^{-ax-b}}
```

この式の$d'$に+1,-1を代入すれば式2と一致していることがわかります。
以上より、ロジスティック回帰モデルのシグモイド関数は、２準位系のカノニカルモデルであると言えることがわかりました。