Полное руководство: как интерпретировать результаты ANOVA в R


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

В этом руководстве представлено полное руководство по интерпретации результатов однофакторного дисперсионного анализа в R.

Шаг 1: Создайте данные

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

Чтобы проверить это, мы набираем 90 человек для участия в эксперименте, в котором мы случайным образом назначаем 30 человек следовать либо программе А, либо программе Б, либо программе С в течение одного месяца.

Следующий код создает фрейм данных, с которым мы будем работать:

#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

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

Далее мы будем использовать команду aov() для выполнения однофакторного дисперсионного анализа:

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

Шаг 3: Интерпретация результатов ANOVA

Далее мы будем использовать команду summary() для просмотра результатов однофакторного дисперсионного анализа:

#view summary of one-way ANOVA model
summary(model)

 Df Sum Sq Mean Sq F value Pr(>F) 
program 2 98.93 49.46 30.83 7.55e-11 \*\*\*
Residuals 87 139.57 1.60 
---
Signif. codes: 0 ‘\*\*\*’ 0.001 ‘\*\*’ 0.01 ‘\*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Вот как интерпретировать каждое значение в выводе:

Программа Df: Степени свободы для переменной программы.Это рассчитывается как #groups -1. В данном случае было 3 разных программы тренировок, поэтому это значение равно: 3-1 = 2 .

Df Остатки: Степени свободы для остатков. Это рассчитывается как #общее количество наблюдений – # групп. В данном случае было 90 наблюдений и 3 группы, поэтому это значение равно: 90 -3 = 87 .

Программа Sum Sq: сумма квадратов, связанных с переменной program.Это значение равно 98,93 .

Sum Sq Residuals: сумма квадратов, связанных с остатками или «ошибками». Это значение равно 139,57 .

Средняя кв. Программа: средняя сумма квадратов, связанных с программой. Это рассчитывается как сумма кв. программа / Df программа. В этом случае это рассчитывается как: 98,93/2 = 49,46 .

Средняя кв. Остатки: средняя сумма квадратов, связанных с остатками. Это рассчитывается как сумма кв. остатки / Df остатки. В этом случае это рассчитывается как: 139,57/87 = 1,60 .

Значение F: общая F-статистика модели ANOVA. Это рассчитывается как среднеквадратичное значение. программа / Средн. кв. невязки. В этом случае он рассчитывается как: 49,46 / 1,60 = 30,83 .

Pr(>F): p-значение, связанное с F-статистикой с числителем df = 2 и знаменателем df = 87. В этом случае p-значение равно 7,552e-11 , что является очень маленьким числом.

Наиболее важным значением во всем выводе является p-значение, потому что оно говорит нам, есть ли значительная разница в средних значениях между тремя группами.

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

  • H 0 (нулевая гипотеза): все средние группы равны.
  • H A (альтернативная гипотеза): по крайней мере одно среднее значение группы отличается от остальных.

Поскольку значение p в нашей таблице ANOVA (0,7552e-11) меньше 0,05, у нас есть достаточно доказательств, чтобы отклонить нулевую гипотезу.

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

Шаг 4. Выполните апостериорные тесты (при необходимости)

Если значение p в выходных данных ANOVA меньше 0,05, мы отклоняем нулевую гипотезу. Это говорит нам о том, что среднее значение между каждой группой не равно. Однако это не говорит нам, какие группы отличаются друг от друга.

Чтобы выяснить это, мы должны провести апостериорный тест.В R мы можем использовать для этого функцию TukeyHSD() :

#perform Tukey post-hoc test
TukeyHSD(model)

$program
 diff lwr upr p adj
B-A 0.9777414 0.1979466 1.757536 0.0100545
C-A 2.5454024 1.7656076 3.325197 0.0000000
C-B 1.5676610 0.7878662 2.347456 0.0000199

Вот как интерпретировать результаты:

  • Скорректированное значение p для средней разницы между группами A и B составляет 0,0100545 .
  • Скорректированное значение p для средней разницы между группами A и C составляет 0,0000000 .
  • Скорректированное значение p для средней разницы между группами B и C составляет 0,0000199 .

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

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

Введение в однофакторный дисперсионный анализ
Как проверить предположения ANOVA
Как выполнить однофакторный дисперсионный анализ вручную
Калькулятор однофакторного дисперсионного анализа

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