No.00080 Pearsonの正確検定   【副島】 2006/05/16(Tue) 19:21

はじめまして。

Fisher's exact test で2群間の差を検定したいのですが,Peasonの方法とFisherの直接法でP値が違います。以下の分割表でPeasonの方法だとP値が0.05以 下になるのですが,Fisherの直接法だとP = 0.08となります。どちらが適切な方法なのかどなたか違いをご教授頂けないでしょうか。宜しくお願いします。
      第1列   第2列
第1行    5     13
第2行    2     31

No.00081 Re: Pearsonの正確検定   【統計初心者】 06/05/16(Tue) 19:28

ところでFisher's exact testにPearsonの方法というのがあるのですか?
僕の理解ではPearsonはカイ自乗検定であって,直接検定といえばFisherしか知らないのですが。

No.00082 Re: Pearsonの正確検定   【青木繁伸】 06/05/16(Tue) 21:16

 フィッシャー流の P 値の決め方とは,周辺和を固定した全ての分割表の生起確率をもとめ,実際に観察された分割表の生起確率より小さいか等しい分割表の生起確率を合計したものが P 値であるとするものである。
 ピアソン流の P 値の決め方とは,周辺和を固定した全ての分割表においてピアソンのカイ二乗統計量と生起確率を求め,実際に観察された分割表のピアソンのカイ二乗統計より小さいか等しい分割表の生起確率を合計したものが P 値であるとするものである。
  本来,Fisher の exact test の目的は,独立性の検定にあると思われ,独立性からのずれを評価する統計指標は様々ある。しかるに,フィッシャー流の P 値の決め方は,基盤とする統計量を用いていない。単に生起確率が観察された分割表の生起確率より小さいことのに基づくフィッシャー流の P 値の決め方は不適切であると考えるものである。

http://aoki2.si.gunma-u.ac.jp/R/fisher.html
においてある関数によれば,

> fisher(x, method="Fisher")
カイ二乗値 = 4.63887, 自由度 = 1, P 値 = 0.0312555
Fisher の方法による,正確な P 値 = 0.08154074581

> fisher(x, method="Pearson")
カイ二乗値 = 4.63887, 自由度 = 1, P 値 = 0.0312555
Pearson の方法による,正確な P 値 = 0.04464120523

なお,fisher.test では,当然ながら(?),フィッシャー流の P 値しか求めない。

計算の詳細は以下のようになる。
    a   b   c   d  a・d-b・c   分割表の生起確率    累積確率1      累積確率2
    0  18   7  26       -126    0.036899540575  0.036899540575  1.000000000000
    1  17   6  27        -75    0.172197856016  0.209097396590  0.963100459425
    2  16   5  28        -24    0.313646094886  0.522743491476  0.790902603410
    3  15   4  29         27    0.288410202194  0.811153693670  0.477256508524
    4  14   3  30         78    0.144205101097  0.955358794767  0.188846306330
    5  13   2  31        129    0.039074930620  0.994433725387  0.044641205233
    6  12   1  32        180    0.005291396855  0.999725122241  0.005566274613
    7  11   0  33        231    0.000274877759  1.000000000000  0.000274877759
ピアソン流では a=5,6,7 の場合の生起確率の和が 0.044641205233。
フィッシャー流では a=5,6,7 の他に,a=0 の場合も含むことになるわけだ。何となれば,a=0 の生起確率は a=5 のときの生起確率より小さいので,フィッシャー流によれば観察された分割表より極端であるという位置付けになる。
a=0 のときのカイ二乗値を計算すると,a=5 のカイ二乗値より大きいので,ピアソン流に言えば a=0 の分割表は a=5 より極端な場合に入らないということで,ピアソン流では a=5,6,7 の生起確率の和が P 値になるということ。

ちなみに,wilcox.test ではタイがあるので正確なP値は求められないといわれるが,
> wilcox.test(rep(0:1, c(5,13)), rep(0:1, c(2,31)),corr=F)
ウィルコクソンの順位和検定(マン・ホイットニーのU検定)

データ: rep(0:1, c(5, 13)) と rep(0:1, c(2, 31))
W = 232.5, P値 = 0.03296
対立仮説: 母平均は,0ではない

Warning message:
タイがあるため,正確な p 値を計算することができません in: wilcox.test.default(rep(0:1, c(5, 13)), rep(0:1, c(2, 31)), corr = F)

exactRankTests パッケージにある wilcox.exact では正確な P 値を計算できる

> wilcox.exact(rep(0:1, c(5,13)), rep(0:1, c(2,31)))
Exact Wilcoxon rank sum test

データ: rep(0:1, c(5, 13)) と rep(0:1, c(2, 31))
W = 232.5, P値 = 0.04464
対立仮説: 母平均は,0ではない

この P 値は,ピアソンの方法による P 値と同じになる。

2×2の独立性の検定とWilcoxonの順位和検定(マン・ホイットニーの U 検定)が同じ P 値を
与えるということで,ピアソンの方法による P 値の方に分があるようには思う。

No.00083 Re: Pearsonの正確検定   【統計初心者】 06/05/16(Tue) 21:26

青木先生,これはPearson's exact testと表現するのですか?

No.00084 Re: Pearsonの正確検定   【青木繁伸】 06/05/16(Tue) 21:50

> Pearson's exact testと表現するのですか

いいえ,そのような呼び方はしません。
http://www.cytel.com/Papers/sxpaper.pdf

No.00085 Re: Pearsonの正確検定   【統計初心者】 06/05/16(Tue) 22:02

ありがとうございます。
ググッてみるとPearson's exact testと表記しているものを見つけましたもので。

しかし,どうも先生の引用された文書をみてもこのPeasonによる直接P値を出す方法のはっきりした名前が分かりにくくて困惑しています。
Pearson testと表記すればいいのでしょうか?本筋とは少しずれた話で申し訳ありません。

No.00086 Re: Pearsonの正確検定   【副島】 06/05/17(Wed) 13:03

青木先生
ご丁寧な説明有難う御座いました。
先生のお考えは,少ない母集団を2×2表で検定する場合にフィッシャー流よりもピアソン流で検定した方が正確な検定が可能であると考えても宜しいでしょうか。

No.00087 Re: Pearsonの正確検定   【青木繁伸】 06/05/17(Wed) 14:17

> 少ない母集団を

「標本サイズが小さい場合」の書き間違いでしょうね。

===============================

フィッシャー流がよいかピアソン流がよいかは判定不能ですね。
お好きな方を取ればよろしいかと。
フィッシャー流にしておけば,誰も文句は言わないかも知れません。

● 「統計学関連なんでもあり」の過去ログ--- 038 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る