Статистика
Рандомизированные испытания (RCT)
Цели урока
- Объяснять, почему наблюдательные данные систематически смещены
- Проектировать RCT с правильной рандомизацией, контрольной группой и слеплением
- Различать ITT и per-protocol анализ и выбирать корректный
- Распознавать нарушения SUTVA и применять кластерную рандомизацию
- Рассчитывать размер выборки и минимально детектируемый эффект
Предварительные знания
- Понятие конфаундера и парадокс Симпсона
- Доверительные интервалы и проверка гипотез
- Условные распределения
В 1954 году вакцину против полиомиелита тестировали на 1.8 миллиона американских школьников. Двойной слепой дизайн: даже врачи не знали, кому достался Salk-препарат, а кому плацебо. Зачем такая сложность? Эффект плацебо способен изменить исход на 20-30%, а решения врача о том, кого лечить интенсивнее, систематически искажают наблюдательную статистику. Результат: вакцина безоговорочно показала эффективность - и дизайн Salk стал золотым стандартом для всех будущих клинических испытаний.
- **Биг-тех A/B-тестирование**: Google, Netflix, Airbnb, Booking запускают тысячи RCT в год, каждый запуск фичи - формальный эксперимент
- **FDA-одобрение лекарств**: Phase III RCT обязателен; цена ошибки - талидомид (1950-е) вызвал дефекты у 10000 детей из-за отсутствия должного контроля
- **RLHF в LLM**: парные сравнения 'A vs B' - неформальные RCT, назначение оценщиков должно быть независимо от типа промпта
- **Bandit-алгоритмы**: Thompson Sampling и UCB - адаптивные RCT, минимизирующие regret при сохранении каузальной идентификации
От лимонов Линда к вакцине Salk
James Lind в 1747 году дал цитрусовые 12 морякам с цингой - возможно, первое контролируемое испытание в истории. Но без рандомизации и с крошечной выборкой результат был лишь намёком. Современный RCT формализовали Austin Bradford Hill и Richard Doll в исследовании курения и рака лёгких 1950 года. Их работа 1951-го установила критерии причинности (Bradford Hill criteria), используемые до сих пор. Полио-испытание 1954 года под руководством Salk стало первым по-настоящему массовым рандомизированным двойным слепым испытанием.
Почему наблюдательные данные обманывают
1954 год, самое крупное медицинское испытание в истории человечества. 1.8 миллиона американских школьников. Часть получает вакцину Jonas Salk против полиомиелита, часть - плацебо, часть - просто наблюдается. Двойной слепой дизайн: ни врачи, ни родители, ни сами дети не знают, что в шприце. Зачем такая сложность? Потому что эффект плацебо способен изменить исход на 20-30%, а решения врача о том, кого лечить интенсивнее, систематически смещают наблюдательную статистику. Рандомизация была не методологическим предпочтением, а единственным способом узнать, работает ли вакцина. Она работала.
Главный технический термин - confounding by indication. Сильное лечение чаще назначают тем, кому хуже. Если просто сравнить группы лечившихся и нелечившихся, лечение покажется бесполезным или даже вредным: тяжёлые случаи, получившие максимальную терапию, всё равно умирают чаще лёгких, оставшихся без вмешательства.
ML-пример: ad attribution
Почему модели, обученные на 'кликнувших на рекламу', проваливают атрибуцию.
Команда роста обучает модель предсказывать эффективность рекламы. Тренировочные данные: пользователи, увидевшие рекламу и купившие. Модель показывает огромный uplift. В реальности значительная часть тех, кто купил после клика, всё равно купили бы. Это classic selection: реклама показывалась более тёплой аудитории, и без рандомизации невозможно отделить эффект рекламы от эффекта таргетинга. Прямой incremental A/B-тест часто показывает в 5-10 раз меньший эффект, чем атрибуционная модель.
Survivorship bias - частный случай той же проблемы. Анализируя успешные стартапы, нельзя понять, что делает стартап успешным: невидимая половина уравнения - сотни закрывшихся фирм с теми же признаками.
Регрессия Y ~ T + X корректирует только наблюдаемые конфаундеры X. Любая ненаблюдаемая переменная (мотивация, генетика, окружение) остаётся в смещении. Рандомизация устраняет и наблюдаемые, и ненаблюдаемые конфаундеры одним движением.
Команда оценила эффект push-уведомлений на retention, сравнив пользователей, получивших уведомления, с теми, кто их не получил. Эффект - +15%. В чём проблема?
Это confounding by indication. Активные пользователи и так возвращаются чаще; их же выбирает система для отправки уведомлений. Без рандомизации эффект пуша смешивается с эффектом активности.
Дизайн RCT
Randomized Controlled Trial - эксперимент, в котором назначение в treatment или control происходит строго случайно, независимо от любых характеристик объекта. Случайное распределение делает T статистически независимым от потенциальных исходов: T ⊥ (Y(0), Y(1)). Из этого следует, что наивная разность средних несмещённо оценивает ATE.
Три ключевых компонента стандартного RCT: рандомизация (случайное назначение группы), контрольная группа (база сравнения, обычно плацебо или статус-кво), слепое испытание (участники и/или исследователи не знают распределения). Двойное слепое испытание - и участники, и исследователи в неведении - устраняет и эффект плацебо, и систематические искажения в оценке исхода.
| Тип рандомизации | Когда применять | Гарантия |
|---|---|---|
| Простая (coin flip) | Большие выборки (N > 1000) | Баланс ковариат асимптотически |
| Блочная | Малые выборки | Точно равные размеры групп |
| Стратифицированная | Важная ковариата (возраст, регион) | Баланс внутри страт |
| Кластерная | Лечение применимо к группе (школа, город) | Учёт сетевых эффектов |
Intent-to-treat (ITT) анализ: оценка проводится по исходному назначению, даже если участник отказался от лечения или перешёл в другую группу. Сохраняет рандомизационную инвариантность ценой консервативности оценки. Альтернатива - per-protocol анализ - смещён, если непринятие лечения коррелирует с исходом.
ML-пример: A/B-тесты на масштабе
Каждый запуск фичи в продакшен - формально RCT.
Netflix, Google, Booking, Airbnb запускают тысячи A/B-тестов в год. Facebook отчитывался о 10000+ экспериментов ежегодно. Каждый - микро-RCT: пользователи случайно делятся на arms, измеряются ключевые метрики, статистический тест выносит вердикт. Главное правило: рандомизация ДО показа изменения, фиксированная схема. Любое 'посмотрим на тех, кто увидел фичу' немедленно ломает причинную интерпретацию.
Стандарт отчётности RCT: показывает поток участников от первоначального скрининга через рандомизацию до анализа, фиксируя все отсевы. Обязателен в любом серьёзном клиническом или продуктовом отчёте.
В A/B-тесте 5% пользователей в treatment-группе закрыли приложение и не увидели нового функционала. Как анализировать?
Удаление не-увидевших нарушает рандомизацию - non-compliance может коррелировать с исходом (вышли потому что плохо себя чувствуют). ITT сохраняет валидность за счёт того, что оценивает эффект назначения, а не эффект самого использования.
Когда RCT ломается
RCT - золотой стандарт, но не серебряная пуля. Реальный мир ставит ограничения, которые лабораторный дизайн обходит с трудом. Понимание этих ограничений критично для интерпретации результатов и выбора альтернатив.
| Проблема | Суть | Что делать |
|---|---|---|
| Этика | Нельзя рандомизировать курение, развод, бедность | Натурные эксперименты, IV, DiD |
| Attrition | Часть участников выбывает не случайно | ITT-анализ, мультиимпутация |
| Spillover (SUTVA) | Treatment пользователя A влияет на пользователя B | Кластерная рандомизация |
| Hawthorne | Поведение меняется от факта наблюдения | Скрытый дизайн, sham-контроль |
| External validity | Лаб ≠ реальный мир | Прагматические испытания, репликации |
SUTVA (Stable Unit Treatment Value Assumption) - формальное предположение, что исход юнита i зависит только от его собственного лечения, не от лечения других. Социальные сети, маркетплейсы, многопользовательские игры регулярно нарушают SUTVA: эффект показа функции одному пользователю просачивается к его друзьям.
Сетевые эксперименты Meta
Почему классический A/B-тест в соцсети занижает эффект.
Тестируется новая ранжировка ленты. Treatment-пользователи видят новую ленту, control - старую. Но treatment-юзер постит больше комментариев, и его друзья (в control-группе) видят больше активности, увеличивая своё время в приложении. Эффект 'просачивается' в control, разница между группами сжимается, истинный эффект недооценивается. Решение: cluster randomization по эго-сетям или ego-cluster designs.
ML-команды часто тестируют новую модель оффлайн на исторических логах. Метрики выглядят отлично - в онлайн A/B-тесте эффект исчезает или становится отрицательным. Причина: оффлайн-оценка не учитывает изменения поведения пользователей, обратные связи и feedback loops. Никакая оффлайн-метрика не заменит онлайн-RCT для каузального вывода.
Чтобы повысить external validity, дизайн делают максимально приближенным к реальной практике: гетерогенные включения, минимальный мониторинг, обычные клиницисты. Цена - больший шум и потребность в большой выборке.
Запущен A/B-тест новой системы рекомендаций друзей в социальной сети. Эффект на retention мал. Что может скрывать истинный эффект?
Социальная сеть - классическая зона нарушения SUTVA. Когда treatment-пользователь добавляет друзей через новую систему, эти друзья (в control) тоже получают больше активности и тоже остаются дольше. Эффект 'просачивается', разница групп занижается.
Мощность и размер выборки
Размер выборки в RCT - не вопрос вкуса, а формальный расчёт. Слишком маленькая выборка - тест не обнаружит реальный эффект (Type II error). Слишком большая - перерасход бюджета и времени. Минимально детектируемый эффект (MDE) и желаемая мощность определяют необходимое N до начала эксперимента.
При мощности 0.3 даже истинный эффект обнаружится только в 30% испытаний. Из тех, что обнаружат, оценка размера эффекта будет в среднем сильно завышена (winner's curse). Underpowered RCT - главный источник нерепродуцируемых результатов.
P-hacking: запуск множественных тестов и публикация только значимых. При α=0.05 и 20 независимых тестах вероятность хотя бы одного ложного отрытия > 64%. Защита: pre-registration, поправки на множественные сравнения (Bonferroni, Benjamini-Hochberg).
ML-пример: ловушка коротких тестов
Почему трёхдневный A/B-тест опасен.
Команда запускает A/B на 3 дня и видит +5% к конверсии в treatment - радостно катит фичу. Через неделю эффект исчезает. Причины: novelty effect (пользователи кликают на новое из любопытства), weekly seasonality (понедельник ≠ суббота), отложенные конверсии (часть пользователей возвращается через неделю). Минимум - один полный недельный цикл, лучше - два.
Multi-armed bandits (Thompson Sampling, UCB) динамически перераспределяют трафик в пользу более эффективной арм во время эксперимента. Это adaptive RCT: каузальная идентификация сохраняется, при этом минимизируется regret - потери от показа худшего варианта.
Текущая конверсия 5%, хотим обнаружить относительное улучшение в 2% (новая = 5.1%). Какой порядок необходимого размера выборки на arm?
Для биномиальной метрики n ≈ 16 p(1-p) / δ², где δ - абсолютная разница долей. С p=0.05, δ=0.001 получается порядка 1.5 млн на arm. Малые относительные эффекты требуют катастрофически больших выборок.
Куда ведёт тема
RCT - идеальный, но не всегда доступный инструмент. Альтернативы и расширения - предмет последующих уроков.
- Потенциальные исходы (модель Рубина) — Теоретический фундамент, объясняющий почему рандомизация работает через SUTVA и ignorability
- Propensity Score: matching и IPTW — Обсервационный аналог RCT - балансировка ковариат без реальной рандомизации
Ключевые идеи
- Наивная разность средних оценивает ATE только при независимости лечения от потенциальных исходов
- Рандомизация обеспечивает T ⊥ (Y(0), Y(1)) и устраняет наблюдаемые и ненаблюдаемые конфаундеры одновременно
- Двойное слепое испытание убирает эффект плацебо и систематические смещения в оценке исхода
- Intent-to-treat сохраняет рандомизационную инвариантность; per-protocol смещён при non-compliance
- SUTVA-нарушения (spillover, сетевые эффекты) требуют кластерной рандомизации
- Размер выборки рассчитывается из MDE, дисперсии, α и мощности до начала эксперимента
Вопросы для размышления
- Какие из текущих продуктовых решений принимаются на основе наблюдательных данных, где требовался бы RCT?
- Где в продукте возможны SUTVA-нарушения и какая стратегия рандомизации подойдёт?
- Каков MDE текущих A/B-тестов команды и совместим ли он с реальным размером эффекта от изменений?
- В каких ситуациях этический или практический барьер делает RCT недоступным и какие альтернативы доступны?
Связанные уроки
- stat-20-causal — базовая постановка причинного вывода
- stat-39-causal-confounders — понимание проблемы конфаундинга
- stat-41-causal-potential-outcomes — формализм potential outcomes
- stat-42-causal-propensity — квази-эксперименты, когда RCT невозможен
- prob-04-bayes