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

Промежуточная регрессия в R

Richie Cotton

Data Evangelist at DataCamp

Весьма замечательный парадокс!

Парадокс Симпсона возникает, когда тренд модели на всём наборе данных существенно отличается от трендов моделей на его подмножествах.

тренд = коэффициент наклона

Промежуточная регрессия в 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
Промежуточная регрессия в 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
Промежуточная регрессия в R

График всего набора данных

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

scatter-simpson-whole.png

Промежуточная регрессия в R

График по группам

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

scatter-simpson-by-group.png

Промежуточная регрессия в R

Как разрешить противоречие

Полезный совет

По возможности стройте график набора данных.

Распространённый совет

Нельзя выбрать лучшую модель в общем случае — всё зависит от набора данных и поставленного вопроса.

Ещё один полезный совет

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

Промежуточная регрессия в R

Пример с результатами тестов

scatter-video-games-whole.png

scatter-video-games-by-group.png

Промежуточная регрессия в 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
Промежуточная регрессия в R

Как разрешить противоречие — продолжение

  • Как правило (но не всегда) сгруппированная модель даёт больше информации.
  • Не упустили ли вы объясняющие переменные?
  • Контекст имеет значение.
Промежуточная регрессия в R

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

  • Парадокс обычно проявляется менее очевидно.
  • Вместо полного изменения направления вы можете увидеть нулевой наклон.
  • Он может проявляться не во всех группах.
Промежуточная регрессия в R

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

Промежуточная регрессия в R

Preparing Video For Download...