Дисперсионный анализ (ANOVA) в системе R
-
Upload
sergey-mastitsky -
Category
Data & Analytics
-
view
1.238 -
download
2
description
Transcript of Дисперсионный анализ (ANOVA) в системе R
![Page 2: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/2.jpg)
9.1. Однофакторный дисперсионный анализ
![Page 3: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/3.jpg)
t-тест позволяет сравнить только две
группы
Однофакторный дисперсионный анализ
служит для сравнения 2 и более групп
Теория метода изложена здесь: http://r-analytics.blogspot.de/2013/01/blog-post.html
Author: Sergey Mastitsky
![Page 4: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/4.jpg)
Изучаемый фактор не оказывает никакого
влияния на изучаемую зависимую
переменную, т.е. наблюдаемые различия
групповых средних случайны и в
действительности все эти группы являются
выборками из одной нормально
распределенной генеральной совокупности
Author: Sergey Mastitsky
![Page 5: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/5.jpg)
С математической т.з., ANOVA является
линейной моделью (подробнее см.
http://r-analytics.blogspot.de/2013/02/blog-post.html) Соответственно используется та же функция,
что и для линейной регрессии – lm()
lm() выполняет все необходимые расчеты, а
затем функция anova() извлекает ANOVA-
таблицу из полученного модельного объекта
Author: Sergey Mastitsky
![Page 6: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/6.jpg)
> library(ISwR)
> data(red.cell.folate)
> summary(red.cell.folate)
Концентрация ФК в эритроцитах
Три группы пациентов при разных режимах анестезии
Author: Sergey Mastitsky
![Page 7: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/7.jpg)
> plot(folate ~ ventilation,
data = red.cell.folate)
Author: Sergey Mastitsky
![Page 8: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/8.jpg)
# Рассчитываем параметры модели: > cell.mod <-
lm(folate ~ ventilation,
data = red.cell.folate)
# Извлекаем ANOVA-таблицу: > anova(cell.mod)
Author: Sergey Mastitsky
![Page 9: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/9.jpg)
F-критерий
Р-значение
Author: Sergey Mastitsky
![Page 10: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/10.jpg)
F-показывает, что средняя концентрация
ФК в исследованных группах
существенно различается (P = 0.0436)
Это единственный вывод, который
позволяет сделать дисперсионный
анализ. На этом этапе мы не можем
сказать, какие именно группы
отличаются др. от друга
Author: Sergey Mastitsky
![Page 11: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/11.jpg)
9.2. Post-hoc анализ: множественные сравнения
групп
![Page 12: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/12.jpg)
Author: Sergey Mastitsky
Если мы хотим выполнить все возможные парные сравнения групп,
мы должны скорректировать итоговые P-значения, поскольку чем
больше сравнений мы делаем, тем выше будет вероятность
совершить как минимум одну ошибку I рода (отклонение верной
нулевой гипотезы)
Подробнее см.: http://r-analytics.blogspot.de/2013/10/blog-post.html
![Page 13: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/13.jpg)
Самый простой (и консервативный) метод
– поправка Бонферрони: P-значения
умножаются на число выполненных
сравнений
Подробнее см.: http://r-analytics.blogspot.de/2013/10/blog-post_13.html
Author: Sergey Mastitsky
![Page 14: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/14.jpg)
> attach(red.cell.folate)
> pairwise.t.test(folate,
ventilation, p.adj = bonferroni")
Author: Sergey Mastitsky
![Page 15: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/15.jpg)
Тест Тьюки: не такой консервативный, как
поправка Бонферрони
> TukeyHSD(aov(cell.mod))
Author: Sergey Mastitsky
![Page 16: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/16.jpg)
> par(mar = c(4.5, 12, 3.5, 1))
> plot(TukeyHSD(aov(cell.mod)))
Author: Sergey Mastitsky
![Page 17: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/17.jpg)
Author: Sergey Mastitsky
Метод Холма: http://r-analytics.blogspot.de/2013/10/blog-post_13.html
Метод Беньямини-Хохберга: http://r-analytics.blogspot.de/2013/11/blog-post.html
Метод Беньямини-Йекутили: http://r-analytics.blogspot.de/2013/11/blog-post_11.html
Большой набор методов, реализованных в пакете multcomp: http://r-analytics.blogspot.de/2014/01/multcomp.html
![Page 18: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/18.jpg)
9.3. Проверка условий ANOVA
![Page 19: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/19.jpg)
Традиционная ANOVA-модель предполагает
однородность («гомогенность») групповых
дисперсий
Один из тестов на выполнение этого условия –
тест Бартлетта (чувствителен к отклонениям от
условия нормальности!):
> bartlett.test(folate~ventilation)
Author: Sergey Mastitsky
![Page 20: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/20.jpg)
Как и в случае с t-тестом, мы можем
применить поправку Уэлча:
> oneway.test(folate~ventilation)
Author: Sergey Mastitsky
![Page 21: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/21.jpg)
Предполагается, что данные во всех
группах распределены нормально
Обычно это условие проверяется на
остатках модели
См. также: http://r-analytics.blogspot.com/2013/05/blog-post.html
Author: Sergey Mastitsky
![Page 22: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/22.jpg)
9.4. Дисперсионный анализ по Краскелу-Уоллису
Подробнее см.: http://r-analytics.blogspot.de/2013/08/blog-post_29.html
![Page 23: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/23.jpg)
При существенных отклонениях от условия
нормальности, Р-значениям, получаемым при
помощи параметрического ANOVA, доверять
нельзя
Выход: использование непараметрического
аналога – дисперсионного анализа по Краскелу-
Уоллису
Подобно тесту Уилкоксона, тест Краскела-
Уоллиса основан на суммах рангов
Author: Sergey Mastitsky
![Page 24: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/24.jpg)
> kruskal.test(folate~ventilation)
Вывод: статистически значимых различий между
группами по среднему уровню ФК не выявлено
Это неудивительно:
1) Результат ANOVA был на пределе значимости
2) Тест K-W непараметрический = менее мощный
Author: Sergey Mastitsky
![Page 25: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/25.jpg)
9.5. Двухфакторный дисперсионный анализ
![Page 26: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/26.jpg)
> load(pH_experiment.rda)
> names(LWdata)
# Требуется выяснить эффект Treatment и Barrel на отношение Weight/Length
# Сначала проверим распределение W/L: > attach(PHdata)
> hist(Weigth/Length)
Author: Sergey Mastitsky
![Page 27: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/27.jpg)
W/L ratio
Fre
qu
en
cy
0.00 0.01 0.02 0.03 0.04
02
04
06
08
01
00
Author: Sergey Mastitsky
![Page 28: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/28.jpg)
W/L ratio
Fre
qu
en
cy
0.05 0.10 0.15 0.20
02
04
06
08
0
> hist(sqrt(Weigth/Length))
Author: Sergey Mastitsky
![Page 29: Дисперсионный анализ (ANOVA) в системе R](https://reader031.fdocument.pub/reader031/viewer/2022013118/557ed4d6d8b42ae27f8b50e9/html5/thumbnails/29.jpg)
> LWratio <- sqrt(Weight/Length) > pH.mod <- lm(
LWratio ~ Treatment + Barrel)
> anova(pH.mod)
Author: Sergey Mastitsky