Семплювання та репрезентативність
Семплювання та репрезентативність
Семплювання - це вибір підмножини спостережень для вимірювань, експериментів і навчання моделей. Репрезентативність означає, що висновки з вибірки масштабуються на цільову популяцію без систематичної помилки. Нижче - як спроектувати вибірку, оцінити її якість і скорегувати зміщення.
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.