回帰分析(その1):回帰分析で交絡因子の影響を取り除く

学問の分野に関わらず研究をするにあたっては「回帰分析」を避けて通ることはできません。普段から研究やデータ分析に馴染みにある人たちには、このブログでそんな基本的なことを解説するの?と思われる人もいるかもしれません。しかし、このブログは通読すれば知識がゼロの状態からでもデータを解析して読み解くのに必要なスキルセットが一通り身につくようになることをゴールにしているので、そのためには回帰分析をおろそかにするわけにはいきません。逆にビジネスをやっている方で、その業界では回帰分析はあまりやられておらず、エクセルのグラフだけで勝負しているようであれば、回帰分析をきちんとできるようになるだけで圧倒的な強みになるはずです。統計解析ソフトできちんと回帰分析して得られたデータが「機関銃」だとすると、エクセルでの解析は「竹やり」みたいなものだからです。いずれにしても数式を理解することよりもコンセプトをきちんと理解することの方が重要だと考えているので、この記事では回帰分析のコンセプト中心にご説明します。

 

1.なぜ回帰分析が重要なのか?

回帰分析が重要なのは、交絡因子の影響を取り除くことで因果関係を明らかにすることができるからです。交絡因子が何か分かっており、そのデータが手元にあれば、この回帰分析を用いることでその影響を取り除いてあげることができます。回帰分析には原因(X)と結果(Y)の二者の関係を明らかにする「単回帰分析」と、XとYに交絡因子(C)を加えることでCの影響を取り除いた上でのXとYの関係を評価する「重回帰分析」の二種類がありますが、回帰分析が本当の強みを発揮するのはこの重回帰分析を行うときです。

例えば実験(ランダム化比較試験)で交絡因子が存在していないことが明らかである場合には、XとYの相関係数を見れば因果効果(XのYに対するインパクト)を推定することができます。しかし、XとYの両方に影響を与える交絡因子が存在している場合、回帰分析などの統計手法で補正してあげないと、因果効果の推定値にバイアスが生じてしまいます。実験から得られたデータではない限り、世の中にあるほぼ全てのデータにおいて何らかの交絡因子が存在しているため、重回帰分析は因果関係を明らかにするにあたって最低限必要なツールとなります

 

2.回帰分析のコンセプトを視覚的に理解する

回帰分析の基本は線形回帰です。線形回帰とは、Yが連続変数であるときに用いる回帰分析の方法で、全ての回帰分析の基本になります。数学的には最小二乗法(Ordinary Least Square; OLS)という計算方法が用いられるため、しばしばOLSと呼ばれます。

まずは図を用いて視覚的にOLSのコンセプトだけご説明します。4つのデータがあり、それぞれに原因となる変数(X)と結果となる変数(Y)の値が与えられていたとします。図の中の青色のひし形がそれぞれのデータとなる点です。この4つの点の間を通る「最適な線」を引くことがOLSの目的です。その最適な線を引くことができれば、その線はXとYの関係を最も良く表していると言うことができるからです。具体的には、以下のような方法で最適な線を引きます。

回帰分析グラフ

(1)各データの点と線との距離と測り、それをそれぞれe1~e4とする(このeは後述の誤差項とコンセプト的には同じものです)。

(2)e1~e4を2乗し、足し合わせる。

(3)(e12+ e22+ e32+ e42)が最も小さくなるような線の傾きを探して見つけ出す。

なぜeを2乗するのかというと、単純に(e1+ e2+ e3+ e4)の値を取ったらプラスとマイナスの値が打ち消しあって常にゼロになってしまうからです。実際には絶対値を取って(すべてプラスにしてから)足し合わせても良いのですが、2乗することで同じ効果が得られます(2乗した方が数学的に便利な点がいくつかあります)。このようにして得られた最適な線が、XとYの関係を最も良く表していることが数学的に証明されています。

 

3.回帰分析のコンセプトを数式を用いて理解する

ここからは数式も用いてどのように回帰分析の結果を解釈するのかご説明します。数式にアレルギーのある方は読み飛ばして頂いても良いかもしれません。

単回帰分析・・・交絡因子が存在しない場合

交絡因子が存在していない場合の最もシンプルなOLS(単回帰分析)は以下のように表されます。

図1

