SlideShare a Scribd company logo
Тема 8
Сергей Мастицкий
БГУ, Минск, май 2014
 Коэффициент корреляции отражает
степень связи между переменными
 Но мы не можем его использовать для
предсказания значений одной
переменной по значениям другой
Author: Sergey Mastitsky
8.1. Линейная регрессия:
вспоминаем теорию
 yi – зависимая переменная
 0 – свободный член уравнения
 1 – регрессионный коэффициент
 xi – предиктор (= “независимая переменная”)
 εi – остатки, независимые и
iii xy   10
),0( N
Author: Sergey Mastitsky
Это тоже линейная регрессионная модель,
хотя и описывает кривую:
Объяснение:
iiii xxy   2
21
iiii
ii
cxy
cxесли
 

21
2
Author: Sergey Mastitsky
 Параметры 0, 1 и  оцениваются
методом наименьших квадратов
Author: Sergey Mastitsky
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
 Freedman et al. (2001)*
опубликовали данные по
расстоянию до 24
галактик (Мегапарсек),
измеренному
Телескопом Хаббла
 Приведены также
скорости удаления этих
галактик (по эффекту
Доплера, км/с)
*Freedman WL et al. (2001) The
Astrophysical Journal 553: 47-72 hubblesite.org
Author: Sergey Mastitsky
Author: Sergey Mastitsky
5 10 15 20
50010001500
Distance (Mpc)
Velocity(km/sec)
 Согласно ТБВ, Вселенная равномерно
расширяется по закону Хаббла:
где y – относительная скорость расхождения
любых двух галактик, находящихся на
расстоянии x друг от друга
  -1 – неизвестный параметр, который примерно
равен возрасту Вселенной
 Мы можем использовать данные Friedman et al.
(2001) для оценки : iii xy  
xy 
Author: Sergey Mastitsky
 Используйте команду:
> setwd("~/Introductory R
Course/R_Course_Datasets")
 Или в RStudio:
Session -> Set Working Directory -> Choose
Directory -> …Рабочий стол -> папка
“Introductory R Course” -> папка
“R_Course_Datasets”
Author: Sergey Mastitsky
> hub.data <- read.table(
file = "hubble_data.txt",
header = TRUE,
sep = "t")
> head(hub.data)
Author: Sergey Mastitsky
> hub.mod <- lm(y ~ x - 1,
data = hub.data)
Объект с результатами
анализа
Формула модели:
“ ~ “ - “тилда”
“ -1” значит отсутствие
свободного члена
Имя таблицы с данными
Author: Sergey Mastitsky
> summary(hub.mod)
Author: Sergey Mastitsky
 Показывает, о какой модели идет речь
 Полезно при построении большого
числа моделей
Author: Sergey Mastitsky
 Сводка о распределении остатков
 Позволяет выполнить экспресс-оценку
их распределения
 Так, Median должна быть ~0, а Max и
Min должны быть примерно равны
Author: Sergey Mastitsky
 Регрессионный коэффициент (76.581), его
станд. ошибка и P-значение соответствующего
t-теста
 * - индикатор уровня значимости
 Эти «звездочки» можно отключить командой
options(show.signif.stars = FALSE)
Author: Sergey Mastitsky
 Стандартное отклонение остатков, 
Author: Sergey Mastitsky
 Multiple R-squared (= коэффициент
детерминации)
 Adjusted R-squared скорректированный
Multiple R-squared с учетом объема
выборки и числа параметров модели
Author: Sergey Mastitsky
 F-тест гипотезы о том, что все регрессионные
коэффициенты в действительности равны
нулю
 Показатель того, насколько модель хороша в
целом
Author: Sergey Mastitsky
 В целом, модель высоко значима
(P < 0.001, F-тест)
 Расстояние до галактики является
хорошим предиктором скорости ее
удаления (P < 0.001, t-тест)
 Полученная модель:
xy 581.76
Author: Sergey Mastitsky
8.3. Проверка адекватности
модели
 Низкие P-значения не гарантируют, что
модель адекватно описывает изучаемый
процесс
 После построения модели необходимо
проверить ряд допущений
 В частности:
 характер распределения остатков
 наличие «выбросов»
Author: Sergey Mastitsky
# resid() извлекает остатки из модельного
объекта:
> resid(hub.mod)
Author: Sergey Mastitsky
5 10 20
5001500
x
y
5 10 20
5001500
x
y
# fitted() извлекает предсказанные
моделью значения y:
> fitted(hub.mod)
Author: Sergey Mastitsky
> plot(resid(hub.mod) ~
fitted(hub.mod),
xlab = "fitted values",
ylab = "residuals")
Разброс остатков
возрастает – плохие
новости!
Author: Sergey Mastitsky
500 1000 1500
-600-200200600
fitted values
residuals
> 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
 Диагностические графики показывают,
что наблюдения #3 и #15, по-видимому,
оказывают слишком большое влияние
на оценки параметров модели. Удалим
эти наблюдения и подгоним новую
модель:
> hub.mod1 <- lm(y ~ x - 1,
data = hub.data[-c(3, 15), ])
Author: Sergey Mastitsky
> summary(hub.mod1)
Author: Sergey Mastitsky
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)
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
 Поскольку полученная оценка возраста
Вселенной является выборочной, существует
неопределенность в отношении того, насколько
она точна
 Эту неопределенность выражают при помощи
доверительного интервала
 О том, как рассчитать доверительные интервалы
для параметров регрессионной модели, см. здесь:
http://r-analytics.blogspot.de/2014/05/blog-post.html
Author: Sergey Mastitsky

More Related Content

What's hot

Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Technopark
 
Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014
Andrii Gakhov
 
Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Technopark
 
Data Mining - lecture 3 - 2014
Data Mining - lecture 3 - 2014Data Mining - lecture 3 - 2014
Data Mining - lecture 3 - 2014
Andrii Gakhov
 
C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.
Igor Shkulipa
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование
Theoretical mechanics department
 
Основы MATLAB. Программирование
Основы MATLAB. ПрограммированиеОсновы MATLAB. Программирование
Основы MATLAB. Программирование
Theoretical mechanics department
 
Java осень 2013 лекция 2
Java осень 2013 лекция 2Java осень 2013 лекция 2
Java осень 2013 лекция 2Technopark
 
Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.
Unguryan Vitaliy
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
Основы NumPy
Основы NumPyОсновы NumPy
Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014
Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014
Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014
Python Meetup
 
Лекция 4: Стек. Очередь
Лекция 4: Стек. ОчередьЛекция 4: Стек. Очередь
Лекция 4: Стек. ОчередьMikhail Kurnosov
 
Алгоритмы поиска
Алгоритмы поискаАлгоритмы поиска
Лекция о языке программирования Haskell
Лекция о языке программирования HaskellЛекция о языке программирования Haskell
Лекция о языке программирования Haskell
husniyarova
 
9. java lecture library
9. java lecture library9. java lecture library
9. java lecture libraryMERA_school
 
"Immutable данные в JS приложениях", Дмитрий Кунин, MoscowJS 20
"Immutable данные в JS приложениях", Дмитрий Кунин, MoscowJS 20"Immutable данные в JS приложениях", Дмитрий Кунин, MoscowJS 20
"Immutable данные в JS приложениях", Дмитрий Кунин, MoscowJS 20MoscowJS
 

What's hot (20)

Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
 
Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014Data Mining - lecture 4 - 2014
Data Mining - lecture 4 - 2014
 
Основы MATLAB. Лекция 1.
Основы MATLAB. Лекция 1.Основы MATLAB. Лекция 1.
Основы MATLAB. Лекция 1.
 
Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3Алгоритмы и структуры данных осень 2013 лекция 3
Алгоритмы и структуры данных осень 2013 лекция 3
 
Data Mining - lecture 3 - 2014
Data Mining - lecture 3 - 2014Data Mining - lecture 3 - 2014
Data Mining - lecture 3 - 2014
 
C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование
 
Основы MATLAB. Программирование
Основы MATLAB. ПрограммированиеОсновы MATLAB. Программирование
Основы MATLAB. Программирование
 
Java осень 2013 лекция 2
Java осень 2013 лекция 2Java осень 2013 лекция 2
Java осень 2013 лекция 2
 
Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.Java. Массивы. Многомерные массивы.
Java. Массивы. Многомерные массивы.
 
Синтез функциональных программ при помощи метода дедуктивных таблиц
Синтез функциональных программ при помощи метода дедуктивных таблицСинтез функциональных программ при помощи метода дедуктивных таблиц
Синтез функциональных программ при помощи метода дедуктивных таблиц
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
Основы NumPy
Основы NumPyОсновы NumPy
Основы NumPy
 
Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014
Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014
Быстрые конструкции в Python - Олег Шидловский, Python Meetup 26.09.2014
 
Лекция 4: Стек. Очередь
Лекция 4: Стек. ОчередьЛекция 4: Стек. Очередь
Лекция 4: Стек. Очередь
 
Алгоритмы поиска
Алгоритмы поискаАлгоритмы поиска
Алгоритмы поиска
 
Лекция о языке программирования Haskell
Лекция о языке программирования HaskellЛекция о языке программирования Haskell
Лекция о языке программирования Haskell
 
9. java lecture library
9. java lecture library9. java lecture library
9. java lecture library
 
"Immutable данные в JS приложениях", Дмитрий Кунин, MoscowJS 20
"Immutable данные в JS приложениях", Дмитрий Кунин, MoscowJS 20"Immutable данные в JS приложениях", Дмитрий Кунин, MoscowJS 20
"Immutable данные в JS приложениях", Дмитрий Кунин, MoscowJS 20
 

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

Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системах
romovpa
 
!Predictive analytics part_2
!Predictive analytics part_2!Predictive analytics part_2
!Predictive analytics part_2
Vladimir Krylov
 
Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Technopark
 
01 вводная
01 вводная01 вводная
01 вводная
serega.ovukhov
 
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
CocoaHeads
 
Razinkov
RazinkovRazinkov
Razinkov
sirchaplin
 
3. Массивы в C#
3. Массивы в C#3. Массивы в C#
3. Массивы в C#
Olga Maksimenkova
 
p01.pdf
p01.pdfp01.pdf
Лекция 11 Приближенные алгоритмы
Лекция 11 Приближенные алгоритмыЛекция 11 Приближенные алгоритмы
Лекция 11 Приближенные алгоритмы
simple_people
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Positive Hack Days
 
Практикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаПрактикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаЕкатерина Луговова
 
Статический анализ: вокруг Java за 60 минут
Статический анализ: вокруг Java за 60 минутСтатический анализ: вокруг Java за 60 минут
Статический анализ: вокруг Java за 60 минут
Andrey Karpov
 
Прогнозирование - Лекция 1. Компьютерные инструменты прогнозирования
Прогнозирование - Лекция 1. Компьютерные инструменты прогнозированияПрогнозирование - Лекция 1. Компьютерные инструменты прогнозирования
Прогнозирование - Лекция 1. Компьютерные инструменты прогнозирования
Gleb Zakhodiakin
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
Technosphere1
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
Unguryan Vitaliy
 
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
SmartTools
 
храпунова
храпуновахрапунова
храпуноваDemanessa
 
Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Vladimir Tcherniak
 

Similar to Простая линейная регрессия в системе R (20)

Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системах
 
!Predictive analytics part_2
!Predictive analytics part_2!Predictive analytics part_2
!Predictive analytics part_2
 
Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7
 
01 вводная
01 вводная01 вводная
01 вводная
 
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
 
Razinkov
RazinkovRazinkov
Razinkov
 
Razinkov
RazinkovRazinkov
Razinkov
 
3. Массивы в C#
3. Массивы в C#3. Массивы в C#
3. Массивы в C#
 
p01.pdf
p01.pdfp01.pdf
p01.pdf
 
Лекция 11 Приближенные алгоритмы
Лекция 11 Приближенные алгоритмыЛекция 11 Приближенные алгоритмы
Лекция 11 Приближенные алгоритмы
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
 
Практикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаПрактикум по выполнению блока с информатика
Практикум по выполнению блока с информатика
 
Статический анализ: вокруг Java за 60 минут
Статический анализ: вокруг Java за 60 минутСтатический анализ: вокруг Java за 60 минут
Статический анализ: вокруг Java за 60 минут
 
Прогнозирование - Лекция 1. Компьютерные инструменты прогнозирования
Прогнозирование - Лекция 1. Компьютерные инструменты прогнозированияПрогнозирование - Лекция 1. Компьютерные инструменты прогнозирования
Прогнозирование - Лекция 1. Компьютерные инструменты прогнозирования
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
 
585
585585
585
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
 
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
 
храпунова
храпуновахрапунова
храпунова
 
Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.
 

More from Sergey Mastitsky

Karataev_et_al._2003_Conchophthirus_emergenece.PDF
Karataev_et_al._2003_Conchophthirus_emergenece.PDFKarataev_et_al._2003_Conchophthirus_emergenece.PDF
Karataev_et_al._2003_Conchophthirus_emergenece.PDFSergey Mastitsky
 
AI_2007_2_1_Mastitsky_Makarevich
AI_2007_2_1_Mastitsky_MakarevichAI_2007_2_1_Mastitsky_Makarevich
AI_2007_2_1_Mastitsky_MakarevichSergey Mastitsky
 
Karatayev et al 2008 Aquatic invasions in Belarus
Karatayev et al 2008 Aquatic invasions in BelarusKaratayev et al 2008 Aquatic invasions in Belarus
Karatayev et al 2008 Aquatic invasions in BelarusSergey Mastitsky
 
Корреляционный анализ в системе R
Корреляционный анализ в системе RКорреляционный анализ в системе R
Корреляционный анализ в системе R
Sergey Mastitsky
 
Реализация классических статистических тестов в системе R
Реализация классических статистических тестов в системе RРеализация классических статистических тестов в системе R
Реализация классических статистических тестов в системе R
Sergey Mastitsky
 
Загрузка данных в системе R
Загрузка данных в системе RЗагрузка данных в системе R
Загрузка данных в системе R
Sergey Mastitsky
 
Инсталляция системы статистических вычислений R
Инсталляция системы статистических вычислений RИнсталляция системы статистических вычислений R
Инсталляция системы статистических вычислений R
Sergey Mastitsky
 
Ковариационный анализ (ANСOVA) в системе R
Ковариационный анализ (ANСOVA) в системе RКовариационный анализ (ANСOVA) в системе R
Ковариационный анализ (ANСOVA) в системе R
Sergey Mastitsky
 

More from Sergey Mastitsky (10)

Karataev_et_al._2003_Conchophthirus_emergenece.PDF
Karataev_et_al._2003_Conchophthirus_emergenece.PDFKarataev_et_al._2003_Conchophthirus_emergenece.PDF
Karataev_et_al._2003_Conchophthirus_emergenece.PDF
 
AI_2007_2_1_Mastitsky_Makarevich
AI_2007_2_1_Mastitsky_MakarevichAI_2007_2_1_Mastitsky_Makarevich
AI_2007_2_1_Mastitsky_Makarevich
 
mastitsky_article
mastitsky_articlemastitsky_article
mastitsky_article
 
Karatayev et al 2008 Aquatic invasions in Belarus
Karatayev et al 2008 Aquatic invasions in BelarusKaratayev et al 2008 Aquatic invasions in Belarus
Karatayev et al 2008 Aquatic invasions in Belarus
 
AI_2012_1_Claudi_etal
AI_2012_1_Claudi_etalAI_2012_1_Claudi_etal
AI_2012_1_Claudi_etal
 
Корреляционный анализ в системе R
Корреляционный анализ в системе RКорреляционный анализ в системе R
Корреляционный анализ в системе R
 
Реализация классических статистических тестов в системе R
Реализация классических статистических тестов в системе RРеализация классических статистических тестов в системе R
Реализация классических статистических тестов в системе R
 
Загрузка данных в системе R
Загрузка данных в системе RЗагрузка данных в системе R
Загрузка данных в системе R
 
Инсталляция системы статистических вычислений R
Инсталляция системы статистических вычислений RИнсталляция системы статистических вычислений R
Инсталляция системы статистических вычислений R
 
Ковариационный анализ (ANСOVA) в системе R
Ковариационный анализ (ANСOVA) в системе RКовариационный анализ (ANСOVA) в системе R
Ковариационный анализ (ANСOVA) в системе R
 

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

  • 2.  Коэффициент корреляции отражает степень связи между переменными  Но мы не можем его использовать для предсказания значений одной переменной по значениям другой Author: Sergey Mastitsky
  • 4.  yi – зависимая переменная  0 – свободный член уравнения  1 – регрессионный коэффициент  xi – предиктор (= “независимая переменная”)  εi – остатки, независимые и iii xy   10 ),0( N Author: Sergey Mastitsky
  • 5. Это тоже линейная регрессионная модель, хотя и описывает кривую: Объяснение: iiii xxy   2 21 iiii ii cxy cxесли    21 2 Author: Sergey Mastitsky
  • 6.  Параметры 0, 1 и  оцениваются методом наименьших квадратов Author: Sergey Mastitsky
  • 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.  Freedman et al. (2001)* опубликовали данные по расстоянию до 24 галактик (Мегапарсек), измеренному Телескопом Хаббла  Приведены также скорости удаления этих галактик (по эффекту Доплера, км/с) *Freedman WL et al. (2001) The Astrophysical Journal 553: 47-72 hubblesite.org Author: Sergey Mastitsky
  • 9. Author: Sergey Mastitsky 5 10 15 20 50010001500 Distance (Mpc) Velocity(km/sec)
  • 10.  Согласно ТБВ, Вселенная равномерно расширяется по закону Хаббла: где y – относительная скорость расхождения любых двух галактик, находящихся на расстоянии x друг от друга   -1 – неизвестный параметр, который примерно равен возрасту Вселенной  Мы можем использовать данные Friedman et al. (2001) для оценки : iii xy   xy  Author: Sergey Mastitsky
  • 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. > hub.data <- read.table( file = "hubble_data.txt", header = TRUE, sep = "t") > head(hub.data) Author: Sergey Mastitsky
  • 13. > hub.mod <- lm(y ~ x - 1, data = hub.data) Объект с результатами анализа Формула модели: “ ~ “ - “тилда” “ -1” значит отсутствие свободного члена Имя таблицы с данными Author: Sergey Mastitsky
  • 15.  Показывает, о какой модели идет речь  Полезно при построении большого числа моделей Author: Sergey Mastitsky
  • 16.  Сводка о распределении остатков  Позволяет выполнить экспресс-оценку их распределения  Так, Median должна быть ~0, а Max и Min должны быть примерно равны Author: Sergey Mastitsky
  • 17.  Регрессионный коэффициент (76.581), его станд. ошибка и P-значение соответствующего t-теста  * - индикатор уровня значимости  Эти «звездочки» можно отключить командой options(show.signif.stars = FALSE) Author: Sergey Mastitsky
  • 18.  Стандартное отклонение остатков,  Author: Sergey Mastitsky
  • 19.  Multiple R-squared (= коэффициент детерминации)  Adjusted R-squared скорректированный Multiple R-squared с учетом объема выборки и числа параметров модели Author: Sergey Mastitsky
  • 20.  F-тест гипотезы о том, что все регрессионные коэффициенты в действительности равны нулю  Показатель того, насколько модель хороша в целом Author: Sergey Mastitsky
  • 21.  В целом, модель высоко значима (P < 0.001, F-тест)  Расстояние до галактики является хорошим предиктором скорости ее удаления (P < 0.001, t-тест)  Полученная модель: xy 581.76 Author: Sergey Mastitsky
  • 23.  Низкие P-значения не гарантируют, что модель адекватно описывает изучаемый процесс  После построения модели необходимо проверить ряд допущений  В частности:  характер распределения остатков  наличие «выбросов» Author: Sergey Mastitsky
  • 24. # resid() извлекает остатки из модельного объекта: > resid(hub.mod) Author: Sergey Mastitsky 5 10 20 5001500 x y
  • 25. 5 10 20 5001500 x y # fitted() извлекает предсказанные моделью значения y: > fitted(hub.mod) Author: Sergey Mastitsky
  • 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. > 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.  Диагностические графики показывают, что наблюдения #3 и #15, по-видимому, оказывают слишком большое влияние на оценки параметров модели. Удалим эти наблюдения и подгоним новую модель: > hub.mod1 <- lm(y ~ x - 1, data = hub.data[-c(3, 15), ]) Author: Sergey Mastitsky
  • 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. 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.  Поскольку полученная оценка возраста Вселенной является выборочной, существует неопределенность в отношении того, насколько она точна  Эту неопределенность выражают при помощи доверительного интервала  О том, как рассчитать доверительные интервалы для параметров регрессионной модели, см. здесь: http://r-analytics.blogspot.de/2014/05/blog-post.html Author: Sergey Mastitsky