Как выполнить тест левена на равенство дисперсий в r


Многие статистические тесты (например, однофакторный или двусторонний дисперсионный анализ ) предполагают, что дисперсия между несколькими группами одинакова.

Один из способов формально проверить эту гипотезу — использовать тест Левена , который проверяет, равна ли дисперсия между двумя или более группами.

Этот тест основан на следующих предположениях:

Нулевая гипотеза (H 0 ) : дисперсия между группами одинакова.

Альтернативная гипотеза ( HA ) : дисперсия между группами не одинакова.

Если значение p теста меньше выбранного уровня значимости, мы можем отвергнуть нулевую гипотезу и заключить, что у нас достаточно доказательств, чтобы сказать, что дисперсия между группами не равна.

Как выполнить тест Левена в R

Чтобы выполнить тест Левена в R, мы можем использовать функцию leveneTest() из автомобильной библиотеки, которая использует следующий синтаксис:

leveneTest (переменная ответа ~ переменная группы, данные = данные)

В качестве примера рассмотрим следующий кадр данных, который показывает, насколько люди сбросили вес с помощью трех различных программ по снижению веса:

 #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

Чтобы проверить, одинакова ли дисперсия потери веса между этими тремя программами, мы можем использовать функцию 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.

Таким образом, мы отвергаем нулевую гипотезу и приходим к выводу, что дисперсия между тремя группами не одинакова.

Визуализируйте различия в дисперсиях

Выполняя тест Левена, мы знаем, что дисперсии между тремя группами не равны.

В дополнение к выполнению этого теста мы можем создать коробчатые диаграммы, отображающие распределение потери веса для каждой из трех групп, чтобы мы могли визуально понять, почему тест Левена отверг нулевую гипотезу равенства дисперсий.

 boxplot(weight_loss ~ program,
  data = data,
  main = "Weight Loss Distribution by Program",
  xlab = "Program",
  ylab = "Weight Loss",
  col = "steelblue",
  border = "black")

Мы видим, что дисперсия в потере веса у участников программы С значительно выше, чем у участников двух других программ.

Поэтому логично, что тест Левена отвергает нулевую гипотезу о том, что дисперсии равны между тремя группами.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнить тест Левена в различных статистических программах:

Как выполнить тест Левена в Excel
Как выполнить тест Левена в Python
Как выполнить тест Левена в SPSS
Как выполнить тест Левена в Stata

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *