回帰分析②:線形回帰が使えないときに用いる高度な回帰分析方法

生物統計を学んでいる人の中には、「結果変数が連続変数の時には線形回帰、二項変数(0と1など2つの値しか取らないもの)のときにはロジスティック回帰分析を使うべき」のように1対1対応のお作法のような形で教わった人も多いと思います。一方で、計量経済学で回帰分析を習った人の中には、「最小二乗法(Ordinary Least Square; OLS, 線形回帰)はありとあらゆる場合に使えるベストな方法であるので、結果となる変数の分布に拘わらずOLSを使える」(ちなみに結果変数が二項変数のときにOLSを用いることをLinear probability modelと呼びます)と教わった人もいるでしょう。初心者向けの統計学や計量経済学の本を読むとこのような説明がされているものが多い印象があります。このような教え方をすれば確かに手っ取り早く手が動かせるようになる(統計解析ソフトウェアを使って解析がはじめられる)のですが、その一方でどうしても表面的な理解にとどまってしまうため、ちょっと状況が変わった時にも応用がきかなくなってしまい、そして間違った解析をしてしまう可能性があります。

医学の世界で考えてみると、優れた医師は、病態生理(血圧がどのように規定されているのか?なぜ高血圧になるのか?)、疫学研究からのエビデンス(血圧が高い人がどのような病気になるのか?)、ガイドライン(高血圧の治療は何が推奨されているのか?)などを総合的に判断することではじめて目の前の患者さんにどのように説明して、どのような治療方針を奨めるのか適切に決めることができるようになります。一方で、ガイドラインに書いてあることだけしか理解していないと、同じような診療しかできなくなってしまいますし、状況が変わっても臨機応変に対応できなくなってしまいます。回帰分析に関しても本質を理解しないでルールだけ知っていると、ちょっと複雑になっただけで応用が効かなくて間違った解析をやってしまうかもしれません。そういったことにならないようにという期待を込めて、今回はOLS以外の回帰分析の本質的な部分をご説明したいと思います。

前回は回帰分析の基本であるOLSを勉強しました(「OLSって何?」と思った人は前回のブログを読んでください)。OLSを使うことのできる3つの前提条件を満たした時にはOLSがベストな解析方法になります(そのためOLSはBest linear unbiased estimate [BLUE]と呼ばれます)。その一方で、これらの条件を満たさないときにはもう少し高度な回帰分析方法が必要になります。

OLSが成り立つ3つの前提条件

①    Linearity(線形)・・・XとYとの関係が線形であること

②    Independence(独立)・・・各データが独立していること

③    Equal errors(誤差項の分散が一定)・・・誤差項の分散(ばらつき)がXの値によらずに一定であること

ではこの3つの条件のそれぞれが成り立たないときにどのように対応するべきなのか一つずつ、重要度の高い順にご紹介します。

1.原因と結果の関係が線形ではない場合

原因と結果の関係が線形(直線で表される関係)していない場合にはOLSはベストな解析方法ではありません。このような場合でも回帰分析がきちんと使えるように発展させたのが一般化線形モデル(Generalized linear model; GLM)という手法になります。GLMでは2つの情報を与えることで、OLSの式の右辺と左辺をフレキシブルにイコールで結ぶことを可能にします。その2つの条件とは、①誤差項の分布と②右辺と左辺の関係性(=リンク関数)です。例えば、結果変数が0と1の値しか取らず(二値変数)、リンク関数がロジットであるとすると(図1)、ロジスティック回帰分析になります。

図1:ロジスティックの関係

image008

GLMは線形回帰の発展形ですので、OLS自身もGLMの中の一つであるととらえることができます。つまり、結果変数が正規分布しており、リンク関数が線形であるものをOLSとします。①と②の組み合わせ次第でほどんどのデータに対応できるのがGLMの強みです。

ちなみにリンク関数がやっていることは結果となる変数(の平均値)をその関数で「変換」していることになります。つまり、リンク関数が対数線形(Log)である場合には、結果となる変数を対数変換しているようなイメージです。例えば、右に歪んだ分布のデータを対数変換すると正規分布に近くなるため、そのようなデータでは対数線形のリンク関数が用いられます。

