Выборка, ЦПТ и стандартная ошибка
Почему средние по выборкам ложатся в колокол: центральная предельная теорема, стандартная ошибка σ/√n и правило 68–95–99.7 — с симулятором, где выборки набираются на глазах.
Интуиция
Ты замерил латентность модели на 50 запросах: в среднем 118 мс. Коллега замерил на других 50 — у него 123 мс. Кто прав? Оба и никто: вы смотрите на разные выборки (sample) из одной генеральной совокупности (population) — всех запросов, которые модель когда-либо получит. Совокупность целиком мы не видим никогда: ни всех пользователей, ни всех тестовых примеров, ни всех доставок пиццы. Мы видим кусочек и по нему судим о целом.
Отсюда главный сдвиг в мышлении: выборочное среднее (sample mean) x̄ — само случайная величина. Возьми другую выборку — получишь другое число. Вопрос статистики не «чему равно среднее», а «насколько сильно оно скачет от выборки к выборке». Если скачет на ±1 мс — разница между 118 и 123 реальна. Если на ±10 — это шум.
Как это работает
Представь, что мы повторили замер тысячу раз и построили гистограмму тысячи средних. Это выборочное распределение (sampling distribution) среднего. Про него известны две вещи, и вместе они составляют центральную предельную теорему (central limit theorem, ЦПТ):
- Оно центрируется на истинном среднем совокупности μ и с ростом n стягивается к нему — это ещё закон больших чисел (law of large numbers).
- Его форма стремится к нормальному распределению (normal distribution, гауссиана) — какой бы ни была форма исходных данных, лишь бы дисперсия была конечной. Скошенные, двугорбые, дискретные — всё равно колокол.
Ширина этого колокола называется стандартной ошибкой (standard error, SE):
где σ — стандартное отклонение (standard deviation, SD) отдельных наблюдений, а n — размер выборки. Корень — самая важная деталь формулы: чтобы уменьшить ошибку вдвое, нужно вчетверо больше данных; чтобы в десять раз — в сто раз больше. Точность растёт с данными, но медленно.
А раз распределение нормальное, работает правило 68–95–99.7: в 68 % выборок среднее ляжет в пределах ±1 SE от μ, в 95 % — в пределах ±2 SE (точнее 1,96), в 99,7 % — ±3 SE. Именно отсюда вырастут доверительные интервалы и p-value: обе конструкции — просто способы читать этот колокол.
Вернёмся к латентности: если σ ≈ 30 мс, то при n = 50 имеем SE ≈ 4,2 мс. Разница 118 против 123 — чуть больше одной стандартной ошибки; такое сплошь и рядом случается при одной и той же модели. Чтобы уверенно ловить разницу в 5 мс, выборки нужны на сотни запросов.
Когда ЦПТ подводит
Магическое «n ≥ 30» из учебников — эвристика, а не закон. Сколько наблюдений нужно, зависит от формы данных: для симметричных распределений колокол появляется уже при n = 5–10, для сильно скошенных (латентность с редкими многосекундными таймаутами, доходы, длины текстов) — при сотнях. Поиграй с n в интерактиве на скошенном распределении: при n = 3 гистограмма средних ещё заметно перекошена вправо, при n = 30 от перекоса не остаётся следа.
Три ситуации, где формула SE = σ/√n врёт всерьёз:
- Бесконечная дисперсия. Распределения с очень тяжёлыми хвостами (Коши, некоторые степенные) не имеют конечной σ — среднее по ним не сходится вообще, сколько ни собирай данных. Для таких данных смотрят на медиану и квантили.
- Зависимые наблюдения. Тысяча запросов от десяти пользователей — это не n = 1000. Запросы одного человека похожи друг на друга, и эффективный размер выборки ближе к десяти. Формула считает наблюдения независимыми; временные ряды, сессии, повторные замеры на одной машине это условие ломают, и SE оказывается заниженной в разы.
- Оценка σ по маленькой выборке. Истинную σ мы тоже не знаем, а подставляем выборочное стандартное отклонение s. При малых n оно само шумит — эту поправку делает t-распределение, о нём в теме про доверительные интервалы.
Где это прячется в ML
- Метрики на тесте. Accuracy — это среднее нулей и единиц, поэтому её стандартная ошибка равна √(p(1−p)/n). При accuracy 0,9 на 100 примерах это ±3 процентных пункта — разница в 1 п.п. между двумя моделями неотличима от шума. LLM-бенчмарк на 200 вопросах страдает той же бедой.
- Мини-батчи. Градиент по батчу из B примеров — это выборочное среднее градиентов по отдельным примерам, так что его шум падает как 1/√B. Отсюда связь между размером батча и learning rate в теме про практику обучения.
- Кросс-валидация. Разброс метрики между фолдами — грубая оценка её стандартной ошибки; если он больше, чем разница между кандидатами, выбор гиперпараметра случаен.
- «Сформулируй ЦПТ» — среднее по выборке из n независимых наблюдений с конечной дисперсией распределено примерно нормально с центром μ и разбросом σ/√n, какой бы ни была форма исходного распределения.
- «Чем стандартная ошибка отличается от стандартного отклонения?» — SD про данные, SE про оценку; SE = SD/√n и уменьшается с ростом выборки.
- «Модель A дала 0,91, модель B — 0,92 на тесте из 500 примеров. Какая лучше?» — прикинь SE ≈ √(0,9·0,1/500) ≈ 1,3 п.п.: разница в 1 п.п. в пределах шума, нужен парный тест или больше данных.
- «Во сколько раз увеличить выборку, чтобы вдвое сузить разброс оценки?» — вчетверо, из-за корня в формуле.