Статистика

Рандомизированные испытания (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
Рандомизированные испытания (RCT)

0

1

Войти