経済学の世界では結果変数を正規分布に近づけるために対数変換したあとにOLSを使うことがしばしばあるのですが、それと対数線形のGLMとは何が違うのでしょうか?結果変数を対数変換した場合には結果変数の数字をそのまま変換するのですが、GLMの場合には結果となる変数の期待値(平均値)を変換することになります。そのため結果変数を対数変換するよりもリンク関数が対数線形であるGLMを使った方が多くの場合良いとされています(回帰分析から予測値などを計算するときにGLMの方が都合が良い)。ちなみに右に歪んだ分布の場合、ポワソン分布でなくてはいけないという決まりはなく、下記のように状況に応じてガンマ分布や負の二項分布も用いられますがリンク関数は基本的に対数線形になります。

表1:GLMの種類

①誤差項の分布 ②リンク関数 回帰分析の名称 推定するもの
正規分布 線形(Identity) OLS リスク差
二項分布 ロジット(Logit) ロジスティック回帰分析 オッズ比
二項分布 プロビット(Probit) プロビット回帰分析
ポワソン分布 対数線形(Log) ポワソン回帰分析 リスク比
ガンマ分布 対数線形(Log) リスク比
負の二項分布(negative binomial) 対数線形(Log) リスク比


この表を見て頂くと、OLSもロジスティック回帰分析もGLMの一つであることを直感的に理解して頂けると思います。結果変数が二項分布だったしても必ずしもロジスティック回帰分析をしないといけないのではなく、プロビット回帰分析のようにその他の選択肢もあることが理解できると思います。さらにはリンク関数を何にするかで推定するものがリスク差になるのかオッズ比になるのかが変わってきます。結果変数が正規分布だけどリスク比を推定したいということになれば、①正規分布+②ログの組み合わせにすることも可能です。

2.個々のデータが独立していない場合

「独立」の条件が成り立たない場合のことです。例えば5人のデータがあり、糖尿病と脳梗塞の関係が見たかったとします。5人が独立したデータなら脳梗塞を結果変数、糖尿病の有無を原因変数として回帰分析を行えば相関を評価することができます。しかし、もし仮にこのうち3人がA病院で治療を受けており、残りの2人がB病院で治療を受けているとなると話はそれほどシンプルではありません。なぜならばA病院とB病院では糖尿病の治療の質が異なる可能性があるからです。考え方を変えると、同じ病院で治療を受けている人同士は似たもの同士であり、独立していない(病院内で個人間の相関がある)ということになります。OLSは個人間の相関がゼロであることを仮定しているので、OLSは使うことができません。

表2:階層化データの例

患者さん 糖尿病 脳梗塞 治療を受けている病院
Aさん あり なし A病院
Bさん なし あり B病院
Cさん あり なし A病院
Dさん なし あり B病院
Eさん なし なし A病院

こうなると独立(I)の条件が満たされなくなります。グループ内の相関を無視して普通の回帰分析を行うと、一般的に標準誤差(Standard error; SE)が本来よりも小さくなり、p値も本来よりも小さくなります。つまり、本来ならば2つの事象に相関がなかったとしても相関があるかのように見えてしまう(相関を過大評価してしまう)ことが多くなってしまうため問題なのです。

このようにグループ内で相関しているデータのことを階層的データ(Multi-level data)と表現します(クラスター化していると表現することもあります)。患者さんが第一層で、その上に病院が第二層として存在しているイメージです。そして階層的データに対して用いることのできる回帰分析としては以下のようなものがあります。

階層的データに対して用いることのできる回帰分析

①    一般化推定方程式(Generalized estimating equations; GEE)

②    ランダム効果モデル(Random effects model)(線形混合モデル or GLMM)

③    頑健標準誤差(Cluster-robust SE)

④    サーベイデータ回帰モデル

GEEはGLMの発展形です。上述のように、①誤差項の分布と②リンク関数を指定することでどのようなデータでも回帰分析を行うことができるのがGLMです。これをさらに発展させて、階層化したデータに対しても回帰分析を行うことができるようになったのがGEEです(よってGEEはGLMの特徴は全て持ち合わせています)。

ランダム効果モデルとは、回帰分析の右辺に「ランダム効果(Random effects)」という変数が含まれるモデルです。ランダム効果とそれ以外の変数(固定効果[Fixed effects]と呼びます)と両方が含まれるモデルのことを混合モデル(Mixed effects model)と呼ぶこともあります。前述の例ですと、病院のIDをランダム効果として回帰分析に含めると、データの階層を考慮した上での原因変数と結果変数の関係を評価することができるようになります。ちなみに誤差項が正規分布してないデータにランダム効果を用いる場合、一般化線形混合モデル (generalized linear mixed model; GLMM)と言うモデルが使われます。これはつまり、「GLM+ランダム効果=GLMM」ということになります。

