読者です 読者をやめる 読者になる 読者になる

Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第48回 ロジスティック回帰分析

第48回はロジスティック回帰分析について書きます。ロジスティック回帰分析を簡単に説明すると、目的変数が「2値」の時に利用する分析手法です。例えば、売れる/売れない、勝つ/負ける、投票する/投票しない、発生する/発生しない、0/1、などなどです。普通に回帰分析(赤線)をすると、予測値がマイナスになってしまい、不適切な分析になってしまいます。そこで、ロジスティック曲線(緑の丸)を使って当てはまることで、適切に分析できるようになります。

f:id:teruaki-sugiura:20150816183323j:plain

そもそも、このようなケースで、誤差が正規分布することを仮定している線形回帰分析を行うことは無理がありますし、説明変数の1単位あたりの変化量が一定ではなくなってしまいます。そして、発生する=1/発生しない=0と考えた場合、確率は0〜1までに収まらなければいけません。コルモゴルフの確率の公理より決まっています。それ故、マイナスの確率って何??って、ことになってしまいます。 

oddsとlogitって何? 

︎oddsとはそもそも、なんなのでしょうか。ある事象の起こる確率pとしたときにp/(1−p)の値のことをいいます。そして、oddsと名前が似ている、odds ratioは、ある事象のもう1つの事象とにおけるオッズの比のことです。ある事象の確率をp、もう1つの群をqとすれば、odds ratioは以下のようになります。

f:id:teruaki-sugiura:20150816183521p:plain

odds ratioが1とは、事象の起こりやすさが両事象で同じことを意味します。1より大きいと、ある事象がもう1つの事象より起こりやすく、1より小さい場合は、その逆です。オッズ比は必ず0以上となります。

それでは、ロジスティック回帰の説明に移ります。まず、目的変数をoddsに変換し、さらにlogitに変換する必要があります。理由は後ほど。 

発生する=p

発生しない=1−p 

とすると、先ほども紹介しましたがoddsは、以下のように定義されます。

f:id:teruaki-sugiura:20150816183546p:plain 

この式に自然対数を取ったものがlogitとなります。これをlogitに変換することを「logit変換」といいます。

f:id:teruaki-sugiura:20150816183559p:plain 

このようにodds→logitと、変換していくことのメリットはなんでしょうか。

f:id:teruaki-sugiura:20150816183434p:plain

確率をodds、logitに変換することで、連続量として扱えます(以上の表を参考)。oddsにすることで、0〜+∞になり、logitにすることで−∞〜+∞となりますね。それ故に、xの値がどんな値をとろうとpは0〜1におさまります。つまり、logitがどんな値であっても、logitから比率pに変換すると、0~1の範囲に収まります。 

ロジスティック回帰分析のモデル式

モデルは以下のように定義されます。左辺はlogitで、右辺はパラメタの線形結合であり、線形関係にあります。右辺の係数は、パラメタが1単位増えた時のlogitの増加量です。以下を「logit関数」と呼びます。

f:id:teruaki-sugiura:20150816183617p:plain

この式をpについて解くと、確率の予測値を算出することができます(pについて解くことで、非線形関係になります)。また、ロジスティック曲線を使ったモデルで、ロジスティック関数と呼びます。式変形を丁寧に記述してみました。

f:id:teruaki-sugiura:20150816183641p:plain

パラメタの推定法

普通の回帰分析とは異なり、ロジステック回帰分析の回帰式に誤差が含まれていません。重回帰分析における誤差は、観測値と予測値の差をもって表すことができましたが、ロジスティック回帰分析ではそうはいきません。そのため、最小二乗法がつかえません(使えませんというより、使っても意味のある分析といえません)。そこで、「最尤法」を使うことになります。

尤度とは、独立の各ケースの予測確率を掛け合わせた「結合確率」です。例えば10枚のコインを投げて表が7回、裏が3回の時の尤度は以下のような式になります。計算する時は対数尤度を取ります。実際の分析になると手計算では無理です。僕にはできる勇気はありません。 

モデル選択

