Sample vs population: разница
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Короткий ответ
- Population (генеральная совокупность) — ВСЕ объекты, которые вас интересуют
- Sample (выборка) — часть population, которую вы реально измерили
Статистика использует выборку, чтобы делать выводы о всей population.
Пример
Цель: узнать средний возраст россиян.
- Population: все ~145 млн россиян
- Sample: 1000 случайно выбранных людей
Измеряем выборку → делаем оценку для всей population.
Главные отличия
| Population | Sample | |
|---|---|---|
| Размер | N (часто огромный / бесконечный) | n (обычно сотни-тысячи) |
| Mean | μ (параметр) | x̄ (статистика) |
| Standard deviation | σ | s |
| Что считаем | параметры | оценки параметров |
| Формула variance | Σ(x−μ)² / N | Σ(x−x̄)² / (n−1) |
Почему n−1 в sample?
Это поправка Бесселя. Даёт несмещённую оценку дисперсии.
Интуиция: в выборке вы оцениваете x̄ из тех же данных. Это «съедает» одну степень свободы — поэтому делите на n−1.
С population вы знаете настоящее μ — не нужна поправка.
Несмещённость (unbiased)
Несмещённая оценка — в среднем по многим выборкам даёт правильное значение параметра.
Sample variance с n−1 несмещённая. С n — занижает σ² (смещена).
В Python
import numpy as np
data = [50, 60, 70, 80, 90]
# population (делит на n)
np.var(data) # 200
np.std(data) # 14.14
# sample (делит на n-1, стандарт в pandas)
np.var(data, ddof=1) # 250
np.std(data, ddof=1) # 15.81
import pandas as pd
pd.Series(data).var() # 250 — по умолчанию sample
pd.Series(data).std() # 15.81ddof = delta degrees of freedom. ddof=1 → n−1.
Inferential statistics
Суть вывода — от выборки к population.
Доверительный интервал
«С 95% уверенностью настоящее μ population лежит в интервале [a, b]».
Hypothesis testing
«H0: μ = 100 vs H1: μ ≠ 100». Используем выборку для проверки.
Размер выборки
Чем больше n — тем уже ДИ. Чем меньше — тем шире.
Смещение выборки (sampling bias)
Если выборка не представительна → выводы неверные.
Примеры
- Опрос только активных пользователей → не учитывает ушедших
- Опрос через интернет → пропускает пожилых
- Опрос только в одном регионе → пропускает других
Survivorship bias — частный случай.
Случайная vs произвольная выборка
- Random sample — каждый объект population имеет равные шансы попасть
- Convenience sample — берём тех, кто удобен (часто = смещение)
Для валидных выводов нужна random. Или specific schemes (stratified, cluster).
В контексте продуктовой аналитики
Population — все пользователи
Обычно невозможно собрать данные ВСЕХ.
Sample — те, по кому есть данные
Например, прошли onboarding и начали использовать продукт. Но это sample с selection bias.
A/B-тест — special case
Обе группы — случайные выборки из одной population. Сравниваем напрямую.
Частые ошибки
1. Не различать формулы
Использовать population variance для sample → занижение разброса.
2. Игнорировать sampling bias
Опросить только довольных → выводы не валидны для всех.
3. Sample size fallacy
N = 30 — достаточно? Зависит от задачи. Для t-test — обычно да. Для rare events — нет.
4. Генерализация на другую population
«У нас в России так» ≠ «в Казахстане тоже».
Связанные темы
- Дисперсия vs SD
- Доверительный интервал простыми словами
- Размер выборки для A/B
- Survivorship bias
- Центральная предельная теорема
FAQ
Sample или population в A/B?
Обе группы — sample из одной population. Сравниваем sample statistics.
Почему n−1, а не n?
Поправка Бесселя. Даёт несмещённую оценку.
Когда использовать ddof=0?
Только если у вас вся population (что редко).
Random sample — обязательно?
Для валидных выводов да. Convenience sample даёт bias.
Тренируйте статистику — откройте тренажёр с 1500+ вопросами для собесов.