ロジスティック回帰とは|オッズとの関係性、線形回帰との相違点

この記事では、機械学習や因果推論などにおいて使用される「ロジスティック回帰」について、その意味や使用する目的、オッズとの関係性や線形回帰との相違点について、具体例をもとに解説します。

「ロジスティック回帰」とは何か

ある対象が、特定のクラスに属する確率や特定の処置の対象となる確率など、分析の目的である対象に関する「クラス確率」や「処置の受けやすさ」を推定する際に最もよく使われる方法の一つが「ロジスティック回帰 (Logistic Regression)」です。

これらのケースでロジスティック回帰が使われる理由は、ロジスティック回帰ではなく、基本的な線形回帰モデルを使ってこれらの確率を推定する際に生じる問題を考えることで理解することができます。

基本的な線形回帰モデルでは、線形関数 f (x) = w0 + w1x の値は、xの値に応じて-∞(マイナス無限)から+∞(プラス無限)の間の値を取りますが、実際の確率は最小0~最大1の間の値となるはずです。

また、実際のケースにおける「クラス確率」や「処置の受けやすさ」は、例えばある基準をもとに「処置を受けるか否か」の線引きが行われるように、基本的な線形回帰モデルで表現される形で単調に上昇または低下していくのではなく、ある点を境に急激に上昇(または低下)すると考えられます。

ロジスティック回帰は、線形回帰モデルで得られる値を「確率」を表す別の表現方法に変換することで、これらの問題点を解決する方法です。より具体的には、以下に説明するように、線形回帰モデルが与える値を「オッズ」と捉え、これを確率に変換する処理を行う方法と理解することができます。

ロジスティック関数

作成:Intelligence In Society

ロジスティック回帰と「オッズ」

「オッズ」の意味

オッズ (odds)」とは、あることが起きる可能性を表すために使われる方法の一つで、「何かが起こるオッズ」は、それが起こる確率と起こらない確率の比率で表されます。

例えば、ある事象が起こる可能性が90%(0.9)である場合、そのオッズは「90:10」または「9」となります。以下の表は、様々な確率について、そのオッズを表しています。

ここから分かるように、オッズは「0から+∞」までの幅を取る、非負の数値となります。

確率(0から1) オッズ(0から+∞)
0.5 50:50 または 1
0.9 90:10 または 9
0.999 999:1 または 999
0.01 1:99 または 0.0101
0.001 1:999 または 0.001001

出典:Provost and Fawcett (2014)

対数オッズ (log-odds)

このオッズについて対数を取ったものが「対数オッズ (log-odds)」です。対数には、ある「0から+∞」の数値についてその対数を取ると、「-∞から+∞」の数値になるという便利な特性があります。

この特性を利用し、「0から+∞」の幅を取るオッズを、「-∞から+∞」の幅を取る対数オッズに変換することで、同じく「-∞から+∞」の幅を取る、線形関数 f (x) = w0 + w1x によって得られる値との対応付けが可能となります。

確率(0から1) オッズ(0から+∞) 対数オッズ(-∞から+∞)
0.5 50:50 または 1 0
0.9 90:10 または 9 2.19
0.999 999:1 または 999 6.9
0.01 1:99 または 0.0101 -4.6
0.001 1:999 または 0.001001 -6.9

出典:Provost and Fawcett (2014)

ここから、ロジスティック回帰モデルの出力値は、あるクラスである(または、ある処置を受ける)場合の「対数オッズ」であると捉えることができます。

ロジスティック(シグモイド)関数

対数オッズの線形関数は①のようになりますが、これは基本的な線形回帰モデルに等しいものとなります。ここで p+(x) は、推定の対象としている事象が起こる確率、1-p+(x) はその事象が起こらない確率を表します。

そして、この式を p+(x)について変形し、線形関数f (x) から確率p+(x) を導く式が②となります。この式は、「ロジスティック関数」または、下図のように「S字」をしているため「シグモイド関数」(ギリシャ文字の「σ」に由来)と呼ばれます。

対数オッズ線形関数とロジスティック関数

ここで、「exp(*)」は、自然対数の底eの*乗を指します。

このロジスティック関数をグラフにしたものが以下です。これを見ると、「-∞から+∞」の幅を取る線形関数 f (x) によって、「0から1」の幅を取る確率値が推定されていることが確認できます。

ロジスティック関数_グラフ

作成:Intelligence In Society

ロジスティック回帰による推定

