二乗検定・Rで検定

昨日の理論編(といっても期待値と検定についてしか述べてないが)を理解していれば、Rを使ったχ二乗検定は非常に楽。
以下のサイトを参考にした。

まずtblbiというオブジェクトに2群(ボディイメージ群、統制群)、2分類(脱頭足画、頭足画)からなる2×2分割表を代入する。

> tblbi<-matrix(c(10,10,0,20),ncol=2,byrow=T)
  • matrix:文字通り、マトリクスを作成する関数。
    • ncol:列数。当然nrowで行数の指定もできる。
    • byrow:デフォルトはFALSEで、マトリクスは列で埋め尽くされる。T(=TRUE)を選択したので行で埋め尽くされるマトリクスをつくろうとする。列数が指定されているので、列数を満たしながら行を作る。
  • c:ベクトルをつくる関数。

tblbiオブジェクトの中身を見てみる。

> tblbi
     [,1] [,2]
[1,]   10   10
[2,]    0   20

2×2分割表ができている。これをカイ二乗検定にかける。

> chisq.test(tblbi)

        Pearson's Chi-squared test with Yates' continuity correction

data:  tblbi 
X-squared = 10.8, df = 1, p-value = 0.001015

with Yates' continuity correctionとあるように、デフォルトでイェーツ補正をかけてくれる。
他の分割表もつくり、中身を見て、カイ二乗検定にかける、という手順を踏んでみることにする。

> tblpz<-matrix(c(4,16,0,20),ncol=2,byrow=T)
> tblpz
     [,1] [,2]
[1,]    4   16
[2,]    0   20

> chisq.test(tblpz)

        Pearson's Chi-squared test with Yates' continuity correction

data:  tblpz 
X-squared = 2.5, df = 1, p-value = 0.1138

Warning message: 
Chi-squared approximation may be incorrect in: chisq.test(tblpz) 

> tblms<-matrix(c(8,12,0,20),ncol=2,byrow=T)
> tblms
     [,1] [,2]
[1,]    8   12
[2,]    0   20
> chisq.test(tblms)

        Pearson's Chi-squared test with Yates' continuity correction

data:  tblms 
X-squared = 7.6562, df = 1, p-value = 0.005658

Warning message: 
Chi-squared approximation may be incorrect in: chisq.test(tblms) 

tblpz(パズル群)とtblms(模写群)に関して検定を行なったわけだが、近似値は正しくない恐れがある、という警告が出ている。これはおそらく期待値が5以下のものがいずれかのセルに含まれているからである。この点に関して、次項目で触れる。

フィッシャーの正確確率検定(直接確率)

下記サイトによると、

2 × 2 分割表において,4 つの桝目のいずれかの期待値が 5 以下のときには,「χ2 分布を利用する独立性の検定」は不適当である。

そこで、フィッシャーの正確確率検定(たいていの教科書では「直接検定」exact testと訳されている)についても検討する。
理論的には上記サイトの説明で充分。ようは、その2×2分割表の生起確率が極端なものかいなかを検定している。

  • 前提:
    • 帰無仮説 H0:「2 要因は独立である」,または「比率に差がない」。
    • 対立仮説 H1:「2 要因は独立でない」,または「比率に差がある」。
    • 有意水準 α で両側検定を行う(片側検定も可能である)。

これらの前提をそのまま採用できる。
解説ページに、高校で数学を履修していないと理解できない表記があるので若干の注意書きを記す(ぼくもこれで統計の勉強につまづきました。入試に数学が必要じゃない方は高校で数学を履修していないことが多いと思いますが、青チャートの「個数の処理」あたりだけでも読んでおくとよいかもしれません)。

新課程 チャート式 基礎からの数学I+A

新課程 チャート式 基礎からの数学I+A

  • n!:nの階乗と読む。
    • n! = n(n-1)(n-2)……2・1 という意味。ただし、0! = 1と定義する。
  • nCr:n個の異なるものからr個とる組合せの総数。
    • nCr = n! / r!(n-r)!

とりあえずカイ二乗検定で使った3つのマトリクスをフィッシャーの正確確率検定にかける。まずはボディイメージ群から。

> fisher.test(tblbi)

        Fisher's Exact Test for Count Data

data:  tblbi 
p-value = 0.0004359
alternative hypothesis: true odds ratio is not equal to 1 
95 percent confidence interval:
 3.428934      Inf 
sample estimates:
odds ratio 
       Inf 

> fisher.test(tblbi,alternative="g")

        Fisher's Exact Test for Count Data

data:  tblbi 
p-value = 0.0002180
alternative hypothesis: true odds ratio is greater than 1 
95 percent confidence interval:
 4.500512      Inf 
sample estimates:
odds ratio 
       Inf

上が両側検定で、下が片側検定。
両側検定ではp値が0.0004359(<5%)で、帰無仮説を棄却する。
片側検定(alternative="g"という引数を渡している)では、p値が0.000218で、帰無仮説は棄却できる。

> fisher.test(tblpz)

        Fisher's Exact Test for Count Data

data:  tblpz 
p-value = 0.1060
alternative hypothesis: true odds ratio is not equal to 1 
95 percent confidence interval:
 0.7060941       Inf 
sample estimates:
odds ratio 
       Inf 

> fisher.test(tblpz,alternative="g")

        Fisher's Exact Test for Count Data

data:  tblpz 
p-value = 0.05301
alternative hypothesis: true odds ratio is greater than 1 
95 percent confidence interval:
 0.9713421       Inf 
sample estimates:
odds ratio 
       Inf 

これはパズル群。両側でp = 0.106、片側でp = 0.05301なので、帰無仮説を採択する。

> fisher.test(tblms)

        Fisher's Exact Test for Count Data

data:  tblms 
p-value = 0.003276
alternative hypothesis: true odds ratio is not equal to 1 
95 percent confidence interval:
 2.260980      Inf 
sample estimates:
odds ratio 
       Inf 

> fisher.test(tblms,alternative="g")

        Fisher's Exact Test for Count Data

data:  tblms 
p-value = 0.001638
alternative hypothesis: true odds ratio is greater than 1 
95 percent confidence interval:
 2.984197      Inf 
sample estimates:
odds ratio 
       Inf 

模写群。両側でp = 0.003276、片側でp = 0.001638なので、帰無仮説を棄却する。



……と、2日にわたって2標本検定を行なってきたが、これはあくまでもぼくが勝手に帰無仮説を設定して行なった「例示」なので、卒論にする際には、何を帰無仮説にすれば自分の書きたい論文になるのかを考えて、再度検定をおこなってください。