Библиотека | Назначение |
numpy | Математические операции и генерация данных |
scipy.stats | Статистические функции и распределения |
matplotlib | Визуализация результатов |
- Уровень доверия: Обычно 90%, 95% или 99%
- Точечная оценка: Выборочное среднее или пропорция
- Стандартная ошибка: Мера изменчивости оценки
- Критическое значение: Z- или t-статистика
Построение интервала для среднего (нормальное распределение)
import numpy as np
from scipy import stats
data = np.random.normal(loc=50, scale=10, size=100)
confidence = 0.95
mean = np.mean(data)
sem = stats.sem(data)
ci = stats.norm.interval(confidence, loc=mean, scale=sem)
print(f"Доверительный интервал: {ci}")
Доверительный интервал для среднего (t-распределение)
Случай | Когда использовать |
Неизвестно σ | Малые выборки (n < 30) |
Ненормальное распределение | Когда нельзя применить Z-критерий |
n = len(data)
dof = n - 1
t_crit = np.abs(stats.t.ppf((1-confidence)/2, dof))
margin = t_crit * sem
ci = (mean - margin, mean + margin)
- Вычислите выборочную пропорцию p̂
- Определите стандартную ошибку SE = √(p̂(1-p̂)/n)
- Найдите z-критическое значение
- Рассчитайте границы интервала: p̂ ± z*SE
p_hat = 0.65 # Пример пропорции
n = 100
z = stats.norm.ppf(1 - (1-confidence)/2)
se = np.sqrt(p_hat*(1-p_hat)/n)
ci = (p_hat - z*se, p_hat + z*se)
- Используйте matplotlib.pyplot.errorbar
- Примените seaborn.barplot с параметром ci
- Для нескольких интервалов используйте plt.vlines
import matplotlib.pyplot as plt
plt.errorbar(x=0, y=mean, yerr=margin, fmt='o')
plt.title('Доверительный интервал среднего')
plt.show()
Тест | Критерий |
Покрытие | Должен содержать истинное значение параметра |
Ширина | Должна уменьшаться с ростом n |
- Для малых выборок всегда используйте t-распределение
- Проверяйте нормальность распределения данных
- При работе с пропорциями учитывайте условия np ≥ 10 и n(1-p) ≥ 10
- Для непараметрических данных используйте бутстреп
Построение доверительных интервалов в Python требует понимания статистических основ и правильного выбора методов в зависимости от типа данных и объема выборки. Представленные методы покрывают основные сценарии анализа.