Условие
- Сформулируйте центральную предельную теорему.
- Возьмём экспоненциальное распределение X ~ Exp(λ=1) (среднее 1, дисперсия 1). Как будет выглядеть распределение выборочного среднего по выборкам размера n=5, n=30, n=100? Какие будут параметры?
- Можно ли применять CLT к выборкам с тяжёлыми хвостами (Cauchy)? Почему?
Решение
1) Формулировка
Пусть X₁, X₂, ..., Xₙ — независимые одинаково распределённые случайные величины с конечным средним μ и конечной дисперсией σ². Тогда при n → ∞:
(X̄ − μ) / (σ / √n) → N(0, 1)
где X̄ = (X₁ + ... + Xₙ) / n — выборочное среднее.
Эквивалентно: X̄ ≈ N(μ, σ²/n) при больших n.
2) Экспонента с n=5, n=30, n=100
X ~ Exp(λ=1): μ = 1/λ = 1, σ² = 1/λ² = 1, σ = 1.
| n | Распределение X̄ | μ_x̄ | σ_x̄ |
|---|---|---|---|
| 5 | сильно скошено вправо (исходное distrib. влияет) | 1 | 1/√5 ≈ 0.447 |
| 30 | почти симметрично, но «правый хвост» виден | 1 | 1/√30 ≈ 0.183 |
| 100 | визуально неотличимо от нормального | 1 | 1/√100 = 0.10 |
Эмпирически:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
fig, axes = plt.subplots(1, 3, figsize=(15, 4))
for ax, n in zip(axes, [5, 30, 100]):
means = np.random.exponential(scale=1.0, size=(10000, n)).mean(axis=1)
ax.hist(means, bins=50, density=True, alpha=0.7)
ax.axvline(1, color='red', linestyle='--')
ax.set_title(f'n = {n}\nstd = {means.std():.3f}')
plt.show()Видно: при n=5 распределение ещё «горбатое» вправо; при n=30 — близко к нормальному; при n=100 — почти идеально.
Правило «n ≥ 30»
Грубая оценка для not-too-skewed distributions. Для very-skewed (как экспонента) надо n ≥ 50-100; для near-symmetric (как U(0,1)) даже n=10 уже близко к нормальному.
3) Cauchy
X ~ Cauchy(0, 1) — бесконечная дисперсия (σ² = ∞), даже среднее не определено строго.
→ CLT не применяется. Более того, среднее X̄ по n cauchy-выборкам имеет то же распределение Cauchy(0, 1) (свойство устойчивости). Никакой нормализации не получится.
samples = np.random.standard_cauchy(size=(10000, 1000)).mean(axis=1)
print("std среднего:", samples.std()) # огромное, не сходитсяСвязи CLT и других теорем
- Закон больших чисел (LLN):
X̄ → μ(по вероятности или почти наверное). Говорит о точке сходимости. - CLT: говорит о скорости и форме сходимости —
X̄ − μпорядкаσ/√n, форма — нормальная.
Зачем это аналитику
- Доверительные интервалы для среднего:
X̄ ± z·σ/√n. - t-тест для разности средних — основан на CLT-приближении.
- A/B-тесты с конверсиями — пропорция ≈ нормальна для больших N (CLT для Бернулли).
Подводные камни
- «n ≥ 30 всегда» — миф. Для логнормальных с экстремальным skew нужно n ≥ 1000+.
- Cauchy / Pareto без хвоста — никакого CLT.
- «Распределение средних = нормальное» — это распределение выборочного среднего, а не самой X. Часто путают.
σнеизвестна → используемs(выборочное стандартное), и тогда(X̄ − μ)/(s/√n)— это t-распределение, не нормальное.- Зависимые наблюдения (временные ряды) — CLT не работает в обычном виде; нужны модификации (Newey-West и пр.).
- Тяжёлые хвосты в реальных данных (выручка, цены, время сессии) — даже при n=10000 «эмпирическое среднее» нестабильно. Использовать медиану + bootstrap.
- «Малая n → точный t-test»: t-test предполагает нормальность X, а не только X̄. На сильно скошенных малых выборках — нужна непараметрика.
Эталонный ответ
CLT: (X̄ − μ) / (σ/√n) → N(0,1). Для Exp(1): μ=1, σ=1, при n=100 X̄ ≈ N(1, 0.01). Cauchy — CLT не применяется (бесконечная дисперсия / undefined mean). Практический вывод для аналитика: доверительные интервалы и тесты на разность средних опираются на CLT, но для тяжёлых хвостов и зависимых данных нужны bootstrap / непараметрика.