機械学習:予測モデルでのパラメータ学習

ロジスティック回帰モデルを、クラス確率の予測を行うための機械学習手法として使用するケースを考えます。

ここで、線形関数f(x)の変数 x を多次元に拡張すると、 f (x) = w0 + w1x1 + w2x2 +となり、特徴ベクトル x をもとにクラス確率を推定するモデルが得られます。このモデルにより求めたい値は、クラス確率を最も正確に予測するパラメータのセット (w)です。

この時、 関数g (x, w) を、推定の対象としているクラスに属する時に p+(x)、属さない時に 1-p+(x) を取る関数とすると、g (x, w) は正解をラベル付けされた対象が正しいクラスに属する尤度を表す関数となります。

異なるパラメータのセット (w) を与えたモデルの中で、尤度の合計値が最も高くなるモデルが「最尤モデル」です。そして、この最尤モデルの w が、ロジスティック回帰モデルに基づき推定されたパラメータのセットとなります。(最尤モデルのパラメータは、最急降下法などにより求められます。)

因果推論:傾向スコアの算出

傾向スコア」とは、処置の割り当てと結果に影響を与える複数の要因をもとに作られた、「各対象者が処置を受ける傾向性(確率)」を表す合成変数です。傾向スコアが同じ対象者の間では、結果に影響を与える要因がバランスされた状態を作り出すことで、処置効果の推定を可能にします。

傾向スコアは、ロジスティック関数を変形させた以下の関数を用いて算出されることが一般的です。

ここで、(*)内の数式は、処置の割り当て有無を目的変数、共変量を説明変数とした線形回帰モデルにあたります。

ここでは、ロジスティック回帰モデルによって、説明変数によって作られる線形の関数の取る値が、処置の割り当てられやすさを確率で表した「傾向スコア」に変換されていると理解することができます。

なお、傾向スコアのモデル化には、上記のロジスティック回帰モデル以外にも、確率変換に標準正規分布を使うプロビットモデルや、機械学習の手法を使う方法などが存在します。

線形回帰との相違点

線形回帰は、目的変数が正規分布に従うことを前提としているのに対して、ロジスティック回帰は、目的変数が従う確率分布を任意に設定できるように一般化した、一般化線形モデル (generalized linear model: GLM)の代表的なものの一つです。

ロジスティック回帰についてより理解するために、以下では一般化線形モデルと線形回帰の相違点を、「確率分布の設計」「リンク関数の設計」の2点をもとに整理します。

なお、「リンク関数」とは、一般化線形モデルにおいて、「目的変数の期待値」と「説明変数をもとに線形モデルから予測された結果」の2つを紐づける役割を持つ関数のことを指します。

一般化線形モデル
  • 確率分布の設計:目的変数yが従う任意の確率関数を選択する。
  • リンク関数の設計:確率関数と線形モデル f(x) の関係を表すリンク関数を定義する。
線形回帰
  • 確率分布の設計:任意の正規分布を選択する。
  • リンク関数の設計:正規分布の平均μを線形モデル f(xi) に設定する。(μ= f(xi) )

ロジスティック回帰では、確率分布は確率P(x) で推定の対象としている事象が起こる確率、1-P(x) で起こらない確率を表すベルヌーイ分布に設定されているのに対して、線形回帰では正規分布に設定されています。

また、ロジスティック回帰では「目的変数の期待値」と「説明変数をもとに線形モデルから予測された結果」がロジスティック関数によって対応付けられるのに対して、線形回帰ではこの2つが直接対応付けられていることが分かります。

ここまで、機械学習や因果推論などにおいて使用される「ロジスティック回帰」について、その意味や使用する目的、オッズとの関係性や線形回帰との相違点について解説しました。

本記事に関連するトピックについては、以下のページをご覧ください。

また、機械学習・因果推論に関する全ての記事は以下のページからご覧いただけます。

参考文献:
◦Foster Provost, Tom Fawcett (2014) 『戦略的データサイエンス入門―ビジネスに活かすコンセプトとテクニック』O’Reilly Japan
◦Rosenbaum, P. and Rubin, D. (1983) The Central Role of the Propensity Score in Observational Studies for Causal Effects. Biometrika, 70, 41-55.
◦八谷大岳 (2020) 『ゼロからつくるPython機械学習プログラミング入門』講談社
◦高橋将宣(2022) 『統計的因果推論の理論と実装 ― 潜在的結果変数と欠測データ ― 』共立出版

関連記事