この数式で、Yは結果変数、Xは原因変数です。右下に小さなiがついているのは、「i番目の人」と言うことを意味しています。もし100人の人のデータを用いて回帰分析を行っている場合、Y1は一人目の人の結果の値、Y2は二人目の人の結果の値と言った具合に、i=1, 2, 3,…..,100まで100個の結果が存在することを意味します。eは誤差であり(誤差項と呼ばれます)、eはOLSでは平均値0で正規分布しているということになっています。

β1が介入効果の推定値となります。なぜそうなるか順を追ってご説明します。Xが介入を受けたか受けなかったで2つの値しか取らないとします。介入を受けたグループ(介入群)はX=1、介入を受けなかったグループ(対照群)はX=0となります。それぞれの値を上記の式に挿入すると、

図2

eの平均値は0ですので式から除かれていることに注意して下さい。

因果効果はこの2つのグループの結果変数の差の平均値ですので、(β0+β1)-β0=β1 となり、よって β1が因果効果の推定値となります。ちなみにこの式から分かるように、β0はX=0の時の結果の値になります。

ではXが0と1だけでなく、年齢や血圧のように様々な値を取る場合にはどうなるのでしょうか?

図3

この2つの式の差はやはりβ1になります。Xが1単位(年齢の場合は1歳)増えるごとにYは 増えることが分かり、 β1はやはり因果効果の推定値となります。

重回帰分析・・・交絡因子が存在している場合

交絡因子(C)が存在している場合、OLSの右辺に加えることでその影響を取り除くことができます。「補正する」もしくは「Cの値を一定に保つ(holding constant)」などと表現します。

図4.jpg

β2Ciが右辺に追加になっていますね。先ほどのようにXが0と1の値しか取らないときに結果がそれぞれどうなるか見てみましょう。

図5

Cの値が同じである2人がいて、片方が介入を受けていて、もう片方が介入を受けていないとします。その場合、この2人の結果の差はやはりβ1となります。このように「Cの値が同じ場合を想定して因果効果を推定する」ということは、Cの値を一定に保ったうえで因果効果を推定するということと同義です。よって、この回帰分析の式を使うことで、Cの影響を取り除いたうえでのXとYとの関係を推定することができるようになるのです。

 

4.線形回帰分析が成り立つ前提条件を理解する

OLSを用いることができるのにはYが連続変数であること以外にも3つの前提条件があります。これらを満たさない時にどうすれば良いのかに関しては次のブログで詳しくご説明します。

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

②Independence(独立)・・・各データが独立していること(ある人のデータが他の人のデータに影響を与えないこと)

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

 

5.回帰分析を行うにあたっての注意点

回帰分析をやるうえではいくつかの注意点があるのでご説明します。

(1)それぞれの変数が原因変数なのか交絡因子なのかをあらかじめ明らかにしておく。

回帰分析の右辺に投入する変数が、原因変数なのか交絡因子なのか明らかにせずに解析を進めてしまう人にしばしば出会いますが、これは因果推論を行う上では問題です。基本的に、原因変数と結果変数の関係を検証するときに、補正が必要なものが交絡因子となります。つまり、ここでは交絡因子が結果変数にどのような影響を与えているか(交絡因子のβ係数の値のこと)は重要ではなく、交絡因子を重回帰分析に含めることで原因と結果の関係が変わるかどうかがポイントになります。

原因をX、結果をY、交絡因子をCとします。Cは交絡因子であるためXとYの関係を見る時にはCで補正する必要があります。しかし、仮にCとYの関係を見たいときにはXは交絡因子ではない可能性はおおいにあります。つまりある因子が交絡因子であり重回帰分析に含めるべきかどうかはXとYが明らかになって初めて分かるものですので、XとCをはじめからごっちゃにして解析をすることは問題があります。

ちなみに生物統計学の世界では、回帰分析の右辺に投入することで原因変数のβ係数が10%以上変化するものを交絡因子とするという考え方もありますが、これはどちらかというと慣習的なものであり科学的根拠があるわけではありません(この「10%ルール」はOLSにおけるルールでありロジスティック回帰分析などには通用しないことには注意が必要です)。

(2)原因変数と交絡因子は基本的には連続変数では用いない。

