「ロジスティック回帰分析」を使うことになったんだけど、
ロジスティック回帰分析ってなに?
どんな例があるの?
サクッと簡単にできるソフトってないの?
など思われるも多いかもしれません。
ロジスティック回帰分析をサクッと簡単に実行できるソフトなどないの?ってあなたはこちらをどうぞ↓
『「ロジスティック回帰分析」をサクッと行いたいあなたにおすすめの良書13冊はこちらです』
今回は、ロジスティック回帰分析とは?というところから、具体例やオッズ比、重回帰分析との違いなどを、サクッとわかりやすいようにまとめました。
本記事の概要
ロジスティック回帰分析とは
一言でいうと、ある現象の発生確率を、複数の因子の組み合わせとそれらの程度からモデル化する方法です。
でもこれだけだと、
ん?なにそれ?
ってなりますよね。なので、順を追って説明しますね。
ある現象の発生確率 p(X) を調べたいとします。
その原因になりそうなもの(因子・変数・説明変数・独立変数などと呼ばれます)x1, x2,・・・xn を考えます。(因子をまとめて、x = (x1, x2, ・・・, xn) と書きます)
この現象を、因子が起こったときの条件付き確率として考えると、
p(X) = Probability( 発生 | x )
と表現できます。
また、関数 F(x1, x2, ・・・, xn) を使って、
p(X) = Probability( 発生 | x ) = F (x1, x2, ・・・, xn)
とすると、 F で p(X) をモデル化するとよさそうです。
ロジスティック回帰分析では、この関数 F にロジスティック関数を使います。
ロジスティック関数 f は、一般に、r を変数として、
f = 1 / (1 + exp( – r ) )
という形をしています。
今回の変数は、x1, x2, ・・・, xn の因子群(変数・説明変数・独立変数)です。これを
Z = β0 + β1*x1 + β2*x2 + ・・・ + βn*xn
の線形結合に合成して、
F = 1 / (1 + exp( – Z ) )
として発生確率をモデル化します。
なので、ロジスティック回帰分析では、ロジスティック関数を通じて、因子群と発生確率を結びつけています。
ちなみに、β0, β1, ・・・ , βn は、回帰係数と呼ばれます。
このロジスティック回帰モデルをデータから推定することをロジスティック回帰分析といいます。分析によって回帰係数が求まり、因子の影響と発生確率の関係を知ることができるわけです。
ロジスティック回帰分析の例にはどんなものがあるの?
ロジスティック回帰分析の例としては、「フラミンガム研究」が有名です。
フラミンガム研究は、1948年にアメリカ・フラミンガムで始まった疫学研究で、冠状動脈性疾患のリスク因子につい調べた研究です。
多くの病気の原因は
- 複数の原因(因子)の組み合わせ
- 各原因の影響が異なる
- 同程度の原因でも発症する・しない人がいる
といった特徴があります。
健康な人・患者さんのどちらにも原因があり、その組み合わせや原因の程度も様々だと考えます。その中で、どんな人が発症する確率が高いかを研究しました。
フラミンガムの研究では、原因(因子)には、年齢・血清コレステロール・収縮期血圧・相対体重・ヘモグロビン・喫煙・心電図所見の7つが検討され、これらの原因への曝露と、発症の割合について、ロジスティック回帰分析によってモデル化されました。
そして、得られた回帰係数などの情報から、年齢・コレステロール・血圧が高いほど、発症リスクが高くなる、といったことがわかりました。
このフラミンガムの研究によって、ロジスティック回帰分析の有用性が示されたとも言えます。
効果的な予防ができそうだね〜
自分のデータでも使える方法だ!
回帰係数を求めればいいんだね〜
と思われた方も多いかと思います。たしかに回帰係数の情報は役に立ちますが、個々の因子の影響の大きさを評価しているわけではないんです。なので、
それぞれの因子の影響の大きさはどのくらいなの?
に答えることができるとさらにいいですよね。
フラミンガムの研究でいえば、年齢・コレステロール・血圧のどれが1番影響するの?
といったように、個々の因子の影響の大きさを知りたいわけです。
各因子それぞれの影響を表現するものが「オッズ比」になります。
ロジスティック回帰分析の「オッズ比」とは?
いきなりですが、以下の2つを考えてみます。
発生確率 p(X) = 1 / (1 + exp( – Z ) )
発生しない確率 1 – p(X) = exp( – Z ) / (1 + exp( – Z ) )
発生する確率と発生しない確率の比を「オッズ」と呼びます。
p(X) / 1 – p(X) = exp( Z )
= exp (β0 + β1*x1 + β2*x2 + ・・・ + βn*xn)
ここで、AとBで、因子 x1 がそれぞれ200と180だったときに、AとBのオッズを考えてみます。(他の変数はすべて同じだと仮定します)
オッズA = p(XA) / 1 – p(XA)
= exp (β0 + β1*200 + β2*x2 + ・・・ + βn*xn) ・・・①
オッズB = p(XB) / 1 – p(XB)
= exp (β0 + β1*180 + β2*x2 + ・・・ + βn*xn) ・・・②
①、②でどの程度違うか調べるために、オッズの比(オッズ比)をとってみます。
オッズA / オッズB
= exp (β0 + β1*200 + β2*x2 + ・・・ + βn*xn) / exp (β0 + β1*180 + β2*x2 + ・・・ + βn*xn)
と書けます。これを計算すると、
オッズA / オッズB
= exp { β1*(200-180) }
= { exp (β1) }^20 (exp( β1 ) の20乗)
となります。
他の因子の影響が消えているところがポイントになります。
オッズ比をとると、1つの因子の影響を調べることができるわけです。
ロジスティック回帰分析の結果から、β1は分かっているので、フラミンガムの研究でいうと、血圧が200と180の人では、オッズ比が { exp (β1) }^20 違う、というように、定量的に表現できるようになります。
このように、オッズ比の意味は、各因子が調べたい発生確率に対する影響の大きさ、ということになります。
ちなみに、オッズのlogをとると、以下のようになります。
log {p(X) / 1 – p(X) }
= β0 + β1*x1 + β2*x2 + ・・・ + βn*xn
右辺を見てみると、重回帰分析と同じ形になっていますよね!
ロジスティック回帰分析は、ロジスティック関数を使うことと、みかけ上「回帰」分析に似てる分析方法ということで、ロジスティック回帰分析と呼ばれています。
「重回帰分析」と「ロジスティック回帰分析」との違いとは?
重回帰分析では、誤差の分布に正規分布を仮定していたり、分散が均一であることを仮定しています。
それに対して、ロジスティック回帰分析ではその仮定がありません。データの誤差が正規分布にならなかったり、分散が均一でないデータでも扱うことができるのがメリットになります。
というわけで、本記事では、
- ロジスティック回帰分析とは?
- ロジスティック回帰分析の例
- オッズやオッズ比
- 重回帰分析との違い
などをまとめました。
ロジスティック回帰分析をサクッと簡単に実行できるソフトなどないの?
ってあなたはこちらをどうぞ↓
『「ロジスティック回帰分析」をサクッと行いたいあなたにおすすめの良書13冊はこちらです』
「回帰分析」や「重回帰分析」の、わかりやすい「やり方」や「具体例」など知りたいあなたはこちらもどうぞ↓
『「重回帰分析」を学びたいあなたにチェックしてほしい良書、10冊はこちらです』
ロジスティック回帰分析ができる(フリー)ソフト(エクセル、R、SPSS、SAS、 JMP) などの特徴を比較したいあなたはこちらをどうぞ↓
『「多変量解析」でよく使われる、7つの「ソフトウェア」をまとめました(「フリーソフト」もどうぞ)』
「多変量解析」に興味がある方はこちらをどうぞ