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.

Реализация классических статистических тестов в системе R

1,119 views

Published on

Приведены пример выполнения ряда классических статистических тестов в среде статистических вычислений R (тесты Стьюдента, Фишера, хи-квадрат и др.)

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

Реализация классических статистических тестов в системе R

  1. 1. Тема 6 Сергей Мастицкий БГУ, Минск, май 2014
  2. 2. 6.1. t-тест для одной выборки
  3. 3. H0: выборка происходит из нормально распределенной генеральной совокупности со средним значением µ0 : 00 :  H Author: Sergey Mastitsky
  4. 4. xS x t 0  • Если t попадает за пределы области принятия, H0 отклоняется • Тождественно: рассчитывается вероятность получить наблюдаемое (или более высокое) значение t при верной H0. При P < 0.05, H0 отклоняется Author: Sergey Mastitsky
  5. 5. # Дневное потребление энергии (kJ/day) у 11 женщин: > d.intake <- c(5260, 5470, 5640, 6180, 6390, 6515, 6805, 7515, 7515, 8230, 8770) > mean(d.intake) [1] 6753.6 > sd(d.intake) [1] 1142.1 Author: Sergey Mastitsky
  6. 6. > t.test(d.intake, mu = 7725) Author: Sergey Mastitsky
  7. 7. 6.2. t-тест для двух выборок
  8. 8. H0: обе выборки происходят из одной и той же генеральной совокупности: 210 :  H Author: Sergey Mastitsky
  9. 9.  Если t оказывается за пределами области принятия, H0 отклоняется  Тождественно: рассчитывается вероятность получить наблюдаемое (или более высокое) значение t при верной H0. При P < 0.05, H0 отклоняется 2121 21 ,21 xxxx xx SSSгде S xx t      Только если дисперсии не различаются. Иначе используется тест Уэлча Author: Sergey Mastitsky
  10. 10. # Наборы данных из книги Peter Dalgaard (2008): > library(ISwR) # Дневной расход энергии у женщин с избыточным и недостаточным весом: > data(energy) > attach(energy) > energy Author: Sergey Mastitsky
  11. 11. > t.test(expend ~ stature) Author: Sergey Mastitsky
  12. 12. > t.test(expend ~ stature, var.equal = TRUE) Author: Sergey Mastitsky
  13. 13. 5.3. Сравнение двух дисперсий Подробнее см.: http://r-analytics.blogspot.de/2012/03/f.html
  14. 14.  При сравнении двух средних R автоматически выполняет тест Уэлча. Мы можем легко проверить необходимо ли это, сравнив групповые дисперсии: > var.test(expend ~ stature) Author: Sergey Mastitsky
  15. 15.  Чувствителен к отклонениям от нормального распределения  Неприменим к зависимым выборкам Author: Sergey Mastitsky
  16. 16. 6.4. Формальные методы проверки нормальности распределения Подробнее см.: http://r-analytics.blogspot.de/2012/06/blog-post_14.html
  17. 17. > e.lean <- energy$expend[ energy$stature == "lean"] > e.obese <- energy$expend[ energy$stature == "obese"] > qqnorm(e.lean); qqline(e.lean) > qqnorm(e.obese); qqline(e.obese) Author: Sergey Mastitsky
  18. 18. -1.5 0.0 1.0 678910 Lean Theoretical Quantiles SampleQuantiles -1.5 -0.5 0.5 1.59101112 Obese Theoretical Quantiles SampleQuantiles Author: Sergey Mastitsky
  19. 19. > shapiro.test(e.lean) > shapiro.test(e.obese) Распределение нормальное Распределение ненормальное (?) Author: Sergey Mastitsky
  20. 20. 6.5.Тест Уилкоксона Подробнее см.: http://r-analytics.blogspot.de/2012/05/blog-post_20.html
  21. 21.  t-тест довольно устойчив к небольшим отклонениям от условия нормальности  Однако часто при работе с биологическими данными отклонения будут слишком большими => следует использовать непараметрический аналог, ранговый критерий Уилкоксона Author: Sergey Mastitsky
  22. 22. # Суточное потребление энергии у женщин: > wilcox.test(d.intake, mu = 7725) Author: Sergey Mastitsky
  23. 23. # Сравнение расхода энергии у женщин с избыточным и недостаточным весом: > wilcox.test(expend ~ stature) Author: Sergey Mastitsky
  24. 24.  При числе наблюдений <6 тест просто по определению не может быть значимым на уровне 5%  Тест также чувствителен к наличию значений с одинаковыми рангами – в этих случаях точные значения P вычислить невозможно (но это не является проблемой при больших выборках) Author: Sergey Mastitsky
  25. 25. 6.6. Сравнение зависимых выборок Подробнее см.: http://r-analytics.blogspot.de/2012/03/t.html http://r-analytics.blogspot.de/2012/05/blog-post_20.html
  26. 26.  Наблюдения выполняются на одних и тех же экспериментальных единицах  Рассчитываются индивидуальные разницы, которые потом усредняются и сравниваются с ожидаемой средней разницей До После Author: Sergey Mastitsky
  27. 27. > library(ISwR) # Потребление энергии у женщин в пред- и пост-менструальный период > data(intake) > intake pre post 1 5260 3910 2 5470 4220 3 5640 3885 ... Author: Sergey Mastitsky
  28. 28. > attach(intake) > post - pre [1] -1350 -1250 -1755 -1020 -745 [6] -1835 -1540 -1540 -725 -1330 [11] -1435 > mean(post-pre) [1] -1320.455 Author: Sergey Mastitsky
  29. 29. # Проверка гипотезы о том, в среднем индивидуальные разницы равны нулю: > t.test(pre, post, paired = T) Author: Sergey Mastitsky
  30. 30. > wilcox.test(pre, post, paired = T) Author: Sergey Mastitsky
  31. 31. 6.7. Сравнение пропорций См. также: http://r-analytics.blogspot.de/2012/08/blog-post.html
  32. 32.  Предположим, мы исследовали 2 популяции некоторого вида моллюсков  В популяции 1, 24 из 158 (15.2%) моллюсков оказались заражены паразитами  В популяции 2, зараженными были 15 из 165 (9.1%) моллюсков  Насколько существенны различия между этими двумя популяциями по уровню зараженности? Author: Sergey Mastitsky
  33. 33. # Данные должны быть представлены в виде двух векторов # Один вектор содержит число “успешных испытаний”: > infected <- c(24, 15) # Второй – общее число “испытаний” : > examined <- c(158, 165) Author: Sergey Mastitsky
  34. 34. > prop.test(infected, examined) Author: Sergey Mastitsky
  35. 35.  Две (или более) пропорции можно также сравнить при помощи критерия хи-квадрат: chisq.test()  Данные должны быть представлены в виде таблицы сопряженности 2x2    E EO 2 2 )(  Author: Sergey Mastitsky
  36. 36. > inf.data <- matrix( c(infected, examined-infected), nrow = 2, dimnames = list(c("Pop1", "Pop2"), c("Infected", "Noninfected"))) > inf.data Infected Noninfected Pop1 24 134 Pop2 15 150 Author: Sergey Mastitsky
  37. 37. > chisq.test(inf.data) Author: Sergey Mastitsky
  38. 38.  Когда ожидаемые частоты ≤5, критерий хи- квадрат неприменим  В таких случаях следует использовать точный критерий Фишера  Предположим, что данные по моллюскам выглядели так: > infected <- c(1, 9) > examined <- c(9, 14) Author: Sergey Mastitsky
  39. 39. > inf.data <- matrix( c(infected, examined-infected), nrow = 2, dimnames = list(c("Pop1", "Pop2"), c("Infected", "Noninfected"))) > chisq.test(inf.data)$expected Author: Sergey Mastitsky
  40. 40. > fisher.test(inf.data) # Сравним с P-значением теста хи-квадрат: > chisq.test(inf.data)$p.value [1] 0.0376 )1/( )1/( 22 11 pp pp ratioodds    Author: Sergey Mastitsky

×