回帰分析の右辺に変数を投入するときに連続変数にしておくということは、その変数と結果変数との関係が線形(直線で表現できる)と仮定していることになります。もちろん二者の関係が線形であると信じる確固たる理由があるのであればそれで構いませんが、実際にはそうではないことがほとんどです。その場合、まずはカテゴリカル変数で投入することが推奨されます。年齢のような変数であれば5歳刻みにしてもよいですし10分位(サンプルサイズが同じになるように5個のグループに分ける)にしても大丈夫です。そして、カテゴリカル変数のβ係数の値をみて、線形の関係であるという確証が持てたら、はじめてその変数を連続変数として用いることが正当化されます。

ここで注意が必要なのは、カテゴリーはある程度細かいものである必要があるということです。例えば年齢を20歳刻みでカテゴリカル変数にした場合、20~40歳の人は全て均一なグループ(結果変数がほぼ同じ)であると仮定していることになり、これは間違った仮定かもしれません。各カテゴリー内では結果変数の値がほとんど変わらないようにカテゴリーに分ける必要があります。カテゴリーの分け方が分からなかったら、まずは一番細かいカテゴリー(5歳刻みや10分位)から初めて、β係数の値をみて結果変数の値がそれほど変わらないカテゴリーをまとめていくと言う方法が取られます。

カテゴリカル変数にすると言う代わりに、連続変数に加えて2乗、3乗にしたものを用いても大丈夫です。つまり、年齢が連続変数で記録されている場合、年齢+年齢2+年齢3を回帰分析の右辺に投入します。これは関係性の形に関してある程度の仮定(二次曲線や三次曲線)を置くことになりますが、線形で用いるよりははるかに弱い仮定になるため、こちらの方法も良いとされています。高次になるほど関係性に関する仮定を緩くしていることになりますので、慣習的にまずは2乗と3乗の両者を用います。ただし、これが原因変数の場合に結果の解釈が非常に複雑になるため、こちらの方法は主に交絡因子に用いて、原因変数はカテゴリカル変数にすることで対処する方が安全だと考えられます。

(3)推定できるβ係数の数はサンプルサイズの1/10が上限

生物統計学では慣習的にサンプルサイズ(データの数)の1/10の数までしかβ係数を推定できないと言われています。例えば、サンプルサイズが50人のデータを解析しているとすると、推定できるβ係数の数は合計5個になります。ここで結果変数は死亡率、原因変数は糖尿病、交絡因子は年齢と性別の2つであったとします。糖尿病の有無は0か1ですのでここで1つβ係数を推定します。性別でも1つのβ係数を推定します。そうすると、あと推定できるのβ係数は3つだけになります。年齢をカテゴリカル変数にするとしても、5歳刻みだと推定しなければならないβ係数の数が多過ぎるかもしれません。年齢に関してはβ係数を3つしか推定できないので、カテゴリーとしては、20歳未満、20~39歳、40~69歳、70歳以上という4つにするのが現実的かもしれません(カテゴリカル変数は1つのカテゴリーを除いた残りのカテゴリーのβ係数を推定するため、4つのカテゴリーがあるときには推定するβ係数の数は4-1=3つとなります)。

 

以上簡単にはありますが、回帰分析をOLSを中心にご紹介させて頂きました。次回の記事では上記のOLSの条件を緩めたときにどのような回帰分析が必要になるかをご説明します。例えば上記の「線形」という条件が満たせない場合にはOLSを使えず、代わりにGLM(Generalized linear model, 一般化線形モデル)という手法を用います。このGLMの代表例が、結果が0か1のように2つの値しか取らないときに用いられるロジスティック回帰分析です。このGLMからさらに「独立」の条件をゆるめたときにはMが一つ増えたGLMM(Generalized linear mixed model, 一般化線形混合モデル)という回帰分析の手法が必要になります。

(注)回帰は語源的には、「平均への回帰」に由来すると言われています。平均への回帰とは、データ測定を複数回行ったときに、1回目のデータが偏っていた(すごく高い値であった、もしくはすごく低かった)対象について、2回目のデータ測定を行うと、その値は1回目の値よりも全体の平均値に近くなる(1回目が平均よりも高い値であった場合には2回目のデータは平均に近づく、つまり低くなる)という統計学的現象を言います。

2件のコメント 追加

コメントを残す