バートレット検定

Rにてバートレット検定 (Bartlett test) を行う。バートレット検定は、多群のデータの等分散性または分散の一様性、すなわち、各データの分散が等しいかどうかを検定する手法のひとつである。2群間の等分散性を検定するF検定 (F-test) に対し、バートレット検定は複数群のデータの等分散性を扱う。イギリスの統計学者、Maurice Stevenson Bartlettによって考案された。データ間の等分散性は分散分析をはじめとする多くの検定で要求される。Rでは、コマンド 'bartlett.test' にて実行することができる。

以下の、サンプルサイズがそれぞれ、'12, 10, 12, 11' からなるデータAからDが得られたときの各データ間における分散が等しいか否かをバートレット検定にて解析する。帰無仮説 (H0) は各群の母分散は全て等しいことである。

データA301, 311, 325, 291, 388, 402, 325, 361, 287, 261, 238, 362
データB197, 180, 178, 260, 247, 199, 179, 134, 163, 200
データC209, 331, 192, 155, 234, 290, 175, 116, 285, 216, 237, 301
データD343, 247, 316, 395, 324, 138, 245, 228, 214, 374, 235

まず、以下のコマンドにて、上のデータAからDをまとめて変数 'score' に格納する。

1|$score=c(301, 311, 325, 291, 388, 402, 325, 361, 287, 261, 238, 362, 197, 180, 178, 260, 247, 199, 179, 134, 163, 200, 209, 331, 192, 155, 234, 290, 175, 116, 285, 216, 237, 301, 343, 247, 316, 395, 324, 138, 245, 228, 214, 374, 235)

次に、以下のコマンドにて、読み込んだ各データの観測値のためのラベルを作成する。データAからDの標本数はそれぞれ、'12, 10, 12, 11' である。以下のコマンドでは、 'rep(...)' にてその標本数に対応するAからDの文字列ベクトルを発生させ、'factor(...)' にてそのベクトルを因子に変換し、それを新たな変数 'group' に格納している。データの読み込み、およびその後の解析は、分散分析を行うときと同様にエクセルやテキストファイル形式のデータをデータフレームとしてそのまま読み込む方法でも良い。

1|$group=factor(rep(c("A", "B", "C", "D"), c(12, 10, 12, 11)))

以上の従属変数 (score) および独立変数 (group) を用いて、バートレット検定は、'bartlett.test(従属変数 ~ 独立変数)' のような形式で実行する。実際には以下のように打つ。

1|$bartlett.test(score ~ group)

        Bartlett test of homogeneity of variances

data:  score by group 
Bartlett's K-squared = 5.2629, df = 3, p-value = 0.1535

結果で注目すべきは、'p-value' の値である。この '0.1535' がバートレット検定におけるp値を示している。以上より、有意水準5%でも1%であっても、得られたp値は有意水準より大きく (p > α)、帰無仮説が保留され、その結果、各群の母分散は等しくないとはいえないという結論が導かれる。

このエントリーをはてなブックマークに追加

Site search

ページのトップへ戻る