多項ロジスティック回帰モデルとは?

要約

 多項ロジスティック回帰モデルとは、目的変数Yが複数の選択肢のうち、どれになるのかを説明するモデルです。説明変数Xによって、選択肢をとる確率が変わるモデルです。

 例えば、下図の多項ロジスティック回帰モデルもあります。

 上図は「Xが-5ならばY=4になりやすい」「Xが-1ならばY=1になりやすい」「X=5ならばY=2になりやすい」といったことを意味しています。

全体像

(1)問題の構造

 「多項ロジスティック回帰モデルとは何か?」という問いを設定します。この問いを

①定義は何か

②定義はどう解釈できるか

③どう結果の予測に使えるか

④どう原因の説明に使えるか

に分解します。

(2)前提の選択

 前提として①を選択します。

(3)論点の選択

 論点として②③④を選択します。

(4)付録一覧

 冗長さを避けて、可読性を上げるために、以下の内容は付録に回します。

「通常のロジスティック回帰モデルとの共通点は? 」「ロジット関数ではどう解釈するか? 」「個票データがなく、集計データがある場合はどう対処できるか?」

前提

①多項ロジスティック回帰モデルの定義は何か

 多項ロジスティック回帰モデルとは、目的変数Yが1か2か・・Jかをとる回帰モデルです。

 なお、数字の大小には意味がありません。例えば「1=文系科目が一番得意、2=理系科目が一番得意、3=運動系科目が一番得意、4=芸術系科目が一番得意」です。ここには1が偉いとか、4が偉いといった差はありません。

 Y=jになる確率をPjとすると、

$$P_j=P(Y=1|X_1,X_2 \cdots X_k)$$

$$=\frac{e^{(\beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k)}}{1+\sum\limits_{h=2}^J e^{(\beta_{h0}+\beta_{h1} X_1 +\cdots + \beta_{hk} X_k)}}$$

と表します。ただし、基準カテゴリであるj=1のときは

$$\beta_{j0}=\beta_{j1}=\cdots=\beta_{jk}=0$$

です。つまり、j=1のときは

$$P_1=P(Y=1|X_1,X_2 \cdots X_k)$$

$$=\frac{1}{1+\sum\limits_{h=2}^J e^{(\beta_{h0}+\beta_{h1} X_1 +\cdots + \beta_{hk} X_k)}}$$

です。これが多項ロジスティック回帰モデルの定義です。

方法

 論点「②定義はどう解釈できるか」は、解釈案を出した後、その解釈から定義が導くことで検証します。

 論点「③どう結果の予測に使えるか」「④どう原因の説明に使えるか」は、定義と具体的な回帰係数を使って、視覚的に理解できればよしとしましょう。

結果

(1)モデル式の解釈

②定義はどう解釈できるか

 多項ロジスティック回帰モデルは、次のように解釈できそうです。

 第一に、Y=1の確率を1としたときの確率比率をP*と定義します。Y=0は基準カテゴリ(reference category)です。

$$P^*_1=1$$

 第二に、Y=jの確率比率を次のように定義します。

$$P^*_j=e ^{(\beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k)}$$

 第三に、確率比率 P*を確率Pに変換します。Y=1,2,3・・・Jはモレなくダブりなくですから

$$P(Y=1または2・・またはJ)=P_1+P_2+P_3+ \cdots + P_J=1$$

となります。

 上記より、これを利用して

$$P_j=\frac{P^*_j}{P^*_1+P^*_2+ \cdots +P^*_J }$$

$$=\frac{e^{(\beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k)}}{1+\sum\limits_{h=2}^J e^{(\beta_{h0}+\beta_{h1} X_1 +\cdots + \beta_{hk} X_k)}}$$

となります。

 上記の解釈から多項ロジスティック回帰モデルを導けたので、解釈として妥当です。

(2)具体的なモデル

 例えば、回帰係数が下の表になる多項ロジスティック回帰モデルを考えます。説明変数が1個なので、最もシンプルなタイプのモデルです。

