玄関雑学の部屋雑学コーナー統計学入門

5.2 間違いやすい相関分析と回帰分析

(1) 葬患係数と怪奇直線

次に間違いやすい例を2、3挙げてみましょう。 表5.1.1と全く同じxに対して表5.2.1のような4種類のyがあったとします。

表5.2.1 xと4種類のy
No.xy1y2y3y4
1108.049.147.469.42
286.958.146.775.18
3137.588.7412.749.08
498.818.777.119.53
5118.339.267.819.30
6149.968.108.848.97
767.246.136.085.40
844.263.105.395.62
91210.849.138.159.20
1074.827.266.425.29
1155.684.745.735.51
平均97.507.507.507.50

xと4種類のyについて相関係数と直線回帰式を計算すると、それらは全て次のようになります。

相関係数:r ≒ 0.816  寄与率:r2 ≒ 0.667(66.7%)
回帰直線:y = 3 + 0.5x

しかしこれらのデータの散布図を描いてみると、驚くべきことに――このデータには苦労したんですから、少しは驚いて下さい!――図5.2.1のように内容はまるで違っています。

図5.2.1 4種類の散布図

y1は例題と同じデータであり、これは正解です。

y2はプロットが放物線状になっていて、そのまま相関係数や回帰直線を計算してはいけない例です。 そのまま計算した回帰直線を信頼すると、xが1増加するとyが0.5増加すると解釈してしまいます。 ところが実際にはxが10まではxが増加するとyも増加しますが、10を超えるとxが増加するとyは減少しています。 そこでx2の項も加えて放物線によって回帰すると次のようになり、各データはほぼ放物線上に並びます。 そしてこの回帰曲線を利用してyが最大値になる時のxの値を逆推定することができます。

回帰曲線:y2= -6 + 2.78x - 0.13x2
寄与率:R2 ≒ 1(100%)

y3外れ値(異常値)の例です。 3番目のデータ12.74を除くと次のようにきれいになります。

相関係数:r ≒ 1
回帰直線:y3 = 4 + 0.35x

ただし、だからといって3番目のデータは除外しても良いというわけではなく、

「3番目のデータだけは他のデータと違って、x以外の因子によっても動かされている可能性が高い

と解釈すべきです。 例えば薬剤の副作用が発生した時はこのようなデータになることが多く、副作用に関する情報を持っている項目を説明変数に追加して重回帰分析を適用すると外れ値ではなくなる時があります。 (→第7章 重回帰分析)

外れ値の影響を受けにくいノンパラメトリックな回帰分析として回帰係数の中央値に基づくパッシング・パブロック(Passing-Bablock)法や、目的変数の中央値を利用した抵抗直線などがあります。 そして外れ値がある時はそれらの手法を適用した方が良いと主張する人達がいます。 しかし外れ値がx以外の因子によっても動かされている時にそれらの手法を適用してしまうと、外れ値を正しく解釈することはできません。

外れ値はひょっとすると何か新しい現象なのかもしれませんし、そこから新しい発見があるかもしれません。 そのため外れ値がある時は、それを無視したり軽視したりするのではなく慎重に検討するのが賢明です。 (→2.6 尺度合わせと外れ値)

y4質的に異なった2種類のデータを一緒にしてしまっている可能性が高い例です。 例えば2,7,8,10,11番のデータ——xの値で4〜8——は雄のデータ、残りは雌のデータとして別々に計算すると、次のようにどちらもほぼ完全に直線上に並びます。 しかもこの時のxとyの関係は負の相関関係になり、全体で計算した時と反対の結果になります。

雄:相関係数:r = -1  回帰直線:y4 = 6.06 - 0.11x
雌:相関係数:r ≒ -1  回帰直線:y4 = 10.54 - 0.11x

y1〜y3は回帰直線ならぬ怪奇直線の見本として、知る人ぞ知る、一部の人にはよく知られたデータです。 y4は私の作ったデータで、知る人ぞ知らず、残念ながら誰にも知られていません。 (注1)

もちろん、これらは作為的に作ったデータです。 でもこれらに類することは実際の試験でも十分に起こり得ることです。 データが多数になるといちいち散布図を描くのが面倒なので、どうしても計算結果だけを見てデータの内容を判断してしまいがちです。 しかし葬患係数怪奇直線を作らないためにも、できるだけ散布図を描き、目で見て判断してから適切な方法で解析することが大切です。

