Как проверить предположения ANOVA

Как проверить предположения ANOVA

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

Вот пример того, когда мы могли бы использовать односторонний ANOVA:

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

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

1. Нормальность. Каждая выборка была взята из нормально распределенной популяции.

2. Равные дисперсии — дисперсии совокупностей, из которых взяты выборки, равны.

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

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

В этом посте мы объясним, как проверить эти предположения, а также что делать, если какое-либо из предположений нарушено.

Предположение № 1: нормальность

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

Как проверить это предположение в R:

Для проверки этого предположения можно использовать два подхода:

  • Проверьте предположение визуально, используя гистограммы или графики QQ .
  • Проверьте предположение, используя формальные статистические тесты, такие как Шапиро-Уилк, Колмогоров-Смиронов, Жарк-Барре или Д'Агостино-Пирсон.

Например, предположим, что мы набираем 90 человек для участия в эксперименте по снижению веса, в котором мы случайным образом назначаем 30 человек следовать либо программе А, либо программе Б, либо программе С в течение одного месяца. Чтобы увидеть, влияет ли программа на потерю веса, мы хотим провести односторонний ANOVA. В следующем коде показано, как проверить предположение о нормальности с помощью гистограмм, графиков QQ и теста Шапиро-Уилка.

1. Установите модель ANOVA.

#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)))

#fit the one-way ANOVA model
model <- aov(weight_loss ~ program, data = data)

2. Создайте гистограмму значений ответа.

#create histogram
hist(data$weight_loss)

Распределение выглядит не очень нормально распределенным (например, оно не имеет формы «колокола»), но мы также можем построить график QQ, чтобы еще раз взглянуть на распределение.

3. Создайте график остатков QQ

#create Q-Q plot to compare this dataset to a theoretical normal distribution 
qqnorm(model$residuals)

#add straight diagonal line to plot
qqline(model$residuals) 
Пример графика Q-Q в R

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

4. Проведите тест Шапиро-Уилка на нормальность.

#Conduct Shapiro-Wilk Test for normality 
shapiro. test (data$weight_loss)

#Shapiro-Wilk normality test
#
#data: data$weight_loss
#W = 0.9587, p-value = 0.005999

Тест Шапиро-Уилка проверяет нулевую гипотезу о том, что выборки имеют нормальное распределение, и альтернативную гипотезу о том, что выборки не имеют нормального распределения. В этом случае p-значение теста составляет 0,005999 , что меньше альфа-уровня 0,05. Это говорит о том, что выборки не имеют нормального распределения.

Что делать, если это предположение нарушается:

В целом однофакторный дисперсионный анализ считается достаточно устойчивым к нарушениям предположения о нормальности, если размеры выборки достаточно велики.

Кроме того, если у вас очень большие размеры выборки, то статистические тесты, такие как тест Шапиро-Уилка, почти всегда скажут вам, что ваши данные ненормальны. По этой причине часто лучше проверять данные визуально, используя графики, такие как гистограммы и графики QQ. Просто взглянув на графики, вы можете получить довольно хорошее представление о том, нормально ли распределены данные.

Если предположение о нормальности серьезно нарушено или если вы просто хотите быть более консервативным, у вас есть два варианта:

(1) Преобразуйте значения ответа ваших данных, чтобы распределения были более нормально распределены.

(2) Выполните эквивалентный непараметрический тест, такой как тест Крускала-Уоллиса , который не требует предположения о нормальности.

Допущение № 2: Равная дисперсия

ANOVA предполагает, что дисперсии совокупностей, из которых взяты выборки, равны.

Как проверить это предположение в R:

Мы можем проверить это предположение в R, используя два подхода:

  • Проверьте предположение визуально, используя диаграммы.
  • Проверьте предположение, используя формальные статистические тесты, такие как тест Бартлетта.

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

1. Создайте блокплоты.

#Create box plots that show distribution of weight loss for each group
boxplot(weight_loss ~ program, xlab='Program', ylab='Weight Loss', data=data)

Дисперсия потери веса в каждой группе может быть видна по длине каждого квадратичного графика. Чем длиннее коробка, тем выше дисперсия. Например, мы видим, что дисперсия немного выше для участников программы C по сравнению с программой A и программой B.

2. Проведите тест Бартлетта.

#Create box plots that show distribution of weight loss for each group
bartlett. test (weight_loss ~ program, data=data)

#Bartlett test of homogeneity of variances
#
#data: weight_loss by program
#Bartlett's K-squared = 8.2713, df = 2, p-value = 0.01599

Тест Бартлетта проверяет нулевую гипотезу о том, что выборки имеют одинаковую дисперсию, по сравнению с альтернативной гипотезой о том, что выборки не имеют одинаковой дисперсии. В этом случае p-значение теста составляет 0,01599 , что меньше альфа-уровня 0,05. Это говорит о том, что не все выборки имеют одинаковую дисперсию.

Что делать, если это предположение нарушается:

В целом, однофакторный дисперсионный анализ считается достаточно устойчивым к нарушениям предположения о равных дисперсиях, если каждая группа имеет одинаковый размер выборки.

Однако, если размеры выборки неодинаковы и это допущение серьезно нарушено, вы можете вместо этого запустить критерий Крускала-Уоллиса , который является непараметрической версией однофакторного дисперсионного анализа.

Предположение № 3: Независимость

Дисперсионный анализ предполагает:

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

Как проверить это предположение:

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

Что делать, если это предположение нарушается:

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

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

Дальнейшее чтение:

Как провести односторонний дисперсионный анализ в R
Как провести однофакторный дисперсионный анализ в Excel

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.