j=1j=2j=3j=4
定数項00.1-0.8-2
説明変数X00.40.2-0.7

 この多項ロジスティック回帰モデルとはつまり

$$P_1=\frac{1}{1+e^{0.1+0.4x}+e^{-0.8+0.2x} + e^{-2-0.7x } }$$

$$P_2=\frac{e^{0.1+0.4x}}{1+e^{0.1+0.4x}+e^{-0.8+0.2x} + e^{-2-0.7x } }$$

$$P_3=\frac{e^{-0.8+0.2x} }{1+e^{0.1+0.4x}+e^{-0.8+0.2x} + e^{-2-0.7x } }$$

$$P_4=\frac{e^{-2-0.7x }}{1+e^{0.1+0.4x}+e^{-0.8+0.2x} + e^{-2-0.7x } }$$

 上の多項ロジスティック回帰モデルは、P1の確率を1としたときの確率比率P*で解釈できます。つまり、次のように確率比率を設定し

$$P^*_1=1$$

$$P^*_2=e^{0.1+0.4x}$$

$$P^*_3=e^{-0.8+0.2x}$$

$$P^*_4=e^{-2-0.7x }$$

Pjの確率は以下のように表すと、元の多項ロジスティック回帰モデルが作れるのです。

$$P_j=\frac{P^*_j}{P^*_1+P^*_2+P^*_3+P^*_4}$$

(3)Yの予測

③どう結果の予測に使えるか

 一つ上で取り上げた多項ロジスティック回帰モデルは、次のように図示できます。

 上図によれば

・Xが-5以下ならば、Y=4を取る確率P4が一番大きい

・Xが-2.5ならば、Y=1を取る確率P1が一番大きい

・Xが0以上ならば、Y=2を取る確率P2が一番大きい

です。

(4)Xの限界効果

④どう原因の説明に使えるか

 Xが与える限界効果の正負は、必ずしも回帰係数の正負に一致しません。上のモデルの回帰係数は下表でまとめられます。

j=1j=2j=3j=4
定数項00.1-0.8-2
説明変数X00.40.2-0.7

 上表のj=3をみると、Xの回帰係数が0.2であるので「XのP3に対する限界効果は、プラス」と勘違いしてしまいがちです。しかし、次の図より、XのP3に対する限界効果は、プラスとマイナスの両方があることがわかります。

 したがって、多項ロジスティック回帰において、回帰係数のみから限界効果を議論するのは避けた方がいいとわかります。

 もし限界効果の議論をしたいのであれば、平均限界効果という概念を導入して考えるべきです。これは説明変数Xの分布によって変わります。

考察

(1)結論

 まとめると、多項ロジスティック回帰モデルとは、次のような回帰モデルです。

定義

 Y=jになる確率をPjとすると、

$$P_j=P(Y=1|X_1,X_2 \cdots X_k)$$

$$=\frac{e^{(\beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k)}}{1+\sum\limits_{h=2}^J e^{(\beta_{h0}+\beta_{h1} X_1 +\cdots + \beta_{hk} X_k)}}$$

 ただし、j=1のときは

$$\beta_{j0}=\beta_{j1}=\cdots=\beta_{jk}=0$$

モデル式の解釈

$$確率比率P^*(Y=1)=1とすると$$

$$P^*(Y=j)=e ^{(\beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k)}$$

である回帰モデルと解釈できます。

結果の予測

 例えば、回帰係数が下の表になる多項ロジスティック回帰モデルの場合、

j=1j=2j=3j=4
定数項00.1-0.8-2
説明変数X00.40.2-0.7

 下グラフのように、目的変数Yがjをとる確率Pjは、変化します。

Xの効果

 回帰係数の正負は、必ずしも効果の正負と一致しません。

(2)妥当性

 前提が正しければ、定義とモデルの解釈は正しいでしょう。

 具体的なモデルに関しては、一般性が欠けている可能性もあります。ただ、視覚化して理解しやすくなる利点はそれを上回るので、よしとします。

(3)意義

 優劣のない複数の選択肢について、確率に基づく議論ができるのは便利です。

 例えば、次のようなデータについて多項ロジスティック回帰分析で説明することができます。

好きな科目
1:文系
2:理系
3:体育
4:芸術
小4
算数点数
1年
読書量
体力テスト
点数
1年に描く
イラスト枚数
Aさん1678352
Bさん35030903
Cさん29020806
Dさん178156510
Eさん3352954
・・・・・・・・・・・・・・・・・・
Zさん46077030

 

付録:通常のロジスティック回帰モデルとの共通点は?

 通常のロジスティック回帰モデルと、多項ロジスティック回帰モデルの共通点は、なんでしょうか?

 共通点は、モデルの作り方です。

 通常のロジスティック回帰モデルは、Y=0になる確率比率を1として、Y=1の確率比率を

$$P^*(Y=1)=e ^{(\beta_{0}+\beta_{1} X_1 +\cdots + \beta_{k} X_k)}$$

と考えると作れます。

 一方で、多項ロジスティック回帰モデルは、Y=1になる確率比率を1として、Y=jの確率比率を

$$P^*_j=e ^{(\beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k)}$$

と考えると作れます。

 両者の作り方は同じです。もっと言えば、

・多項ロジスティック回帰モデルは、ロジスティック回帰モデルの自然な拡張である

・ロジスティック回帰モデルは、j=2の多項ロジスティック回帰モデルである

と言えます。

付録:ロジット関数ではどう解釈するか?

 ロジット関数にすると、線形モデルにすることができます。これは次のように作ります。

$$P_j=\frac{e^{(\beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k)}}{1+\sum\limits_{h=2}^J e^{(\beta_{h0}+\beta_{h1} X_1 +\cdots + \beta_{hk} X_k)}}$$

$$P_1=\frac{1}{1+\sum\limits_{h=2}^J e^{(\beta_{h0}+\beta_{h1} X_1 +\cdots + \beta_{hk} X_k)}}$$

より、j=1を基準としたオッズ(相対的な確率)は

$$オッズ=\frac{P_j}{P_1}=e^{(\beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k)}$$

自然対数を取ると

$$\log_e \left( \frac{P_j}{P_1} \right) = \beta_{j0}+\beta_{j1} X_1 +\cdots + \beta_{jk} X_k$$

となり、線形モデルになります。オッズに自然対数をつけたものを、ロジット関数と言います。上式の左辺はロジット関数です。

付録:Rコード

install.packages("ggplot2") #ライブラリのインストール
library(ggplot2) #ライブラリの呼び出し
 
#関数を作る
P1 <- function(x) 1/(1+(exp(1)^(0.1+0.4*x)) + (exp(1)^(-0.8+0.2*x)) + (exp(1)^(-2-0.7*x)))
P2 <- function(x) (exp(1)^(0.1+0.4*x))/(1+(exp(1)^(0.1+0.4*x)) + (exp(1)^(-0.8+0.2*x)) + (exp(1)^(-2-0.7*x)))
P3 <- function(x) (exp(1)^(-0.8+0.2*x))/(1+(exp(1)^(0.1+0.4*x)) + (exp(1)^(-0.8+0.2*x)) + (exp(1)^(-2-0.7*x)))
P4 <- function(x) (exp(1)^(-2-0.7*x))/(1+(exp(1)^(0.1+0.4*x)) + (exp(1)^(-0.8+0.2*x)) + (exp(1)^(-2-0.7*x)))
 
#関数を描画する
ggplot()+ 
  scale_x_continuous(limits = c(-10, 10))+
  stat_function(fun=P1,color = "black")+
  stat_function(fun=P2,color = "red")+
  stat_function(fun=P3,color = "blue")+
  stat_function(fun=P4,color = "orange")