Условие
CR (conversion rate) = 5.2% при n=10000. Построить 95% CI.
Решение
Wald (Normal approximation)
CR ± 1.96 × sqrt(CR × (1-CR) / n)
= 0.052 ± 1.96 × sqrt(0.052 × 0.948 / 10000)
= 0.052 ± 1.96 × 0.00222
= [0.0476, 0.0563]
= [4.76%, 5.63%]
Проблемы Wald
- Плохой охват при экстремальных p (близко к 0 или 1).
- Может дать CI с отрицательными границами при малых p.
- На малых n — неточный.
Wilson score interval
Лучше Wald, особенно для редких событий:
center = (p + z² / 2n) / (1 + z² / n)
half_width = z × sqrt(p(1-p)/n + z²/4n²) / (1 + z² / n)
from statsmodels.stats.proportion import proportion_confint
ci_wilson = proportion_confint(count=520, nobs=10000, method='wilson')
# (0.0477, 0.0567)Clopper-Pearson (exact)
Самый консервативный, гарантирует покрытие ≥ 95%, но слишком широкий.
ci_exact = proportion_confint(count=520, nobs=10000, method='beta')CI для среднего
mean ± t_{n-1, 1-α/2} × SE
SE = std / sqrt(n)
from scipy.stats import t
import numpy as np
mean = np.mean(data)
se = np.std(data, ddof=1) / np.sqrt(len(data))
t_crit = t.ppf(0.975, df=len(data) - 1)
ci = (mean - t_crit * se, mean + t_crit * se)CI для разницы средних
SE_diff = sqrt(SE_A² + SE_B²)
diff ± 1.96 × SE_diff
CI для пропорций
diff = p_A - p_B
SE = sqrt(p_A(1-p_A)/n_A + p_B(1-p_B)/n_B)
Интерпретация
«95% CI» не означает «95% вероятность, что параметр в интервале». Это frequentist интерпретация: если повторить эксперимент 100 раз, в ~95 случаях интервал накроет истинный параметр.
Bayesian CI (credible interval) — это «95% вероятность параметру быть в интервале», но требует prior.
Подводные камни
- Wald для пропорций near 0 или 1 даёт плохой охват. Wilson или Clopper-Pearson.
- На малых n используйте t-distribution, не Normal.
- Ratio CI (CTR = clicks/views) — обычно нужен delta method или bootstrap, не наивный Wald.
- Многократные CI без поправки — inflated Type I (как и p-values).
- CI внутри реалистичных границ: для CR не могут быть < 0 или > 1. Если границы вылезли — это сигнал использовать Wilson.
Эталонный ответ
Для пропорций — Wilson (или Clopper-Pearson для exact). Для среднего — t-CI: mean ± t_{n-1, 1-α/2} × SE. Не использовать Wald на крайних p или маленьких n.