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

3,780 views

Published on

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

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

Простая линейная регрессия в системе R

  1. 1. Тема 8 Сергей Мастицкий БГУ, Минск, май 2014
  2. 2.  Коэффициент корреляции отражает степень связи между переменными  Но мы не можем его использовать для предсказания значений одной переменной по значениям другой Author: Sergey Mastitsky
  3. 3. 8.1. Линейная регрессия: вспоминаем теорию
  4. 4.  yi – зависимая переменная  0 – свободный член уравнения  1 – регрессионный коэффициент  xi – предиктор (= “независимая переменная”)  εi – остатки, независимые и iii xy   10 ),0( N Author: Sergey Mastitsky
  5. 5. Это тоже линейная регрессионная модель, хотя и описывает кривую: Объяснение: iiii xxy   2 21 iiii ii cxy cxесли    21 2 Author: Sergey Mastitsky
  6. 6.  Параметры 0, 1 и  оцениваются методом наименьших квадратов Author: Sergey Mastitsky
  7. 7. 8.2. Подгонка линейных моделей в R Подробнее см.: http://r-analytics.blogspot.de/2014/03/blog-post.html http://r-analytics.blogspot.de/2014/04/blog-post.html http://r-analytics.blogspot.de/2014/05/blog-post_18.html
  8. 8.  Freedman et al. (2001)* опубликовали данные по расстоянию до 24 галактик (Мегапарсек), измеренному Телескопом Хаббла  Приведены также скорости удаления этих галактик (по эффекту Доплера, км/с) *Freedman WL et al. (2001) The Astrophysical Journal 553: 47-72 hubblesite.org Author: Sergey Mastitsky
  9. 9. Author: Sergey Mastitsky 5 10 15 20 50010001500 Distance (Mpc) Velocity(km/sec)
  10. 10.  Согласно ТБВ, Вселенная равномерно расширяется по закону Хаббла: где y – относительная скорость расхождения любых двух галактик, находящихся на расстоянии x друг от друга   -1 – неизвестный параметр, который примерно равен возрасту Вселенной  Мы можем использовать данные Friedman et al. (2001) для оценки : iii xy   xy  Author: Sergey Mastitsky
  11. 11.  Используйте команду: > setwd("~/Introductory R Course/R_Course_Datasets")  Или в RStudio: Session -> Set Working Directory -> Choose Directory -> …Рабочий стол -> папка “Introductory R Course” -> папка “R_Course_Datasets” Author: Sergey Mastitsky
  12. 12. > hub.data <- read.table( file = "hubble_data.txt", header = TRUE, sep = "t") > head(hub.data) Author: Sergey Mastitsky
  13. 13. > hub.mod <- lm(y ~ x - 1, data = hub.data) Объект с результатами анализа Формула модели: “ ~ “ - “тилда” “ -1” значит отсутствие свободного члена Имя таблицы с данными Author: Sergey Mastitsky
  14. 14. > summary(hub.mod) Author: Sergey Mastitsky
  15. 15.  Показывает, о какой модели идет речь  Полезно при построении большого числа моделей Author: Sergey Mastitsky
  16. 16.  Сводка о распределении остатков  Позволяет выполнить экспресс-оценку их распределения  Так, Median должна быть ~0, а Max и Min должны быть примерно равны Author: Sergey Mastitsky
  17. 17.  Регрессионный коэффициент (76.581), его станд. ошибка и P-значение соответствующего t-теста  * - индикатор уровня значимости  Эти «звездочки» можно отключить командой options(show.signif.stars = FALSE) Author: Sergey Mastitsky
  18. 18.  Стандартное отклонение остатков,  Author: Sergey Mastitsky
  19. 19.  Multiple R-squared (= коэффициент детерминации)  Adjusted R-squared скорректированный Multiple R-squared с учетом объема выборки и числа параметров модели Author: Sergey Mastitsky
  20. 20.  F-тест гипотезы о том, что все регрессионные коэффициенты в действительности равны нулю  Показатель того, насколько модель хороша в целом Author: Sergey Mastitsky
  21. 21.  В целом, модель высоко значима (P < 0.001, F-тест)  Расстояние до галактики является хорошим предиктором скорости ее удаления (P < 0.001, t-тест)  Полученная модель: xy 581.76 Author: Sergey Mastitsky
  22. 22. 8.3. Проверка адекватности модели
  23. 23.  Низкие P-значения не гарантируют, что модель адекватно описывает изучаемый процесс  После построения модели необходимо проверить ряд допущений  В частности:  характер распределения остатков  наличие «выбросов» Author: Sergey Mastitsky
  24. 24. # resid() извлекает остатки из модельного объекта: > resid(hub.mod) Author: Sergey Mastitsky 5 10 20 5001500 x y
  25. 25. 5 10 20 5001500 x y # fitted() извлекает предсказанные моделью значения y: > fitted(hub.mod) Author: Sergey Mastitsky
  26. 26. > plot(resid(hub.mod) ~ fitted(hub.mod), xlab = "fitted values", ylab = "residuals") Разброс остатков возрастает – плохие новости! Author: Sergey Mastitsky 500 1000 1500 -600-200200600 fitted values residuals
  27. 27. > qqnorm(resid(hub.mod)) > qqline(resid(hub.mod)) Author: Sergey Mastitsky -2 -1 0 1 2 -600-200200600 Normal Q-Q Plot Theoretical Quantiles SampleQuantiles 3 15
  28. 28.  Диагностические графики показывают, что наблюдения #3 и #15, по-видимому, оказывают слишком большое влияние на оценки параметров модели. Удалим эти наблюдения и подгоним новую модель: > hub.mod1 <- lm(y ~ x - 1, data = hub.data[-c(3, 15), ]) Author: Sergey Mastitsky
  29. 29. > summary(hub.mod1) Author: Sergey Mastitsky
  30. 30. Author: Sergey Mastitsky -2 -1 0 1 2 -300-100100 Normal Q-Q Plot Theoretical Quantiles SampleQuantiles 500 1000 1500 -300-100100 fitted(hub.mod1) resid(hub.mod1)
  31. 31. 5 10 15 20 50010001500 Distance (Mpc) Velocity(km/sec)  Один Мегапарсек - 3.091019 км => разделим  на это число, чтобы получить постоянную Хаббла (сек-1): > hub.const <- coef(hub.mod1)/3.09e19 # возраст в секундах: > age <- 1/hub.const # возраст в годах: > age/(60^2*24*365) 12614854757  Ответ: ~ 13 млрд. лет Author: Sergey Mastitsky
  32. 32.  Поскольку полученная оценка возраста Вселенной является выборочной, существует неопределенность в отношении того, насколько она точна  Эту неопределенность выражают при помощи доверительного интервала  О том, как рассчитать доверительные интервалы для параметров регрессионной модели, см. здесь: http://r-analytics.blogspot.de/2014/05/blog-post.html Author: Sergey Mastitsky

×