Полное руководство: как интерпретировать результаты anova в r
Однофакторный дисперсионный анализ используется для определения наличия или отсутствия статистически значимой разницы между средними значениями трех или более независимых групп.
В этом руководстве представлено полное руководство по интерпретации результатов одностороннего дисперсионного анализа в R.
Шаг 1. Создайте данные
Предположим, мы хотим определить, приводят ли три разные программы тренировок к разной средней потере веса у людей.
Чтобы проверить это, мы набираем 90 человек для участия в эксперименте, в котором случайным образом назначаем 30 человек следовать программе A, программе B или программе C в течение месяца.
Следующий код создает фрейм данных, с которым мы будем работать:
#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
Шаг 2. Выполните ANOVA
Далее мы будем использовать команду 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
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Вот как интерпретировать каждое значение результата:
Программа Df: Степени свободы переменной программы . Это рассчитывается как #groups -1. В данном случае было 3 разные программы обучения, поэтому это значение равно: 3-1 = 2 .
Df Остатки: Степени свободы остатков. Это рассчитывается как #общее количество наблюдений – #группы. В данном случае было 90 наблюдений и 3 группы, поэтому это значение равно: 90 -3 = 87 .
Program Sum Sq: сумма квадратов, связанных с переменной program . Это значение составляет 98,93 .
Сумма квадратов остатков: сумма квадратов, связанных с остатками или «ошибками». Это значение составляет 139,57 .
Средний квадрат. Программа: средняя сумма квадратов, связанных с программой. Это рассчитывается как сумма в квадрате. программа/программа Дф. В данном случае это рассчитывается как: 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
BA 0.9777414 0.1979466 1.757536 0.0100545
CA 2.5454024 1.7656076 3.325197 0.0000000
CB 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
Как вручную выполнить однофакторный дисперсионный анализ
Односторонний калькулятор ANOVA