Podstawy modelowania wyjaśniającego

Modelowanie danych w Tidyverse

Albert Y. Kim

Assistant Professor of Statistical and Data Sciences

Przegląd kursu

  1. Wprowadzenie do modelowania: teoria i terminologia
  2. Regresja:
    • Prosta regresja liniowa
    • Regresja wielokrotna
  3. Ocena modelu
Modelowanie danych w Tidyverse

Ogólna formuła modelu

$$

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

Gdzie:

  • $y$: zmienna zależna
  • $\vec{x}$: zmienne wyjaśniające/predyktory
  • $f()$: funkcja zależności między $y$ a $\vec{x}$, czyli sygnał
  • $\epsilon$: losowy składnik błędu, czyli szum
Modelowanie danych w Tidyverse

Dwa scenariusze modelowania

Modelowanie w celach:

  • Wyjaśnienia: $\vec{x}$ to zmienne wyjaśniające
  • Prognozowania: $\vec{x}$ to zmienne predyktory
Modelowanie danych w Tidyverse

Przykład modelowania wyjaśniającego

Badanie Uniwersytetu Teksańskiego w Austin dotyczące ocen nauczycieli (dostępne na openintro.org).

Pytanie: Czy można wyjaśnić różnice w ocenach nauczycieli na podstawie ich atrybutów?

Zmienne:

  • $y$: Średnia ocena nauczyciela score na podstawie ewaluacji studentów
  • $\vec{x}$: Atrybuty takie jak rank, gender, age i bty_avg
Modelowanie danych w Tidyverse

Przykład modelowania wyjaśniającego

Z pakietu moderndive dla 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...
...
Modelowanie danych w Tidyverse

Eksploracyjna analiza danych

Trzy podstawowe kroki eksploracyjnej analizy danych (EDA):

  1. Przegląd danych
  2. Tworzenie wizualizacji
  3. Obliczanie statystyk opisowych
Modelowanie danych w Tidyverse

Eksploracyjna analiza danych

library(ggplot2)
ggplot(evals, aes(x = score)) +
  geom_histogram(binwidth = 0.25) + 
  labs(x = "teaching score", y = "count")
Modelowanie danych w Tidyverse

Eksploracyjna analiza danych

Modelowanie danych w Tidyverse

Eksploracyjna analiza danych

# 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
Modelowanie danych w Tidyverse

Czas na ćwiczenia!

Modelowanie danych w Tidyverse

Preparing Video For Download...