ちなみにy4のデータについて雄のデータがもうひとつあり、そのxの値が10で他のデータと同様に回帰直線上に乗っていたとします。 するとそのy4の値はy4=6.06-0.11×10=4.96になります。 雄のデータを1つ追加する理由は、次の説明のために雄と雌の例数を同じにするためです。 そしてxを薬物の用量としてx=9.5よりも低い値を低用量群、高い値を高用量群とします。 さらにy4を効果としてy4=7.5よりも低い値を無効、高い値を有効に分類したとします。

この2つの用量群と有効/無効の関係を全体、雄だけ、雌だけについてそれぞれ2×2分割表にまとめると次のようになります。

表5.2.2 全体の2×2分割表
群\効果無効有効
低用量群5(83%)1(17%)6(100%)
高用量群1(17%)5(83%)6(100%)
6612
表5.2.3 雄の2×2分割表
群\効果無効有効
低用量群5(100%)0(0%)5(100%)
高用量群1(100%)0(0%)1(100%)
606
表5.2.4 雌の2×2分割表
群\効果無効有効
低用量群0(0%)1(100%)1(100%)
高用量群0(0%)5(100%)5(100%)
066

全体の分割表を見ると、低用量群の有効率よりも高用量群の有効率のほうが高く、ちょうど図5.2.1の散布図のように用量−効果の間に正の相関があるように見えてしまいます。 しかし雄だけの分割表と雌だけの分割表を見ると、雄は用量とは無関係に全例無効、雌は用量とは無関係に全例有効であり、用量−効果関係はありません。

