統計学の自習:カイ二乗検定について

■どんな時に使えるのか
 2つ以上の標本の比率に有意差があるか検定したい時に使う。具体的には、数式等によって導いた理論値と実験で測定した実測値との間にどれぐらい差があるか(適合度の検定)、アンケート等で属性間で見られる回答の差は、属性の違いによるものと見ていいか(独立性の検定)を調べる時に使う。

■自分がどんな時にカイ二乗検定を使ったか
 複数回答できるアンケート調査で、年齢等によって複数の要素を指摘する頻度に有意差があるか検定するためにカイ二乗検定を使った。くだけた言い方をすれば、年寄りと若い人で指摘の仕方に違い(独立性)があるか調べるのに使った。但し使い方に悩んだところもある、詳しくは補足にて。

■Excelでカイ二乗検定を行う
緑字は使用したExcel関数。灰字はExcel用に加工した一般式。
・属性a,b,c…×指摘要素A,B,C…によって実測値をクロス集計した表を用意する。
・各列、各行、全体の合計値を求める(SUM:値を合計する関数)

・各セルの期待値を求めるクロス集計表をつくる。
・各セルの期待値を求める式:当該行の合計*当該列の合計/全体の合計

・各セルのカイ二乗値を求めるクロス集計表をつくる。
・各セルのカイ二乗値を求める式:(当該セルの期待値-当該セルの実測値)^2/当該セルの期待値
・各セルのカイ二乗値を合計する(SUM:値を合計する関数)
・自由度を求める:(クロス集計表の行数-1)*(クロス集計表の列数-1)
 →自由度はCHIINV、CHIDIST関数で使用する。
・カイ二乗境界値を求める(CHIINV:カイ二乗境界値を求める関数、危険率は通常0.05か0.01)
 →カイ二乗値の合計>カイ二乗境界値なら有意差あり。
※P値を求める場合(CHIDIST:求めたカイ二乗値の分布を求める関数)
 →P値<0.05or0.01なら有意差あり。

■補足
○複数回答のカイ二乗検定(10.01.31追記あり)
 以上のように、比率の検定とは言っても比率そのものは検定にかけず標本数を検定にかける。例えば比率が同じ10%でも100人中10人が指摘した場合と1000人中100人が指摘した場合とでは検定結果が異なるかららしい。
 こうした事情からか、参考URL等で取り上げられる事例では、質問に対して答えは1つしか選べないものばかりだった。

質問:A、B、Cのどれが好きか?
   A B C 合計
男性 10 20 20  50
女性 15 25 35  75

合計 25 45 55  125
(回答者数)

 ところが今回僕が検定を行いたかったデータは少し事情が違う。端的に違いを示せば、

質問:A、B、Cのどれが好きか?(複数回答可)    
   A B C 回答者合計
男性 10 20 20   30
女性 15 25 35   35

合計 25 45 55   —
(回答者数)

 このような場合、列合計はすぐ求められるけれど、行合計は上の事例と同じように単純に足し合わせていいものなのか?悶々とした結果、似たような既往研究にクロス集計表とカイ二乗値が載っているものがあったので、どうやってカイ二乗値を求めていたか試してみたところ、以下のように標本数ではなく比率を実測値として、期待値やカイ二乗値も求めていた。

質問:A、B、Cのどれが好きか?(複数回答可)
     A  B   C   合計
男性 33.3 66.7  66.7  166.7
女性 42.6 71.4 100.0  214.0

合計 75.9 138.1 166.7  380.7
(回答者比率)

 こんな風にカイ二乗検定をかけていいか、正直自分ではまだ判断がついてない。ただ既往研究がこの方法を使ってるから、この検定方法は間違ってはいないんだろう。
(10.01.31追記)結局上記の方法は間違いだった。このやり方で検定かけた論文が査読で「統計手法が不適切」と返ってきたのだ。じゃあなんであの既往は査読通ってるんだよー!!という恨み節を吐きたくもなるけれど、できないものはできないんだから仕方ないよね。このような場合の検定の仕方として、ABCそれぞれについて、好きな人・嫌いな人×男性・女性という2×2のクロス集計表をつくって、それぞれカイ二乗検定をするという方法があるらしい。これもまだ正しい手法なのかどうか真偽不明(不適切だったら僕の論文は通らない)。

■参考URL・文献
カイ二乗検定 – Wikipedia
・カイ二乗検定と残差の検定(pdfファイル)
統計処理に使うExcel2007活用法―データ分析に使えるExcel実践テクニック (先輩が教えるseries 14)