R の分散の等価性について levene の検定を実行する方法
多くの統計検定 (一元配置 ANOVAや二元配置 ANOVAなど) は、複数のグループ間の分散が等しいことを前提としています。
この仮説を正式にテストする 1 つの方法は、2 つ以上のグループ間の分散が等しいかどうかをテストするLevene テストを使用することです。
このテストは次の前提に基づいています。
帰無仮説 (H 0 ) : グループ間の分散は等しい。
対立仮説 ( HA ) : グループ間の分散は等しくありません。
検定の p 値が選択した有意水準より小さい場合は、帰無仮説を棄却し、グループ間の分散が等しくないと言える十分な証拠があると結論付けることができます。
R で Levene のテストを実行する方法
R で Levene テストを実行するには、次の構文を使用するcarライブラリのleveneTest()関数を使用できます。
leveneTest (応答変数 ~ グループ変数、データ = データ)
例として、3 つの異なる減量プログラムで人々がどれだけ体重を減らしたかを示す次のデータ フレームを考えてみましょう。
#make this example reproducible set. seeds (0) #create data frame data <- data. frame (program = rep(c("A", "B", "C"), each = 30 ), weight_loss = c(runif(30, 0, 3), runif(30, 0, 5), runif(30, 1, 7))) #view first six rows of data frame head(data) # program weight_loss #1 A 2.6900916 #2 A 0.7965260 #3 A 1.1163717 #4 A 1.7185601 #5 A 2.7246234 #6 A 0.6050458
これら 3 つのプログラム間で体重減少の分散が等しいかどうかを確認するには、 leveneTest()関数を使用し、有意水準として 0.05 を使用します。
#load car package library (car) #conduct Levene's Test for equality of variances leveneTest(weight_loss ~ program, data = data) #Levene's Test for Homogeneity of Variance (center = median) # Df F value Pr(>F) #group 2 4.1716 0.01862 * #87 #--- #Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
検定の p 値は0.01862で、有意水準 0.05 を下回っています。
したがって、帰無仮説は棄却され、3 つのグループ間の分散は等しくないと結論付けられます。
分散の違いを視覚化する
Levene 検定を実行すると、3 つのグループ間の分散が等しくないことがわかります。
この検定を実行することに加えて、3 つのグループそれぞれの体重減少の分布を表示する箱ひげ図を作成して、Levene の検定が分散等価性の帰無仮説を棄却した理由を視覚的に理解することができます。
boxplot(weight_loss ~ program, data = data, main = "Weight Loss Distribution by Program", xlab = "Program", ylab = "Weight Loss", col = "steelblue", border = "black")
プログラム C の参加者の体重減少の分散は、他の 2 つのプログラムよりも大幅に大きいことがわかります。
したがって、Levene の検定が 3 つのグループ間で分散が等しいという帰無仮説を棄却するのは論理的です。
追加リソース
次のチュートリアルでは、さまざまな統計ソフトウェアで Levene 検定を実行する方法を説明します。
Excel で Levene テストを実行する方法
Python で Levine テストを実行する方法
SPSS で Levene テストを実行する方法
Stata で Levene テストを実行する方法