Rによるカイ二乗検定
R にてカイ二乗検定 (chi-squared test) を行う.カイ二乗検定とは帰無仮説が正しい場合において,対象となる検定統計量がカイ二乗分布に従う検定法全般のことをいう.しかし,一般にカイ二乗検定といえば,ピアソンのカイ二乗検定 (Pearson chi-squared test) を指す場合が多い.ピアソンのカイ二乗検定は得られたデータが特定の分布と相違があるかどうかを検定する適合度検定 (test of goodness of fit) と2つの変数について得られたデータから,それらの変数間に独立性が成立するかどうかを検定する独立性検定 (test of independence) のふたつに細分化される.独立性検定に関して,フィッシャーの直接確立検定も同様の検定を行うが,分割表 (contingency table) のマスの期待値が全て10以上である場合はカイ二乗検定で行なっても良い.カイ二乗検定はデフォルトのパッケージに含まれる関数 chisq.test() にて実行できる.
適合度検定
適合度検定は,観測された頻度分布が仮定する理論分布と一致するかどうかを評価する方法である.最初に以下のようなデータが得られたとする.
A1 | A2 | A3 | A4 |
---|---|---|---|
58 | 99 | 32 | 48 |
この観測度数に対して,以下の理論分布を考える.確率なので和は1となる.
A1 | A2 | A3 | A4 |
---|---|---|---|
0.3 | 0.5 | 0.1 | 0.1 |
この観測度数と理論分布が異なるかどうかを検定するには以下のようにする.帰無仮説 (H0) は,観測された頻度分布と期待される頻度分布に差はない (適合している) である.最初に,データを適当な変数に格納する.
$ vx=c(58,99,32,48)
この変数を用いて適合度検定は以下のように行う.有意水準は0.05と決める.
$ chisq.test(x=vx,p=c(0.3,0.5,0.1,0.1))
これを実行した結果は以下のようになる.
Chi-squared test for given probabilities data: vx X-squared = 33.444, df = 3, p-value = 2.595e-07
結果より,p値は有意水準を大きく下回るので,帰無仮説を棄却し,得られたデータ (58, 99, 32, 48) は理論分布 (0.3, 0.5, 0.1, 0.1) とは異なると結論する.
独立性検定
以下のような分割表が得られた場合の変数AおよびB間の独立性検定を行う.この場合の帰無仮説 (H0) は,変数Aと変数Bに関連性はない (独立である) となる.
A1 | A2 | A3 | |
---|---|---|---|
B1 | 43 | 20 | 28 |
B2 | 15 | 31 | 11 |
最初に,適当な変数にデータを格納する.
$ vx=matrix(c(43,20,28,15,31,11),nrow=2,byrow=T)
この変数を用いて独立性検定は以下のように行う.有意水準は0.05と決める.
$ chisq.test(vx)
これを実行した結果は以下のようになる.
Pearson's Chi-squared test data: vx X-squared = 16.352, df = 2, p-value = 0.0002813
結果より,p値は有意水準を大きく下回るので,帰無仮説を棄却し,得られたデータより,変数Aと変数Bは何らかの関連性があると結論する.すなわち,変数Bは変数Aの影響を受けた結果,B1またはB2という観測値となったといえる.
オプション一覧
オプションには以下のようなものがある.
オプション | 詳細 |
---|---|
correct | 論理値で指定.2行2列の分割表について独立性検定をする場合にのみ,イェーツの補正 (Yates' correction) をするかどうかを指定. |
p | 適合度検定における理論度数の元となる確率をベクトルで指定.インプットデータと同じ長さである必要がある. |
rescale.p | 論理値で指定.上のpで入力する値を,必要に応じて,その合計を1に補正するかどうかの指定. |
simulate.p.value | 論理値で指定.p値をモンテカルロシミュレーションで算出するかどうかの指定. |
B | 整数を指定.モンテカルロシミュレーションの試行回数. |