Інференція на основі моделювання

Статистичні висновки для лінійної регресії в R

Jo Hardin

Professor, Pomona College

Статистичні висновки для лінійної регресії в R

Точкова діаграма IQ близнюків.

Статистичні висновки для лінійної регресії в R

Дані про близнюків

Таблиця IQ близнюків. Кожен рядок — пара близнюків. У першій колонці IQ близнюка, вихованого прийомними батьками, у другій — близнюка, вихованого біологічними батьками.

Статистичні висновки для лінійної регресії в R

Перемішані дані про близнюків

У таблиці IQ близнюків колонки перемішано, тож пари більше не розташовані в одному рядку.

Статистичні висновки для лінійної регресії в R

Графік перемішаних даних (1)

Початкові дані

Перемішані дані (1)

Статистичні висновки для лінійної регресії в R

Графік перемішаних даних (2)

Початкові дані

Перемішані дані (2)

Статистичні висновки для лінійної регресії в R

Перемішані дані (1) і (2)

Перемішані дані (1)

Перемішані дані (2)

Статистичні висновки для лінійної регресії в R
twins %>%
   specify(Foster ~ Biological) %>%
   hypothesize(null = "independence") %>%
   generate(reps = 10, type = "permute") %>%
   calculate(stat = "slope")
A tibble: 10 x 2
   replicate          stat
       <int>         <dbl>
 1         1  0.0007709302
 2         2 -0.0353592305
 3         3 -0.0278627974
 4         4 -0.0072547982
 5         5 -0.1252761541
 6         6 -0.1669869287
 7         7 -0.2610519170
 8         8 -0.0157695494
 9         9  0.0581361900
10        10  0.1598471947
Статистичні висновки для лінійної регресії в R

Багато перемішаних нахилів

perm_slope <- twins %>%
   specify(Foster ~ Biological) %>%
   hypothesize(
     null = "independence"
     ) %>%
   generate(reps = 1000, 
            type = "permute") %>%
   calculate(stat = "slope") 

ggplot(data = perm_slope, aes(x = stat)) + 
   geom_histogram() +
   xlim(-1,1)

Статистичні висновки для лінійної регресії в R

Перемішані нахили з позначеним червоним спостережуваним

obs_slope <- lm(Foster ~ Biological,
                data = twins) %>%
   tidy() %>%   
   filter(term == "Biological") %>%
   select(estimate) %>%   
   pull()
obs_slope
0.901436
ggplot(data = perm_slope, aes(x = stat)) + 
   geom_histogram() +
   geom_vline(xintercept = obs_slope, color = "red") 
   + xlim(-1,1)

Статистичні висновки для лінійної регресії в R

Давайте потренуємось!

Статистичні висновки для лінійної регресії в R

Preparing Video For Download...