シンプソンのパラドックス(Simpson's Paradox)とは,
テスト群(Test)と比較対照群(Cntl)を用意し,Testでの反応率の効果(Cntlに比べてTestの反応率が高いかどうか)を見ようとした場合などにおいて,
層別に分けた場合は,どの層においても効果ありとなるのに,全体でみると無効化だったり,逆効果だったりと矛盾する結果になる現象をいう.
(例)
Segment Treat N Resp RR
A Test 100 40 0.4 +
Cntl 900 270 0.3
B Test 900 180 0.2 +
Cntl 100 10 0.1
A+B Test 1000 220 0.22 -
Cntl 1000 280 0.28
これは,SegmentA,Bの層によって,TestとCntlの件数比率が歪んでおり,それにより合算した結果が
本来の傾向を反映できなくなっているためである.
このような場合は,層別の分割表の結果を統合的に評価するマンテルヘンツェルのχ2乗検定を行うことができる
サンプルプログラム
******************************************************************************
Simpson.sas
2008.4.17 翔
******************************************************************************;
/*
シンプソンのパラドックスのおこりそうな層別分割表では,
マンテルヘンツェルのX2を使うとよい
*/
options nocenter;
data simpson;
input segment $ test $ n r;
freq=n-r;resp=0;output;
freq=r;resp=1;output;
cards;
A 1Test 100 40
A 2Cntl 900 270
B 1Test 900 180
B 2Cntl 100 10
;
run;
/*
シンプソンのパラドックスのデータでは,層別(A,Bセグメント別)の傾向と
合計の傾向が矛盾する
AもBもTestのほうが,反応率がいいのに,合算するとTestのほうが悪くなる.
*/
proc freq;
tables segment*test*resp/chisq nopercent nocol;
tables test*resp/chisq nopercent nocol;
weight freq;
run;
/*
SAS システム 2008年04月17日 木曜日 午後09時56分06秒 22
FREQ プロシジャ
表 1 : test * resp
層別変数 : segment=A
test resp
度数 |
行のパーセント| 0| 1| 合計
--------------+--------+--------+
1Test | 60 | 40 | 100
| 60.00 | 40.00 |
--------------+--------+--------+
2Cntl | 630 | 270 | 900
| 70.00 | 30.00 |
--------------+--------+--------+
合計 690 310 1000
表 1 : test * resp の統計量
層別変数 : segment=A
統計量 自由度 値 p 値
-----------------------------------------------------------
カイ 2 乗値 1 4.2076 0.0402
尤度比カイ 2 乗値 1 4.0433 0.0443
連続性補正カイ 2 乗値 1 3.7531 0.0527
Mantel-Haenszel のカイ 2 乗値 1 4.2034 0.0403
ファイ係数 -0.0649
一致係数 0.0647
Cramer の V 統計量 -0.0649
表 2 : test * resp
層別変数 : segment=B
test resp
度数 |
行のパーセント| 0| 1| 合計
--------------+--------+--------+
1Test | 720 | 180 | 900
| 80.00 | 20.00 |
--------------+--------+--------+
2Cntl | 90 | 10 | 100
| 90.00 | 10.00 |
--------------+--------+--------+
合計 810 190 1000
FREQ プロシジャ
表 2 : test * resp の統計量
層別変数 : segment=B
統計量 自由度 値 p 値
-----------------------------------------------------------
カイ 2 乗値 1 5.8480 0.0156
尤度比カイ 2 乗値 1 6.7050 0.0096
連続性補正カイ 2 乗値 1 5.2162 0.0224
Mantel-Haenszel のカイ 2 乗値 1 5.8421 0.0156
ファイ係数 -0.0765
一致係数 0.0762
Cramer の V 統計量 -0.0765
表 : test * resp
test resp
度数 |
行のパーセント| 0| 1| 合計
--------------+--------+--------+
1Test | 780 | 220 | 1000
| 78.00 | 22.00 |
--------------+--------+--------+
2Cntl | 720 | 280 | 1000
| 72.00 | 28.00 |
--------------+--------+--------+
合計 1500 500 2000
test * resp の統計量
統計量 自由度 値 p 値
-----------------------------------------------------------
カイ 2 乗値 1 9.6000 0.0019
尤度比カイ 2 乗値 1 9.6180 0.0019
連続性補正カイ 2 乗値 1 9.2827 0.0023
Mantel-Haenszel のカイ 2 乗値 1 9.5952 0.0020
ファイ係数 0.0693
一致係数 0.0691
Cramer の V 統計量 0.0693
*/
/*マンテルヘンツェル*/
proc freq;
tables segment*test*resp/cmh nopercent nocol;
weight freq;
run;
/*
(略)
FREQ プロシジャ
test * resp の要約統計量
層別変数 : segment
Cochran-Mantel-Haenszel 統計量( テーブルスコアに基づく )
統計量 対立仮説 自由度 値 p 値
----------------------------------------------------------------
1 相関統計量 1 9.7781 0.0018
2 ANOVA 統計量 1 9.7781 0.0018
3 一般関連統計量 1 9.7781 0.0018
相対リスクの推定値 ( 行 1 / 行 2 )
研究の種類 調整方法 値 95% 信頼区間
--------------------------------------------------------------------------------
ケースコントロール研究 Mantel-Haenszel 0.5652 0.3962 0.8064
( オッズ比 ) ロジット 0.5788 0.4041 0.8289
コーホート研究 Mantel-Haenszel 0.8750 0.8054 0.9506
( 列 1 のリスク ) ロジット 0.8836 0.8265 0.9447
コーホート研究 Mantel-Haenszel 1.5000 1.1647 1.9319
( 列 2 のリスク ) ロジット 1.4210 1.1193 1.8040
オッズ比等質性に対する
Breslow-Day 検定
------------------------
カイ 2 乗値 0.8448
自由度 1
Pr > ChiSq 0.3580
標本サイズの合計 = 2000
*/
相対リスクの推定値の読み方
相対リスク?とは,発生確率の比のことで,( 行 1 / 行 2 )と書かれているように,Test(行1のこと)とCntl(行2のこと)のそれぞれの発生確率の比をさす.すなわちコントロール群(Cntl)に対して,テスト群(Test)が何倍発生率が高いのかの推定値が出力されている.
推定値として,大きく3種類(オッズ比,列1のリスク,列2のリスク)があり,さらにそれぞれ2種類の調整方法(Mantel-Haenszel方式,ロジット方式),計6種類の推定値とその95%信頼区間が示される.
この例の場合,「列2÷(列1+列2)」が着目している発生確率となるので,コホート研究?(列2のリスク)が,相対リスクの推定値である.この場合,Mantel-Haenszel方式の調整による推定値によれば,コントロール群(Cntl)に対して,テスト群(Test)が1.5倍発生率が高く,その95%信頼区間は,1.16~1.93である.
もし,列1のほうの発生確率に対する相対リスク(列1の事象の発生確率の倍率)を知りたいなら,コホート研究?(列1のリスク)をみればよい.この場合,0.87倍(MH方式)である.
また,ケースコントロール研究?のように,列1と列2のデータが,母集団から異なるサンプリング比率で抽出されている場合,列1(もしくは列2)事象の発生確率は,「列1(もしくは列2)÷(列1+列2)」として求められない.それでも,着目している事象の発生確率が十分小さいレアイベント?であるなら,相対リスクの近似値として,オッズ比?を計算することができる.
この場合,オッズ比は,列1の事象の相対リスクの近似値として{行1の(列1/列2)}/行2の(列1/列2)}として求められる.なお,オッズ比の場合,逆数をとれば,列2の事象の相対リスクが得られる.(そのためかどうかわからないが,出力されていない.)
- コホート研究,ケースコントロール研究については,統計的研究の種類を参照のこと.