Многие статистические тесты (такие как однофакторный дисперсионный анализ или двусторонний дисперсионный анализ ) предполагают, что дисперсия между несколькими группами одинакова.
Один из способов формально проверить это предположение — использовать тест Левена , который проверяет, равны ли дисперсии между двумя или более группами.
Этот тест имеет следующие гипотезы:
Нулевая гипотеза (H 0 ) : дисперсия среди групп одинакова.
Альтернативная гипотеза ( HA ) : дисперсия среди групп не одинакова.
Если p-значение из теста меньше выбранного нами уровня значимости, мы можем отклонить нулевую гипотезу и сделать вывод, что у нас достаточно доказательств, чтобы утверждать, что дисперсия между группами не одинакова.
Как провести тест Левена в R
Чтобы провести тест Левена в R, мы можем использовать функцию leveneTest() из библиотеки car , которая использует следующий синтаксис:
leveneTest (переменная ответа ~ групповая переменная, данные = данные)
В качестве примера рассмотрим следующий фрейм данных, который показывает, сколько веса люди потеряли в трех разных программах похудения:
#make this example reproducible
set. seed (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
Чтобы проверить, одинакова ли дисперсия потери веса среди этих трех программ, мы можем использовать функцию 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
#---
#Signif. codes: 0 '\*\*\*' 0.001 '\*\*' 0.01 '\*' 0.05 '.' 0.1 ' ' 1
Значение p теста составляет 0,01862 , что меньше нашего уровня значимости 0,05.
Таким образом, мы отвергаем нулевую гипотезу и заключаем, что дисперсия среди трех групп не одинакова.
Визуализация различий в отклонениях
Из проведения теста Левена мы знаем, что дисперсии среди трех групп не равны.
В дополнение к проведению этого теста мы можем создать диаграммы, отображающие распределение потери веса для каждой из трех групп, чтобы мы могли получить визуальное представление о том, почему тест Левена отклонил нулевую гипотезу о равных дисперсиях.
boxplot(weight_loss ~ program,
data = data,
main = "Weight Loss Distribution by Program",
xlab = "Program",
ylab = "Weight Loss",
col = "steelblue",
border = "black")

Мы видим, что дисперсия потери веса заметно выше для участников программы C по сравнению с двумя другими программами.
Таким образом, имеет смысл то, что тест Левена отклонил нулевую гипотезу о том, что дисперсии равны между тремя группами.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять тест Левена в различных статистических программах:
Как выполнить тест Левена в Excel
Как выполнить тест Левена в Python
Как выполнить тест Левена в SPSS
Как выполнить тест Левена в Stata