Парадокс Сімпсона

Середній рівень Regression у R

Richie Cotton

Data Evangelist at DataCamp

Надзвичайно дотепний парадокс!

Парадокс Сімпсона виникає, коли тренд моделі на всьому наборі даних суттєво відрізняється від трендів моделей на підмножинах набору даних.

trend = коефіцієнт нахилу

Середній рівень Regression у R

Синтетичні дані для парадоксу Сімпсона

x y group
62.24344 70.60840 D
52.33499 14.70577 B
56.36795 46.39554 C
66.80395 66.17487 D
66.53605 89.24658 E
62.38129 91.45260 E
  • 5 груп даних із мітками «A»–«E»
1 https://www.rdocumentation.org/packages/datasauRus/topics/simpsons_paradox
Середній рівень Regression у R

Лінійні регресії

Увесь набір даних

mdl_whole <- lm(
  y ~ x, 
  data = simpsons_paradox
)
coefficients(mdl_whole)
(Intercept)            x  
    -38.554        1.751  

За групами

mdl_by_group <- lm(
  y ~ group + group:x + 0, 
  data = simpsons_paradox
)
coefficients(mdl_by_group)
  groupA    groupB    groupC    groupD    groupE  
 32.5051   67.3886   99.6333  132.3932  123.8242  
groupA:x  groupB:x  groupC:x  groupD:x  groupE:x  
 -0.6266   -1.0105   -0.9940   -0.9908   -0.5364
Середній рівень Regression у R

Візуалізація всього набору даних

ggplot(simpsons_paradox, aes(x, y)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

scatter-simpson-whole.png

Середній рівень Regression у R

Візуалізація за групами

ggplot(simpsons_paradox, aes(x, y, color = group)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

scatter-simpson-by-group.png

Середній рівень Regression у R

Як узгодити відмінності

Корисна порада

Якщо можливо, побудуйте графік набору даних.

Поширена порада

Неможливо обрати «найкращу» модель узагалі — це залежить від даних і запитання, на яке ви відповідаєте.

Ще одна гарна порада

Сформулюйте запитання перед моделюванням.

Середній рівень Regression у R

Приклад із тестовими балами

scatter-video-games-whole.png

scatter-video-games-by-group.png

Середній рівень Regression у R

Приклад із інфекційною хворобою

scatter-cities-whole.png

scatter-cities-by-group.png

1 https://stats.stackexchange.com/questions/478463/examples-of-simpsons-paradox-being-resolved-by-choosing-the-aggregate-data
Середній рівень Regression у R

Знову про узгодження відмінностей

  • Здебільшого (але не завжди) згрупована модель дає більше інсайтів.
  • Чи не бракує пояснювальних змінних?
  • Контекст має значення.
Середній рівень Regression у R

Парадокс Сімпсона в реальних наборах даних

  • У реальних даних парадокс менш помітний.
  • Часто бачимо нульовий нахил, а не повну зміну напрямку.
  • Він може з'являтися не в кожній групі.
Середній рівень Regression у R

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

Середній рівень Regression у R

Preparing Video For Download...