ロジスティック回帰分析でのモデル選択基準にはどのようなものがあるのでしょうか。もちろんAICも算出できますし、R^2に似たようなものもあります。そこで、ここでは「擬似決定係数(Pseudo R^2)」である「Cox&Shell R^2」と「Nagelkerke R^2」を紹介します。AICについては前回の記事で書いたので、そちらを参照ください。ここでは紹介程度にとどめます。

①-2対数尤度(デビアンス)とモデル選択基準AIC

最尤推定法で求められた尤度に自然対数をとることで、「対数尤度」を得ることができます。つまり以下のような式になります。

f:id:teruaki-sugiura:20150816183723p:plain 

この式に-2をかけたもの「−2対数尤度(デビアンス)」と呼びます。−2対数尤度は「0〜∞」の範囲をとります(尤度は結合確率なので0〜1)。尤度の場合は数値が大きいほど「当てはまりの良さ」を表すことになりますが、−2対数尤度(デビアンス)は、値が大きくなるにつれて、「当てはまりの悪さ」を表します。そして、モデルAとモデルBの−2対数尤度(デビアンス)の差を評価することで、モデルの良し悪しを決定します。この−2対数尤度(デビアンス)の差は、カイ二乗分布に従い、自由度は2つのモデルのパラメタ数の差を引いたものとなります。これを尤度比検定といいます。結果が有意であれば、新しいモデルを採用することになります。

f:id:teruaki-sugiura:20150816183744p:plain

対数尤度を使えばAICを算出できます。AICは複数のモデルを比較し、小さいものを採用します。

②モデル選択基準 擬似決定係数(Pseudo R^2)

擬似決定係数の説明に移ります。SPSSでは、ロジスティック回帰分析を行うと「Cox&Shell R^2」と「Nagelkerke R^2」の2つが計算されます。R^2なので、0〜1の範囲におさまります。計算式は以下のとおりです。

f:id:teruaki-sugiura:20150816183809p:plain

  • L_0は切片のみの回帰モデルの尤度
  • L_1は説明変数を含めた回帰モデルの尤度
  • nはサンプルサイズ 

説明変数の解釈と検定

それでは、回帰係数の解釈にうつります。例えば、以下のような簡単なモデルを例に説明します。切片と1変数のみのロジスティック回帰分析です。具体的な事例を使うほうが説明しやすいので、左辺は「サッカーの試合をスタジアムに見に来た/来てない」の2値変数、xはCMの視聴有無(視聴=1)とします。分析の結果、切片=1、β=0.5となりました。

f:id:teruaki-sugiura:20150816183854p:plain

この式にxを代入すると以下のようになります。

・CMを視聴した場合(=1)より

 来場の「対数odds」=0.1+0.5*1=0.6

・CMを視聴していない場合(=0)より

 来場の「対数odds」=0.10.5*0=0.1

しかし、これでは対数oddsが求まっただけで、直感的には解釈しづらいですね。

そこで、両辺にexpをとることで「対数odds」から「odds」の式に変換しましょう。

・CMを視聴した場合(=1)より

 来場の「対数odds」=exp{0.1+0.5*1}=exp{0.6}≒1.8

・CMを視聴していない場合(=0)より

 来場の「対数odds」=exp{0.1+0.5*0}=exp{0.1}≒1.1

以上より、odds比=視聴/非視聴=1.8/1.1=1.63というように求めることができ、CMを視聴した場合、非視聴の場合より1.63倍高いということがわかります。また、ここからさらに確率を計算することもできます。

・来場の対数odds 

f:id:teruaki-sugiura:20150816183928p:plain

・来場のodds

f:id:teruaki-sugiura:20150816183937p:plain

・来場の確率p

f:id:teruaki-sugiura:20150816183950p:plain

ここまでは、説明変数の解釈について書いてきましたが、ここからは回帰係数の検定について簡単に説明します。ロジスティック回帰分析での説明変数は、「Wald Test」により行われます。Wald 統計量は自由度 k (パラメタ数)カイ二乗分布に従います。計算式は以下のとおりです。b^は偏回帰係数の推定値であり、s_bは変回帰係数の標準誤差です。

f:id:teruaki-sugiura:20150816184007p:plain 

以上でおしまい。次回はRでの実践です。

広告を非表示にする