@genkuroki: #統計 Fisher検定は1通りではない。Rのfishe...

@genkuroki
31 views Sep 06, 2025
1
#統計 Fisher検定は1通りではない。

Rのfisher.testのP値はexact2x2::exact2x2関数でのtsmethod="minlike"と同じ。

Yates補正が非常によく近似しているのは、exact2x2::exact2x2でのtsmethod="central"の側です。これは片側確率の2倍をP値とする方法で非常に保守的です。

関連情報の紹介に続く
2
#統計 Rのexact2x2::exact2x2を使っている様子
3
#統計 Rのfisher.testのP値と信頼区間の間には整合性がない。
4
#統計 Fisher検定(minlike, central)、Pearsonのχ²検定(無補正、Yates)の4通りについて、P値がα以下になる確率を求めるシミュレーションの紹介

5
#統計 よく見るFisher検定やPearsonのχ²検定の実装の致命的な欠点は、差がないことを意味するゼロ仮説(オッズ比=1)のP値しか計算してくれないことです。

ゼロ仮説以外の任意の数値ω>0に関するオッズ比=ωという仮説などのP値も計算してくれるべき。他にもRRやRDについても。
6
#統計 関連
7
#統計 #Julia言語

これのシミュレーションでは100万回実行している。

github.com/genkuroki/publ…

綺麗なグラフを描くには10万回程度は必要。
8
#統計 関連
9
#統計 分割表の独立性(差がないというゼロ仮説の1つ)に関するFisher検定もPearsonのχ²検定もどちらも「P値が5%未満ならば有意差があるとみなす」というスタイルで使われる悪名高い帰無仮説有意性検定(NHST)であることに注意が必要です。

P値は以下のリンク先のように使う必要があります。
10
#統計 NHSTとしてのFisher検定やPearsonのχ²検定はミスリーディングなので、以下のようにする必要があります。

* ゼロ仮説以外の仮説のP値も計算するように拡張する。

* P値を有意か否かの二分法のために用いずに、データの値とモデル+仮説の相性の良さ(compatibility)の連続的指標として利用する。
11
#統計 個人的には、ゼロ仮説以外の仮説のP値も計算するような拡張は必須だと思うのですが、そのような統計ソフトをすぐに使えない場合には、信頼区間を相性区間(compatibility interval)として使うことで代用するという選択肢があります。
12
#統計 100(1-α)%信頼区間=100(1-α)%相性区間の定義は「データの値との相性を意味するP値がα以上になるモデルのパラメータの値の範囲」なので、すべての閾値αについて相性区間(compatibility interval)を考えれば、ゼロ仮説以外のすべての仮説のP値を考えたのと同等になります。
13
#統計 信頼区間=相性区間(compatibility interval)を計算するときのカットオフを5%に固定して、「区間が帰無値をまたがないか否か」で「有意か否か」を決定して利用することは、またしても有害な帰無仮説有意性検定(NHST)の使用と同等になるので避けるべきです。
14
#統計 Fisher検定とPearsonのχ²検定のどちらを使うかよりも以上に述べたようなP値を誤用しないようにすることの方が圧倒的に重要。

* ゼロ仮説以外の仮説のP値も計算できなければいけない。(任意のカットオフで信頼区間=相性区間を計算できなければいけない。)

* P値による安易な二分法を避ける。
15
#統計 P値や信頼区間=信用区間(compatibility interval)の計算法としてFisher検定とPearsonのχ²検定のどちらを使うかはP値に要請したい条件によって決めれば良い。

どちらにも一長一短があり、片方が一方的にもう一方よりも優れているわけではない。Fisher検定もcentralとminlikeの2種類以上がある。
16
#統計 P値に要請する標準的な条件には次の2つがあります。

(近似的一様分布性) モデル+仮説の確率分布で生成されたデータについて、P値<αとなる確率はαで近似される。

(厳密な保守性) モデル+仮説の確率分布で生成されたデータについて、P値<αとなる確率は常にα以下になる。
17
#統計 厳密な保守性を要求したい場合にはFisher検定を採用するべきです。その代わりに検出力がかなり低下し、信頼区間=相性区間も広くなります。

近似的一様分布性を要求したい場合には補正無しのPearsonのχ²検定の方が優れています。その代わりに厳密な保守性は成立しなくなります。
18
#統計 両側Fisher検定には少なくとも次の2種類があります。

* P値を片側確率の2倍で計算するcentral法

* P値をモデル内においてデータ以下の確率で生じる場合の確率の総和で計算するminlike法

Rのfisher.testはcenteal法で信頼区間を計算し、minlike法でP値を計算しています。整合性がない!
19
#統計 有意水準5%の両側検定を、正の効果があるかに関する有意水準2.5%の片側検定として使いたいならば、P値を片側確率の2倍で計算するcenteal法を使うべきなのですが、Rのfisher.testが表示するP値はminlike法での値になっています。
20
#統計 Yates補正されたPearsonのχ²検定のP値は、central法の(片側確率の2倍版の)Fisher検定のP値に良い近似になっています。(Yates補正はRのfisher.testのminlike法によるP値の良い近似にはなっていない。)

だから、Yates補正版χ²検定を使うくらいなら、centeal版Fisher検定を使うべきです。
21
#統計 以上のように、分割表に所謂コクランルールはまともな根拠がありません。

現時点においてもコクランルールを他人に強制しようとしている人達はきちんと反省する必要があります。

(((残念ながら反省するつもりがない人達が実に多い)))
22
#統計 分割表での検定法の選択では以下のような合理的な規準を採用するべき。

* P値に関する「厳密な保守性」と「近似的一様分布性」のどちらを優先するか

* 片側検定との整合性は必要か

* 1つの方法が他よりすべての面で優れているとは言えず、トレードオフの関係になっていることを理解しているか
23
#統計 そして、それ以前の問題として、様々な理由で有害であることがわかっている帰無仮説有意性検定(NHST)のためにP値を使おうとしているならば、Fisher検定とPearsonのχ²検定のどちらを使っても科学的にまともな統計学の使い方をできていないことを自覚するべき。

代替案

24
#統計 Fisher検定やPearsonのχ²検定を「ゼロ仮説以外の仮説のP値も計算するように拡張する」ことをできない人達は、「任意の信頼水準でのオッズ比、リスク比、リスク差の信頼区間」で代用できる。

信頼区間なら多くの統計ソフトで実装されている。(しかし、困ったことにP値と整合性がない場合がある)
25
#統計 関連
Actions
Visual Editor
Update Thread
What You Can Do
  • Download as PDF
  • Save to Notion
  • Export as Markdown
  • Visual Editor
Create Free Account

Includes 7-day Premium trial