Основы моделирования для объяснения

Моделирование данных в Tidyverse

Albert Y. Kim

Assistant Professor of Statistical and Data Sciences

Обзор курса

  1. Введение в моделирование: теория и терминология
  2. Регрессия:
    • Простая линейная регрессия
    • Множественная регрессия
  3. Оценка модели
Моделирование данных в Tidyverse

Общая формула модели

$$

$$y = f(\vec{x}) + \epsilon$$

Где:

  • $y$: целевая переменная
  • $\vec{x}$: объясняющие/предикторные переменные
  • $f()$: функция зависимости между $y$ и $\vec{x}$, т.е. сигнал
  • $\epsilon$: несистематическая составляющая ошибки, т.е. шум
Моделирование данных в Tidyverse

Два сценария моделирования

Моделирование для:

  • Объяснения: $\vec{x}$ — объясняющие переменные
  • Предсказания: $\vec{x}$ — предикторные переменные
Моделирование данных в Tidyverse

Пример моделирования для объяснения

Исследование Техасского университета в Остине по оценкам преподавания (данные доступны на openintro.org).

Вопрос: Можно ли объяснить различия в оценках преподавания на основе характеристик преподавателей?

Переменные:

  • $y$: средняя оценка преподавания score по отзывам студентов
  • $\vec{x}$: характеристики — rank, gender, age и bty_avg
Моделирование данных в Tidyverse

Пример моделирования для объяснения

Из пакета moderndive для ModernDive.com:

library(dplyr)
library(moderndive)
glimpse(evals)
Observations: 463
Variables: 13
$ ID           <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10...
$ score        <dbl> 4.7, 4.1, 3.9, 4.8, 4.6, 4.3...
$ age          <int> 36, 36, 36, 36, 59, 59, 59, 51...
$ bty_avg      <dbl> 5.000, 5.000, 5.000, 5.000...
$ gender       <fct> female, female, female, female...
...
Моделирование данных в Tidyverse

Разведочный анализ данных

Три основных шага разведочного анализа данных (EDA):

  1. Просмотр данных
  2. Создание визуализаций
  3. Вычисление сводных статистик
Моделирование данных в Tidyverse

Разведочный анализ данных

library(ggplot2)
ggplot(evals, aes(x = score)) +
  geom_histogram(binwidth = 0.25) + 
  labs(x = "teaching score", y = "count")
Моделирование данных в Tidyverse

Разведочный анализ данных

Моделирование данных в Tidyverse

Разведочный анализ данных

# Compute mean, median, and standard deviation
evals %>%
  summarize(mean_score = mean(score), 
            median_score = median(score),
            sd_score = sd(score))
# A tibble: 1 x 3
  mean_score median_score sd_score
       <dbl>        <dbl>    <dbl>
1       4.17          4.3    0.544
Моделирование данных в Tidyverse

Давайте потренируемся!

Моделирование данных в Tidyverse

Preparing Video For Download...