データが階層化していることを無視するとSEは本来よりも小さくなる(それに伴いP値も小さくなる)ことをご説明しました。この「本来よりも小さくなっている分」だけSEにある係数をかけて大きくしてあげることで、正しいSEとP値を得る方法が頑健標準誤差です。クラスターロバストSE(Cluster-robust SE)とも呼ばれます。上の2つの方法では、回帰係数(β係数)もSEも両方とも(階層化を無視した場合と比べて)変わってくるのですが、この頑健標準誤差は回帰係数は変わらずにSEだけ増加するのが特徴です。

サーベイ(調査)データの回帰モデルは裏技的な方法でめったに使われませんが、計算の効率性が高い(データ解析にかかる時間が短い)ので、データが大きすぎるなどの理由で(1)と(2)が使えないときに用いることができる方法です。データがどのように階層化しているか正確に分かれば、特殊なサンプリングをしているようなサーベイと同様の考え方でデータの構造を考慮した上で解析できるようになります。

ではどのように使い分ければ良いのでしょうか?サーベデータ回帰モデルはこのような状況ではほとんど使われないのでここでは触れません。最も簡単にできるのは頑健標準誤差ですが、データの構造は2層までしか対応できませんし、GEEやランダム効果モデルほどロバストでは無いと考えている研究者も多いようです。では残されたGEEかランダム効果モデルのどちらを使ったら良いのでしょうか?それを判断するのに必要な情報は以下の2つです

Q1.データの構造は2層か、それとも3層以上か?

GEEはデータの構造としては2層までしか対応できません。つまり、患者さん、病院、市町村のように3つの層があるときにはGEEはつかえません。データの構造が3層以上ある場合にはランダム効果モデルを使うしかありません。

Q2.回帰係数(平均)に関心があるのか、それとも分散に関心があるのか?

回帰分析を使って一般的に見るのは回帰係数(β係数)ですが、それ以外にもデータのばらつき(分散)を分解するという目的でも回帰分析を使うことがあります。ANOVAと呼ばれる方法と同じコンセプトです。例えば、医療費のばらつきを見ていて、そのばらつきのうち何%が患者要因によって、何%が病院要因によって説明されるか評価する研究で用いられる手法です。GEEではこのようにばらつきを分解することはできないので、もしばらつき自体に関心がある場合にはランダム効果モデルを使うしかありません。

表3:階層化データに対する回帰分析の特徴

解析方法 特徴
(1)GEE
  • データの構造は2層までしか対応できない。
  • 回帰係数では無く分散に関心があるときには使えない。
(2)ランダム効果モデル
  • データの構造は3層以上でも対応加。
  • 分散に関心があるときにも使える。
  • 誤差項が正規分布していないときにはGLMMを用いる。
(3)頑健標準誤差
  • プログラミングとしても簡単。
  • 上の2つほどはロバストではない?(これを用いても回帰係数は変化しない)
(4)サーベイメソッド
  • このような状況ではめったに使われない。
  • データが大きすぎるなどの理由で他の解析方法が使えないときに用いる裏技

3.分散が一定ではない場合

「誤差項の分散が一定」の条件を満たさない場合です。誤差項の分散が一定であることを「ホモスケダスティシティ(Homoscedasticity or homoskedasticity)」と呼びます。一方で、これが達成できていない状況のことを「ヘテロスケダスティシティ(Heteroscedasticity or heteroskedasticity)」と表現します。例えば、結果変数を血圧、原因変数をBMIとします。一般的にBMIが高い方が血圧は高くなるのですが、その一方で、血圧が高くなればなるほどそのデータのばらつき自体も大きくなります。これがHeteroscedasticityであり、そのような場合においては普通のOLSを用いることはできません。Heteroscedasticity-robust SEやHuber-White SE(この二人が開発したためです)と呼ばれる特殊なSEがあり、それを用いることで対処可能です。

ざっと駆け足で説明していきましたが、スタートラインはOLSの3つの前提条件のどれが満たされていないかをチェックすることにあります。それさえはっきりすれば、それに適したより高度な回帰分析のモデルを選択することができます。

1件のコメント 追加

コメントを残す