Каузальный анализ: конфаундеры и смещения
«Пользователи новой фичи ретенятся лучше - значит, фича работает?» - вопрос-ловушка, которым проверяют причинное мышление. Ответ «да» заканчивает собеседование раньше запланированного.
Типовые формулировки: «корреляция или причинность?», «добавим все переменные в регрессию - будет чистый эффект?», «почему нельзя сравнить тех, кто пользуется, с теми, кто нет?».
// Вся тема сводится к одному рефлексу: увидел разницу между группами - спроси, кто и как в эти группы попал. Если попадание выбирал сам человек, разница измеряет его выбор, а не твою фичу.
Конфаундер: третий, который объясняет обоих
Летом растут продажи мороженого и число утоплений. Корреляция железная, десятилетиями воспроизводится. Запретишь мороженое - утопления не изменятся ни на человека, потому что у обоих явлений одна общая причина: жара.
Такая общая причина называется конфаундером - переменная, которая влияет и на предполагаемую причину, и на следствие. Она создаёт видимую связь там, где прямой связи нет вовсе.
Продуктовая версия того же самого. Юзеры, включившие новую фичу, ретенятся на 20 процентов лучше. Кто вообще включает новые фичи? Самые вовлечённые. Вовлечённость гонит и к фиче, и к высокому ретеншену - значит она конфаундер, а твоё сравнение измеряет вовлечённость, а не пользу фичи.
// Лечится тремя способами: включить конфаундер в модель, стратифицировать (сравнивать только внутри однородных групп) или подобрать похожие пары. Но контролировать надо именно конфаундеры - а не всё, что попалось под руку. Почему - на следующей карточке.
- воздействие
- то, эффект чего мы измеряем: включённая фича, показанная скидка, пройденное обучение. В литературе его зовут treatment, и это калька из медицины
Коллайдер и медиатор: когда контроль вредит
Есть два типа переменных, контроль по которым не очищает оценку, а портит её. Джуна про них не спрашивают, сеньора спрашивают почти всегда.
Коллайдер - общее СЛЕДСТВИЕ двух переменных. Проверить проще всего на найме: в компанию берут либо очень способных, либо тех, кому повезло попасть на подходящую вакансию. В населении способности и удача независимы. А среди принятых они отрицательно связаны: раз человек прошёл и при этом не гений, значит ему повезло. Отфильтровав выборку по «принят», ты своими руками создал связь, которой в мире нет.
Медиатор - станция на пути от причины к следствию. Обучение даёт знания, знания дают зарплату. Если «проконтролировать знания», то есть сравнивать людей с одинаковыми знаниями, эффект обучения на зарплату исчезнет - ты стёр ровно тот канал, который собирался измерить.
// Отсюда приговор стратегии «добавим в регрессию всё, что есть в таблице». Без причинной схемы контроль вслепую с равными шансами очищает оценку и ломает её. Схему рисуют явно, и называется она DAG (directed acyclic graph) - направленный граф без циклов, где узлы это переменные, а стрелки читаются как «влияет на».
- контролировать переменную
- убрать её влияние: включить в регрессию, сравнивать внутри её уровней, подобрать пары с одинаковым значением. Не всякая переменная это заслужила
Отбор данных и язык причинности
Selection bias - когда сами данные отобраны так, что вывод по ним не переносится на всех.
Хрестоматийный случай - самолёты Второй мировой. Вернувшиеся машины были изрешечены в крыльях и фюзеляже, и первым порывом было усилить броню именно там. Абрахам Вальд заметил обратное: усиливать надо места без пробоин, потому что подбитые туда просто не вернулись и в выборку не попали. Данные были отобраны выживанием.
Продуктовая версия ровно та же. Опрос об удовлетворённости заполняют оставшиеся клиенты, ушедшие в отток не отвечают вообще. Ретроспектива успешных проектов не расскажет, что ровно так же делали провалившиеся.
Формальный язык, на котором это записывается, - потенциальные исходы. Для каждого человека мыслится два мира: что с ним будет, если воздействие применить, и что будет, если нет. Эффект - разница между этими мирами. Загвоздка в том, что наблюдать можно только один: если юзер увидел фичу, мы никогда не узнаем, как бы он себя вёл, не увидев её. Всё остальное в causal inference - эксперименты, матчинг, квазидизайны - это способы подобрать замену второму, ненаблюдаемому миру.
// Направление стрелки из корреляции не выводится в принципе. Реклама двигает продажи, а бюджет рекламы планируется от продаж - связь есть в обе стороны, и данные о том, где причина, молчат.
Как отвечать: «Пользователи новой фичи ретенятся на 20 процентов лучше. Фича работает?»
Пока неизвестно - это самоотбор, а не эффект. Фичу включают самые вовлечённые, они ретенились бы лучше и без неё, так что активность здесь конфаундер, а сравнение «как есть» даёт ассоциацию, а не причинную связь. Чтобы говорить об эффекте, нужен эксперимент: показывать фичу случайной части юзеров. Если рандомизация невозможна, беру квазиметоды - подбор похожих по довоздейственной активности или разность разностей вокруг момента включения. И я бы не стал «просто добавлять всё в регрессию»: без причинной схемы легко законтролировать коллайдер или медиатор и получить смещение вместо очистки.
Назван механизм, дана корректная альтернатива по нарастанию сложности и сразу закрыт типичный контраргумент про регрессию со всеми контролями.
На чём валят
- −«Добавим в регрессию все переменные»: контроль коллайдера или медиатора искажает эффект вместо очистки.
- −Сравнивать пользователей фичи с непользователями как есть - это самоотбор, а не измерение.
- −Делать выводы по выжившим: смотреть только на оставшихся клиентов и успешные проекты.
- −Объявлять направление причинности из корреляции: стрелку данные не показывают ни при каком объёме.
- −Забыть, что второй мир ненаблюдаем: у одного человека нельзя увидеть и «с фичей», и «без».
Проверьте себя
Пять вопросов из банка по этой подтеме. Всего их 18, остальные разбираются в тренажёре.
- Почему при парадоксе Симпсона агрегированная и посегментная связь противоположны?A)Это в реальности редко встречается и является грубой ошибкой в расчётахB)Потому что при агрегации данные случайно перемешиваются между группамиC)Из-за округления чисел при вычислении суммарных долей по группамD)Конфаундер неравномерно распределён по группам и разворачивает агрегат
показать ответ и разбор
+D)Конфаундер неравномерно распределён по группам и разворачивает агрегат// разбор: Парадокс Симпсона возникает, когда скрытая переменная неравномерно распределена по группам: в агрегате её эффект перевешивает и переворачивает знак связи, видимой внутри каждой группы. Какой разрез верен — агрегированный или по группам — решает причинная структура (DAG), а не арифметика: контролировать надо конфаундер, но не коллайдер.
- Почему контроль (кондиционирование) на коллайдере вводит ложную связь?A)Коллайдер — общее следствие двух причин; фиксируя его, связываешь их искусственноB)Коллайдер — это общая причина двух переменных, и его контроль улучшает оценку ещё до наступления самого события-следствия в данныхC)Контроль на коллайдере вообще никак не влияет на итоговую оценку эффектаD)Коллайдер — это случайная ошибка, и её нужно контролировать в модели
показать ответ и разбор
+A)Коллайдер — общее следствие двух причин; фиксируя его, связываешь их искусственно// разбор: Коллайдер — общее следствие двух причин (X → C ← Y). Кондиционируя на нём (фильтруя или добавляя в регрессию), наводишь ложную корреляцию между исходно независимыми X и Y. Отсюда правило: контролируй конфаундеры (общие причины), но не коллайдеры и не медиаторы — иначе «контроль всего подряд» сам создаёт смещение.
- Оцениваем эффект X на Y на наблюдательных данных. За какие переменные нужно контролировать?A)За все доступные переменные сразу — чем больше контролей в модели, тем точнее оценка эффектаB)Ни за какие: кондиционирование искажает истинный причинный эффект X на Y и вредит оценкеC)За конфаундеры — общие причины X и Y, перекрывающие «задний» путь; но не за медиаторы и коллайдерыD)За переменные, сильнее всего коррелирующие с Y, независимо от их роли в причинной схеме
показать ответ и разбор
+C)За конфаундеры — общие причины X и Y, перекрывающие «задний» путь; но не за медиаторы и коллайдеры// разбор: Чтобы оценить причинный эффект из наблюдений, перекрывают «задние» пути (backdoor) — идущие через общие причины X и Y (конфаундеры). За них и контролируют. НЕ контролируют за медиаторами (они НА пути эффекта — контроль его «съест») и коллайдерами (контроль откроет ложную связь). «Всё подряд» и «сильнее коррелирующие с Y» — рецепт bad controls. Роль в causal DAG важнее силы корреляции.
- Почему рандомизированный эксперимент снимает проблему конфаундеров «из коробки»?A)Потому что в эксперименте значительно больше данных, чем удаётся собрать в наблюдательном исследованииB)Случайное назначение делает группу независимой от любых, в том числе неизвестных, факторов — они в среднем уравниваютсяC)Потому что в A/B-тесте практически нет никаких скрытых переменных, способных повлиять на итоговый исходD)Потому что рандомизация автоматически удаляет из собранных данных все выбросы и шумовые наблюдения перед анализом
показать ответ и разбор
+B)Случайное назначение делает группу независимой от любых, в том числе неизвестных, факторов — они в среднем уравниваются// разбор: Рандомизация назначает воздействие независимо от характеристик объекта, поэтому и известные, и НЕизвестные факторы в среднем распределяются между группами одинаково — систематической связи «кто получил воздействие» с исходом через третьи переменные не остаётся. Именно это делает разницу средних несмещённой оценкой эффекта. Дело не в объёме данных, не в отсутствии скрытых переменных (они есть, но уравнены) и не в выбросах.
- Аналитик добавил в регрессию «всё, что было в данных», и оценка эффекта поехала. Класс проблемы?A)Недоспецификация модели: переменных не хватает, и надо было добавить ещё большеB)Мультиколлинеарность — это беда от добавления лишних переменных в регрессию эффектаC)Переобучение регрессии, которое лечится L2-регуляризацией её коэффициентовD)Bad controls: контроль за медиатором, коллайдером или пост-трит-переменной вносит смещение
показать ответ и разбор
+D)Bad controls: контроль за медиатором, коллайдером или пост-трит-переменной вносит смещение// разбор: «Контролируй всё» — опасный миф. Медиатор (НА пути эффекта) частично или полностью «съедает» эффект; коллайдер (общее следствие X и Y) при контроле открывает ложную связь; пост-трит-переменная смешивает причину и следствие. Всё это bad controls — они смещают оценку, а не уточняют. Набор контролей диктует causal DAG, а не «есть в данных». Это не про мультиколлинеарность и не про регуляризацию.
дальше
Теорию прочитали. Навык ставится повторением
В Сеньорчике эта подтема идёт в ежедневных сессиях: движок возвращает её, пока ответы не станут уверенными, и ведёт прогресс отдельно по каждой подтеме. Теория внутри тоже бесплатна, лимит только на количество вопросов в день.