Сэмплирование и репрезентативность
Сэмплирование и репрезентативность
Сэмплирование — это выбор подмножества наблюдений для измерений, экспериментов и обучения моделей. Репрезентативность означает, что выводы из выборки масштабируются на целевую популяцию без систематической ошибки. Ниже — как спроектировать выборку, оценить ее качество и скорректировать смещения.
1) Базовые понятия
Популяция: целевой набор объектов (все пользователи/сессии/транзакции).
Рамка выборки (sampling frame): список/механизм, из которого реально отбираем (важно выявить покрытия и «дыры»).
Единица отбора: пользователь, сессия, событие, транзакция, устройство.
Репрезентативность: совпадение распределений ключевых признаков в выборке и популяции (с допуском случайной ошибки).
Случайная vs систематическая ошибка: дисперсия оценок против смещения (bias).
2) Виды сэмплирования
2.1 Вероятностные (предпочтительные)
SRS (простая случайная): равная вероятность отбора.
Стратифицированная: разбивка популяции на страты (страна/канал/платформа), затем SRS внутри страт → ниже дисперсия и лучше покрытие.
Кластерная: отбор групп (дни/серверы/магазины); дешево, но выше внутрикластерная корреляция.
Систематическая: каждый k-й элемент после случайного старта (требуются «несинхронные» данные).
PPS (probability proportional to size): вероятность ∝ размеру юнита (например, объем трафика партнера).
2.2 Невероятностные (с осторожностью)
Удобства/добровольцы: быстрые опросы, логи «кликающих» → риск селекционного смещения.
Квотная/снежный ком: полезно в нишевых группах, но нужна последующая калибровка.
3) Источники смещений
Покрытие (coverage): часть популяции отсутствует в рамке (например, iOS-данные при запрете трекинга).
Селекция: механизм отбора связан с целевой переменной (активные чаще попадают).
Невыборка (nonresponse): неответившие систематически отличаются.
Выжившие (survivorship): игнорирование ушедших/заблокированных.
Лейбл-смещения: шумные метки, прокси-ярлыки, «ручные» корректировки.
Лики: использование будущей инфы при формировании выборки/фич.
4) Размер выборки и мощность
4.1 Приближения
Для доли (p) с точностью (e) и доверием (1-\alpha):[
n \approx \frac{z_{\alpha/2}^2, p(1-p)}{e^2}
]
Консервативно берем (p=0{.}5). Корректируйте на конечную популяцию при необходимости.
Для среднего с известной (\sigma):[
n \approx \left(\frac{z_{\alpha/2},\sigma}{e}\right)^2
]
4.2 Дизайн-эффект и эффективный размер
Design Effect: (\mathrm{Deff}=1+(m-1)\rho), где (m) — размер кластера, (\rho) — внутрикластерная корреляция.
Эффективный размер: (n_\text{eff}=n/\mathrm{Deff}). Кластерные/взвешенные дизайны часто требуют большего (n).
4.3 A/B и MDE
Для бинарной метрики при симметричных группах:[
n_{\text{на группу}} \approx \frac{2(z_{1-\alpha/2}+z_{1-\beta})^2, \bar{p}(1-\bar{p})}{\mathrm{MDE}^2}
]
где (\bar{p}) — базовый уровень, MDE — минимально детектируемый эффект.
Учитывайте сезонность и интерференцию (spillover), применяйте CUPED/ковариаты для снижения дисперсии.
5) Веса и калибровка (делаем выборку «похоже» на популяцию)
Дизайн-веса: (w_i=1/\pi_i) (обратная вероятность отбора).
Пост-стратификация и raking: подгоняем взвешенные маргинали (страна/платформа/пол-возраст и т. п.) к известным долям.
Калибровка (calibration weighting): минимизируем отклонение весов при точном совпадении с контрольными тоталами.
Бутстрэп/репликации: корректная оценка дисперсий при весах.
Диагностика: ESS (effective sample size), разброс весов (CV, p95/p5), сравнение до/после по ключевым признакам.
6) Имбаланс классов и редкие события
Стратифицированный отбор по таргету: oversample редкий класс, но всегда используйте корректировку порога/весов при обучении.
Cost-sensitive learning: взвешенные лоссы вместо синтетики.
SMOTE/ADASYN: осторожно — риск утечек/артефактов; держите строгие временные/групповые сплиты.
Оценка: PR-AUC, Recall@FPR≤x%; калибровка вероятностей.
7) Потоковые и большие данные
Reservoir sampling: удерживаем репрезентативный поднабор из потока неизвестной длины.
Сэмплинг событий: пропорционально частоте/важности; для редких — триггерные буферы.
Счетчики и эскизы: Bloom/Count-Min для частот/уникальности; для аналитики — комбинируйте с периодическим точным подсчетом.
De-dup и идемпотентность: ключи событий, окна дедупликации.
8) Временные и пространственные аспекты
Time-based sampling: фиксированные окна (rolling), point-in-time корректность.
Cluster/geo-sampling: кластеризация по узлам/регионам; учитывайте пространственную автокорреляцию.
Сезонность/ритм: репрезентативное покрытие часов/дней недели/праздников.
9) Off-policy/логовые данные и каузальность
10) Диагностика репрезентативности
Сравнение маргиналей: таблицы популяция vs выборка по ключевым признакам.
Баланс ковариат: SMD (standardized mean difference), Love plots.
Плотности/квантили: KS-тесты, quantile-plots, PSI.
Аттестация модели: стабилизация метрик на out-of-time и out-of-domain срезах.
ESS и веса: низкий ESS сигнализирует о высокой дисперсии оценок.
11) Анти-паттерны
«Сэмплим только активных вчера» → потеря холодных/спящих.
Усреднять проценты «средним по сегментам» без весов.
Смешивать уровни агрегации (события и пользователи) в одной выборке.
Случайный отбор после фильтров, зависящих от таргета (selection on the outcome).
Cross-val без групповых/временных сплитов при зависимых данных.
Применять SMOTE до разбиения на train/val (утечка).
12) Частные сценарии (кейсы)
Опрос игроков: стратификация по стране/платформе/возрасту; пост-стратификация к долям MAU; контроль nonresponse смещения.
Логи для EDA: систематический 1:N сэмпл событий + полное покрытие редких типов.
Фрод-детект: таргет-стратификация, cost-sensitive лоссы, оценка по PR-AUC и Recall@FPR≤x%.
A/B с ограниченным трафиком: вычисление MDE, продление по power-правилам, CUPED.
Off-policy оценка промо: IPS/DR с ограничением весов (trimming), проверка перекрытия поддержек.
13) Шаблоны артефактов
План сэмплирования (template)
Цель/популяция: …
Рамка выборки: источники, покрытия/дыры
Единица отбора: пользователь/сессия/событие
Дизайн: страты (country, platform), доли, способ отбора
Размер (n): расчет, допущения (α, power, MDE), Deff
Весовая схема: дизайн-веса, пост-стратификация (контрольные тоталы)
Календарь: покрытие дней/часов/праздников
Качество: тесты покрытия, nonresponse-план, процедуры контакта
Риски: селекция, интерференция, privacy/PII
Владельцы и контроль: кто считает/хранит/версионирует
Паспорт взвешивания (template)
Базовые веса: (w_i=1/\pi_i)
Калибровка: цели (country, platform, age), метод (raking), допуски
Ограничения: trimming w ∈ [w_min, w_max]
Диагностика: ESS, CV(w), SMD до/после
Использование: какие отчеты/модели применяют веса
Версии: v1→v2, дата, владельцы
14) Приватность и этика
Privacy by Design: минимизация полей, агрегации, псевдонимизация.
Дифференциальная приватность: рандомизация/субсэмплирование как усиление приватности (privacy amplification).
Справедливость: проверяйте разницу ошибок/весов по чувствительным атрибутам; не допускайте «невидимости» групп.
15) Чек-лист перед запуском
- Рамка выборки описана; выявлены и задокументированы «дыры» покрытия
- Выбран дизайн (страты/кластеры), рассчитаны (n), Deff, MDE
- Настроены дизайн-веса и план калибровки (контрольные тоталы согласованы)
- Определены временные окна/сезонность; есть plan по nonresponse
- Сплиты валидации учитывают время/группы; нет утечек
- Метрики качества: ESS, SMD, PSI, бутстрэп-интервалы
- Документация и версии; права доступа и privacy-контуры проверены
Мини-глоссарий
Deff: множитель, увеличивающий дисперсию оценок из-за дизайна.
ESS: эффективный размер выборки после взвешивания.
IPS/DR: методы взвешивания для off-policy/логовых данных.
SMD: стандартизированная разница средних (баланс ковариат).
Reservoir sampling: поддержание случайного сэмпла из потока.
Итог
Репрезентативность — это не «повезло со сэмплом», а спроектированный процесс: корректная рамка, продуманный дизайн отбора, достаточный размер, взвешивание и калибровка, честные сплиты и строгая диагностика. Следуя описанным практикам, вы снижаете смещение, повышаете переносимость выводов и получаете надежные решения для продукта, маркетинга, рисков и ML.