Парадокс Симпсона простыми словами
current_date?Содержание:
Зачем это знать
Смотрите агрегаты — группа A лучше B. Разбиваете на сегменты — в каждом сегменте B лучше A. Это парадокс Симпсона, один из главных источников ошибок в аналитике. Если не умеете его распознавать — легко сделать неправильный вывод.
На собесах по SQL, статистике и продуктовой аналитике парадокс Симпсона встречается регулярно. Пропустить — минус балл.
Короткое объяснение
Тренд в подгруппах может быть противоположным общему тренду.
A лучше B в каждой подгруппе → в агрегате B лучше AЭто не ошибка в расчётах — это реальный парадокс.
Классический пример: UC Berkeley admissions
1973 год: Berkeley обвинили в гендерной дискриминации. Агрегированные данные:
- Мужчины: 44% приёма
- Женщины: 35% приёма
Разница 9 п.п. — дискриминация?
Разбили по факультетам: в большинстве факультетов женщины принимались с большим процентом, чем мужчины.
Откуда разница? Женщины подавали в более конкурентные факультеты (низкий общий процент приёма), мужчины — в менее конкурентные (высокий общий процент).
Когда учли этот скрытый фактор (confounder) — дискриминации не оказалось.
Второй пример: медицина
Препарат A в общем лучше препарата B.
Разбили по тяжести случаев:
- Лёгкие пациенты: B лучше
- Тяжёлые пациенты: B лучше
Почему A выигрывает в агрегате? A получали больше лёгких пациентов (лучший общий результат), B — тяжёлых (худший общий результат).
В A/B-тестах
Группы A и B, конверсия:
- В общем: A > B
Смотрим по платформам:
- iOS: B > A
- Android: B > A
Проблема: в группе A больше iOS (где базовая конверсия выше). Несбалансированное распределение.
Решение: stratified randomization или post-stratification.
SQL пример
-- Overall
SELECT GROUP, AVG(converted) FROM ab_test GROUP BY GROUP;
-- A: 10%, B: 8% → A better
-- By platform
SELECT GROUP, platform, AVG(converted) FROM ab_test
GROUP BY GROUP, platform;
-- iOS: A=5%, B=7% → B better
-- Android: A=15%, B=17% → B betterКак распознать
1. Смотрите по сегментам
Всегда делайте разбивку: по платформе, гео, возрасту пользователя, премиум-статусу.
2. Проверьте баланс
Если treatment и control имеют разный состав по важным сегментам — есть риск Симпсона.
3. Проверка здравым смыслом
Знаете, что B должен быть хуже, но данные показывают A → ищите скрытый фактор.
Почему возникает
Confounding (смешение) — есть скрытая переменная, коррелирующая и с группой, и с исходом.
Без контроля этой переменной агрегат вводит в заблуждение.
Как лечить
Стратификация
Разделить по confounder, посчитать взвешенное среднее:
CR_fair = Σ (CR_segment × weight_segment)Регрессия
Добавить confounder в модель:
Y ~ treatment + confounderКоэффициент при treatment — контролируемый эффект.
Propensity score
Сопоставить объекты с похожей склонностью (propensity) → балансировка групп.
Реальные кейсы
Google Flu Trends
Агрегированные поисковые запросы и заболеваемость гриппом показывали корреляцию, но она была искажена региональным составом.
Смертность по странам
В стране A выше, чем в B. Разбили по возрасту — в каждой возрастной группе B выше. Дело в возрастном составе населения.
На собесе
«Что такое парадокс Симпсона?» Когда тренд в агрегате противоположен трендам в подгруппах.
«Как распознать?» Сегментация, проверка баланса, проверка здравым смыслом.
«Как лечить?» Стратификация, регрессия, propensity score matching.
«Классический пример?» Berkeley admissions, медицинские препараты.
Частые ошибки
Доверять агрегатам
Всегда сегментируйте. Особенно когда ставки высоки.
Считать, что рандомизация всегда спасает
В большой выборке рандомизация обычно балансирует, но на малой — не гарантирует.
Игнорировать экспертное знание
Если результат странный — ищите confounder, а не принимайте его сразу за истину.
Связанные темы
FAQ
Все агрегаты плохие?
Нет. Но сегментный анализ — это best practice.
Парадокс Симпсона vs confounding?
Парадокс Симпсона — проявление confounding в агрегатах.
Только в статистике?
Везде, где есть агрегация: политика, медицина, бизнес.