Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Дисперсионный анализ (ANOVA) в системе R

4,219 views

Published on

Приведен пример выполнения дисперсионног анализа (ANOVA) в среде статистических вычислений R.

Published in: Data & Analytics
  • Be the first to comment

Дисперсионный анализ (ANOVA) в системе R

  1. 1. Тема 9 Сергей Мастицкий БГУ, Минск, май 2014
  2. 2. 9.1. Однофакторный дисперсионный анализ
  3. 3.  t-тест позволяет сравнить только две группы  Однофакторный дисперсионный анализ служит для сравнения 2 и более групп  Теория метода изложена здесь: http://r-analytics.blogspot.de/2013/01/blog-post.html Author: Sergey Mastitsky
  4. 4. Изучаемый фактор не оказывает никакого влияния на изучаемую зависимую переменную, т.е. наблюдаемые различия групповых средних случайны и в действительности все эти группы являются выборками из одной нормально распределенной генеральной совокупности Author: Sergey Mastitsky
  5. 5.  С математической т.з., ANOVA является линейной моделью (подробнее см. http://r-analytics.blogspot.de/2013/02/blog-post.html)  Соответственно используется та же функция, что и для линейной регрессии – lm()  lm() выполняет все необходимые расчеты, а затем функция anova() извлекает ANOVA- таблицу из полученного модельного объекта Author: Sergey Mastitsky
  6. 6. > library(ISwR) > data(red.cell.folate) > summary(red.cell.folate) Концентрация ФК в эритроцитах Три группы пациентов при разных режимах анестезии Author: Sergey Mastitsky
  7. 7. > plot(folate ~ ventilation, data = red.cell.folate) Author: Sergey Mastitsky
  8. 8. # Рассчитываем параметры модели: > cell.mod <- lm(folate ~ ventilation, data = red.cell.folate) # Извлекаем ANOVA-таблицу: > anova(cell.mod) Author: Sergey Mastitsky
  9. 9. F-критерий Р-значение Author: Sergey Mastitsky
  10. 10.  F-показывает, что средняя концентрация ФК в исследованных группах существенно различается (P = 0.0436)  Это единственный вывод, который позволяет сделать дисперсионный анализ. На этом этапе мы не можем сказать, какие именно группы отличаются др. от друга Author: Sergey Mastitsky
  11. 11. 9.2. Post-hoc анализ: множественные сравнения групп
  12. 12. Author: Sergey Mastitsky Если мы хотим выполнить все возможные парные сравнения групп, мы должны скорректировать итоговые P-значения, поскольку чем больше сравнений мы делаем, тем выше будет вероятность совершить как минимум одну ошибку I рода (отклонение верной нулевой гипотезы) Подробнее см.: http://r-analytics.blogspot.de/2013/10/blog-post.html
  13. 13.  Самый простой (и консервативный) метод – поправка Бонферрони: P-значения умножаются на число выполненных сравнений  Подробнее см.: http://r-analytics.blogspot.de/2013/10/blog-post_13.html Author: Sergey Mastitsky
  14. 14. > attach(red.cell.folate) > pairwise.t.test(folate, ventilation, p.adj = bonferroni") Author: Sergey Mastitsky
  15. 15. Тест Тьюки: не такой консервативный, как поправка Бонферрони > TukeyHSD(aov(cell.mod)) Author: Sergey Mastitsky
  16. 16. > par(mar = c(4.5, 12, 3.5, 1)) > plot(TukeyHSD(aov(cell.mod))) Author: Sergey Mastitsky
  17. 17. 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
  18. 18. 9.3. Проверка условий ANOVA
  19. 19.  Традиционная ANOVA-модель предполагает однородность («гомогенность») групповых дисперсий  Один из тестов на выполнение этого условия – тест Бартлетта (чувствителен к отклонениям от условия нормальности!): > bartlett.test(folate~ventilation) Author: Sergey Mastitsky
  20. 20.  Как и в случае с t-тестом, мы можем применить поправку Уэлча: > oneway.test(folate~ventilation) Author: Sergey Mastitsky
  21. 21.  Предполагается, что данные во всех группах распределены нормально  Обычно это условие проверяется на остатках модели  См. также: http://r-analytics.blogspot.com/2013/05/blog-post.html Author: Sergey Mastitsky
  22. 22. 9.4. Дисперсионный анализ по Краскелу-Уоллису Подробнее см.: http://r-analytics.blogspot.de/2013/08/blog-post_29.html
  23. 23.  При существенных отклонениях от условия нормальности, Р-значениям, получаемым при помощи параметрического ANOVA, доверять нельзя  Выход: использование непараметрического аналога – дисперсионного анализа по Краскелу- Уоллису  Подобно тесту Уилкоксона, тест Краскела- Уоллиса основан на суммах рангов Author: Sergey Mastitsky
  24. 24. > kruskal.test(folate~ventilation) Вывод: статистически значимых различий между группами по среднему уровню ФК не выявлено Это неудивительно: 1) Результат ANOVA был на пределе значимости 2) Тест K-W непараметрический = менее мощный Author: Sergey Mastitsky
  25. 25. 9.5. Двухфакторный дисперсионный анализ
  26. 26. > load(pH_experiment.rda) > names(LWdata) #Требуется выяснить эффектTreatment и Barrel на отношениеWeight/Length # Сначала проверим распределениеW/L: > attach(PHdata) > hist(Weigth/Length) Author: Sergey Mastitsky
  27. 27. W/L ratio Frequency 0.00 0.01 0.02 0.03 0.04 020406080100 Author: Sergey Mastitsky
  28. 28. W/L ratio Frequency 0.05 0.10 0.15 0.20 020406080 > hist(sqrt(Weigth/Length)) Author: Sergey Mastitsky
  29. 29. > LWratio <- sqrt(Weight/Length) > pH.mod <- lm( LWratio ~ Treatment + Barrel) > anova(pH.mod) Author: Sergey Mastitsky

×