このように、層別解析した時に層ごとの結果と全体の結果が矛盾してしまう現象のことをシンプソンのパラドックス(Simpson's paradox)といいます。 この現象は結果に影響を与える因子——交絡因子(confounding factor)、この場合は性別——の違いを考慮せずに、複数のデータを一緒にして解析することから生じるものです。 図5.2.1を見るとその原理がよくわかると思います。 (→第8章 共分散分析)

(2) 連動係数と連動回帰直線

臨床試験などで、ある項目と別の項目について2つの時期でデータが測定されている時に、それらの項目が関連しながら変化しているかどうかを調べたい時があります。 例えば、ある薬剤の投与前後で収縮期血圧と拡張期血圧を測定した次のようなデータがあり、これらの項目が関連しながら変化しているかどうかを調べたいとします。

表5.2.5 薬剤投与前後の収縮期血圧と拡張期血圧
 収縮期血圧拡張期血圧
No.投与前投与後変化量投与前投与後変化量
1160130-308781-6
2150121-299275-17
3142119-239679-17
4141119-228978-11
5140120-209080-10
6139116-239177-14
7139140188902
8136109-278272-10
9129104-2585861
10124122-210082-18
平均140120-209080-10

この場合、時期別にそれぞれ相関係数を計算したり、項目別に投与前後の変化量を計算し、その変化量について相関係数を計算したりすることがよくあります。 しかしそれらはどちらも間違いです。

たとえ時期別に相関係数が大きくても2つの項目が関連して動いているとは言えないことは、図5.2.2の(2)を見ればすぐわかると思います。 つまり全ての症例について収縮期血圧だけが一定の値——例えば20mmHg低下したとすると、プロットは左(xが小さくなる方向)に平行移動しただけになります。 そのため2つの項目が関連して変化していなくても、投与前の相関係数が大きければ投与後の相関係数も大きくなります。 また反対に拡張期血圧だけが一定の値——例えば10mmHg低下したとしても同様です。

変化量の相関係数は非常に誤解しやすいので、図5.2.2の(1)〜(4)を見ながらよく考えてみましょう。 仮に2つの項目が完全に関連して変化していて、全てのデータについて収縮期血圧が20mmHg低下し、拡張期血圧が10mmHg低下したとします。 するとその変化量は全て(-20、-10)になり、変化量のプロットは1点に集まってしまいます。 反対に2つの項目が完全に独立に変化していて、半分のデータについては収縮期血圧だけが20mmHg低下し、あと半分は拡張期血圧だけが10mmHg低下したとします。 するとその変化量は(-20、0)と(0 、-10)の2種類になり、変化量のプロットは2点に集まってしまいます。

こうして2つの項目が関連して変化している時には変化量の相関係数はほぼ0になり、独立に変化している時には変化量の相関係数はほぼ-1になります。 もちろん実際のデータにはバラツキがあるので、完全に1点に集まることはないでしょう。 しかし変化量の相関係数を計算することの非合理性は理解していただけると思います。

図5.2.2 データのプロットと差変化量プロット

また全てのデータが収縮期血圧は20mmHg上昇し、拡張期血圧は10mmHg低下したとします。 すると図5.2.3のように時期別には相関係数が正であっても、2つの項目はお互いに反対方向に関連して変化したことになります。 つまり2つの項目の間に相関があるということと、2つの項目が関連して変化するということは本来別のものであり、はっきりと区別しなければならない現象なのです。 ただ自然の状態で相関がある項目は、その相関の方向にそって——つまり正の相関があれば互いに同じ方向に、負の相関があれば互いに反対の方向に——変化しやすいのでそれらを混同してしまいがちなのです。

図5.2.3 項目間の相関と変化の関連性

では変化の関連性を要約するには、一体どのようにすれば良いでしょうか? それには通常とは多少異なった相関係数と回帰直線を用いる必要があります。 投与前後の変化量は偏差の一種と考えられるので、5.1節で相関係数の計算に使用した平均からの偏差を前後の変化量に置き換えて次のように定義します。

X = dx = x(後) - x(前)  Y = dy = y(後) - y(前)

これに応じて積和や平方和も次のように定義します。

Sdxdy = ΣXiYi = Σdxidyi=Σ{xi(後) - xi(前)}{yi(後) - yi(前)}
Sdxdx = ΣXiXi = Σdxi2=Σ{xi(後) - xi(前)}2
Sdydy = ΣYiYi = Σdyi2=Σ{yi(後) - yi(前)}2

この時の相関係数と寄与率の定義式は次のようになります。


この相関係数が正の値になった時はxとyの変化量が同一符号のものが多い、つまり変化量のプロットにおいて第I・III象限のプロット数が多く、2つの項目が同じ方向に変化している正の関連性があることになります。 反対に負の値になった時は変化量が反対符号のものが多い、つまり変化量のプロットにおいて第II・IV象限のプロット数が多く、2つの項目が反対方向に変化している負の関連性があることになります。 そこでこの相関係数を連動係数と名付け、l(エル)で表すことにします。

また通常の直線回帰式を変形して、偏差に関する直線回帰式にすると次のようになります。

y = a + bx = (my - bmx) + bx
∴(y - my) = b(x - mx)

したがって変化量に当てはめるべき回帰直線は、次のように定数項を無くして切片を0にした回帰式になります。 (注2)

図5.2.4 変化量の回帰直線
  β:母回帰係数(傾き)  推定誤差:
直線回帰式:dy = b dx
回帰係数:

この時の回帰係数bはxとyの変化量が平均してどのような比になっているのか、つまり2つの項目が平均してどのような比で変化しているのかを表す値です。 2つの項目が一定の比で変化していれば全ての変化量のプロットが回帰直線上に乗り、連動係数が「1」または「-1」になります。 したがってこの回帰直線のことを連動回帰直線と呼ぶことにします。

また変化量の全データのうち連動回帰直線によって説明されるデータの割合つまり寄与率は、連動係数を平方した値に一致します。 この値はxとyが一定の比で変化している割合を表わしているので、連動率または連動一致係数と呼ぶことにします。

連動一致係数:

通常の相関係数や回帰直線と同様に、連動係数と連動回帰直線についても検定を行なうことができます。 これは自由度が異なるだけで通常の相関係数や回帰直線の検定とほぼ同じものであり、やはり有意性検定と統計的仮設検定があります。 (注3)

帰無仮説 H0:λ(母連動係数) = 0 または β(母回帰係数) = 0
有意性検定の対立仮設 H1:λ ≠ 0 または β ≠ 0
統計的仮設検定の対立仮設 H1:λ = ±δλ または β = δβ
δλ:連動係数の検出差  δβ:回帰係数の検出差
検定統計量:
検定:|to| ≧ t(n-1,α)の時有意水準100α%で有意
推定:連動係数の信頼区間については(注4)参照

自由度が(n-1)になるのは、各データから平均を引いて偏差を計算したのではなく前後の差を偏差にしたためです。 またδλを設定する時は連動率を参考にします。 そして連動率の基準は寄与率と同様で良いでしょう。

ここで有意水準5%として、表5.2.5の例題について実際に計算してみましょう。

Sdxdy = (-30)×(-6) + (-29)×(-17) + (-23)×(-17) + (-22)×(-11) + (-20)×(-10) + (-23)×(-14) + 1×2 + (-27)×(-10) + (-25)×1 + (-2)×(-18) = 2111
Sdxdx = 302 + 292 + 232 + 222 + 202 + 232 + 12 + 272 + 252 + 22 = 5042
Sdydy = 62 + 172 + 172 + 112 + 102 + 142 + 22 + 102 + 12 + 182 = 1460
  
検定:
推定:95%信頼区間 下限:lL = 0.334 上限:lU = 0.939
統計的結論:収縮期血圧と拡張期血圧の連動係数は0ではない。 それは0.778であり、幅をもたせれば0.334〜0.939の間である。

以上のように検定結果が有意で連動率が60%もあるので、次のように結論できそうです。

「収縮期血圧と拡張期血圧は正に関連しながら低下した」

この場合、収縮期血圧と拡張期血圧の間に関連性があることは確かでしょうが、それが相関関係――お互いに影響を与え合っているという関係――なのか、それとも因果関係――一方が原因で、もう一方が結果という関係――なのかはわかりません。 そしてもし因果関係だとしても、どちらが原因でどちらが結果かは判断できません。 したがって連動回帰直線は計算不可能です。 しかし仮に収縮期血圧の低下が原因になって拡張期血圧が低下したとすれば、次のような連動回帰直線を求めることができます。 そしてこの式から収縮期血圧1mmHgの低下について拡張期血圧は約0.4mmHg低下することがわかります。

回帰係数:
∴dy = 0.419 dx

反対に拡張期血圧の低下が原因になって収縮期血圧が低下したとすれば、次のように拡張期血圧1mmHgの低下について収縮期血圧は約1.4mmHg低下することがわかります。

回帰係数:
∴dx = 1.446dy (dy = 0.692dx)

回帰直線の原理で説明したように、原因と結果を入れかえた時の連動回帰直線は一般に一致するとは限りません。 そのためこの例のように2つの項目の因果関係がはっきりしない時はどちらの連動回帰直線が適当なのか判断することができず、変化量の量的関係を正確に要約することはできません。 そこで仕方がないので前述のように原因と結果を入れかえた2本の連動回帰直線を計算し、その回帰係数から変化量の比を求めて、それらを変化量の量的関係の目安にします。 上の例題では次のように大雑把にとらえておけば良いでしょう。

収縮期血圧低下量:拡張期血圧低下量 = 1:0.55(0.4〜0.7)

言うまでもないことですが、収縮期血圧の平均低下量20mmHgと拡張期血圧の平均低下量10mmHgの比0.5は全体としての低下量の比を表すだけで、個々の症例における低下量の比を表すわけではありません。 したがってこの値によって低下量の量的関係を要約することは不適当です。

また個々の症例について低下量の比「r=拡張期血圧低下量/収縮期血圧低下量」を計算し、その平均値を求めると次のように1以上になり、直観的な低下量の量的関係とくい違ってしまいます。

この原因は第2章第4節で説明した差と比の使い分けに関係しています。 つまり分母となるデータが小さい時は分子となるデータの誤差が相対的に大きくなり、平均値を大きく狂わせてしまうのです。 (→2.4 差と比とパーセントの使い分け)

(3) 選択例の相関係数

臨床試験などでは、ある項目の値によって症例を選択する――これを範囲制限(restriction of range)といいます――ことがよくあります。 例えば「収縮期血圧が120mmHg以上または拡張期血圧が80mmHg以上の症例」だけを選んで試験を行なったとします。 すると図5.2.5のように本来は正の相関があっても相関係数が0に近い値になったり、場合によっては相関係数が負になったりして、正確な相関係数を求めることができなくなります。 (注5)

図5.2.5 血圧の初期分布 図5.2.6 血圧の全時期分布

つまり自然な相関係数は全母集団から無作為抽出した標本でなければ求められないのです。 何らかの基準を設定して標本を選択した時は、自然な相関係数は求められない可能性が高くなります。 そのため相関係数を正確に計算できるのは、どちらの変数もコントロールせずに観察したデータつまり横断的研究で得られたデータだけということになります。

前向き研究または後ろ向き研究では一方の変数をコントロールすることが多く、相関係数を正確に計算することはできません。 そのような時に自然状態に近い相関係数を計算するには前後のデータを全て一緒にして相関係数を計算するという方法が考えられます。 こうすることによってデータ数も増え、サンプリングによって偏っていた集団も自然状態に近くなります。

例えば表5.2.5のデータをプロットすると図5.2.6のようになります。 この場合、薬剤投与前のデータは高血圧患者の標本と考えられ、投与後のデータは正常人に近い標本と考えられます。 そのため投与前後のデータを合わせた全時期のデータは、自然状態により近くなると考えられます。 このデータについて投与前、投与後、全時期の相関係数を計算すると次のようになります。

投与前:n = 10  r = -0.216  r2 = 0.046(4.6%)
投与後:n = 10  r = 0.461  r2 = 0.212(21.2%)
全時期:n = 20  r = 0.575  r2 = 0.331(33.1%)

この結果と図5.2.6からわかるように、投与前のデータは自然な相関係数が求められずに負の相関係数になっています。 しかし正常人に近い投与後のデータも含めると正の相関係数になり、自然状態により近い相関係数になります。

ただしこの方法で計算した相関係数は選択された症例の変化に基づいているので、本当の「自然な相関係数」とは区別しなければなりません。 (2)節で説明したように、項目間に相関があるということと関連して変化するということは別の現象です。 そのため図5.2.3のように自然な相関関係の方向に変化していないデータは、前後のデータを一緒にしてもやはり正確な相関係数は求められないことになります。 また使用した薬剤が両方の項目に効果があり、どちらも同じように変化させたため、本来は相関がないのにもかかわらず相関係数が大きくなり、見かけ上の相関が生じることもあり得ます。

以上のことから、試験結果はあくまでも標本集団と同じような背景因子を持つ準母集団にしかあてはめられず、むやみに一般化できるものではないということがわかると思います。 また統計手法はデータの種類と、そのデータを取得した研究デザインの種類に応じて色々なものが開発されています。 そのためそれらの手法の原理をよく理解して、適切に使い分けることが大切です。


(注1) F.J.Anscombe:American Statistican (27),p17-21,1973 参照。

(注2) 最小2乗法によって回帰係数bを求めてみましょう。


Q(b)をbで微分して0と置いた方程式を解くと次のようになります。

  ∴
○全体
平方和:   自由度:φdy = n
○回帰
平方和:   自由度:φβ = 1
○残差
平方和:SR = Q(b) = Sdydy - Sβ   自由度:φR = φdy - φβ = n - 1
回帰係数の標準誤差:
寄与率:
100(1-α)%信頼区間 = b±t(φR,α)SEb → 下限:βL = b - t(φR,α)SEb  上限:βU = b + t(φR,α)SEb

(注3) 連動関係数と連動回帰直線は、対応のあるt検定つまり時期が2つの分散分析二元配置法と深い関係があります。 2時期の分散分析二元配置法のデータとその変化量は次のように表すことができます。

時期1:y11,…,y1i…,y1n (i=1,…,n)
時期2:y21,…,y2i,…,y2m
変化量:dy1,…,dyi,…,dyn

変化量dyを目的変数とし、説明変数として次のようなダミー変数dxを対応させます。

変化量:dy = dy1,…,dyi,…,dyn (i=1,…,n)
dx = 1,…,1,…,1
回帰直線:
図5.2.7 対応のある2時期の回帰分析
  
     
  
  φT = 2n - 1
  φA = 1
  φB = n - 1
  
φR = φT - φAB = n - 1
回帰係数の検定=要因Aの検定の帰無仮説 H0:β = δ = 0

検定:FA ≧ F(φAR,α)の時有意水準100α%で有意

以上のように、この時の回帰係数bは変化量の平均値になり、回帰係数の検定は要因Aの検定つまり対応のあるt検定と一致します。 回帰の寄与率すなわち連動率は全変動に対する要因Aの寄与率ではなく、次のように全変動から要因Bの変動分を差し引いたものに対する要因Aの寄与率になります。

連動率と分散分析二元配置法におけるF値の間には、一元配置法と同じく次のような関係があります。

  

したがって対応のあるt検定におけるt値と連動率の関係は、対応のないt検定と同じく次のようになります。 (→3.3 2標本の計量値4.1 多標本の計量値)

    φ = n - 1

(注4) 連動係数の信頼区間は、相関係数と同様にフィッシャーのz変換(z-transformation)を利用して求めます。 (→5.1 相関係数と回帰直線 (注1))

フィッシャーのz変換:
100(1-α)%信頼区間 下限:  上限:

表5.2.5の例題について実際に計算すると次のようになります。


95%信頼区間 下限:  上限:

(注5) 一方の値だけで範囲制限した時、選択後の相関係数と選択前の相関係数の間には次のような関係があります。 この式を利用すると、一応は相関係数に関する範囲制限の修正を行うことができます。 ただし両方の変数を図5.2.5のように範囲制限すると、範囲制限の修正はできません。

  r0:選択前の相関係数  r:選択後の相関係数
c= 選択した変数の選択後の標準偏差 選択した変数の選択前の標準偏差
※例えばr=0.3、c=0.2とすると