Что такое доверительный интервал?

Ответ

Доверительный интервал (ДИ) — это диапазон значений, который с заданной вероятностью (уровнем доверия, например, 95%) накрывает истинное значение оцениваемого параметра генеральной совокупности (например, среднего или доли). Он не говорит о распределении самих данных, а характеризует точность нашей выборочной оценки.

Ключевые моменты:

  • Ширина интервала зависит от:
    1. Размера выборки (n): чем больше n, тем уже интервал.
    2. Разброса данных (стандартного отклонения σ): чем больше разброс, тем шире интервал.
    3. Выбранного уровня доверия (например, 95%): повышение уровня доверия (до 99%) ведет к расширению интервала.
  • 95% ДИ НЕ означает, что 95% данных лежат в этом диапазоне. Это интервал для параметра (например, среднего).
  • Правильная интерпретация: если мы многократно повторяем эксперимент и строим 95% ДИ, то примерно 95% таких интервалов будут содержать истинное значение параметра.

Пример расчета для среднего в Python (t-интервал, т.к. σ генеральной совокупности неизвестна):

import numpy as np
import scipy.stats as stats

# Генерация выборки
np.random.seed(42)
data = np.random.normal(loc=100, scale=15, size=30)  # среднее=100, ст.откл.=15
confidence_level = 0.95

# Расчет
mean = np.mean(data)                     # Выборочное среднее
sem = stats.sem(data)                    # Стандартная ошибка среднего (Standard Error of the Mean)
dof = len(data) - 1                      # Степени свободы
ci = stats.t.interval(confidence_level, dof, loc=mean, scale=sem)

print(f"Выборочное среднее: {mean:.2f}")
print(f"95% доверительный интервал для среднего: [{ci[0]:.2f}, {ci[1]:.2f}]")

Ответ 18+ 🔞

Ну вот, сидишь ты, значит, с этими своими данными, а в голове один вопрос: «И чё это всё, блядь, значит?» Давай разжую, как есть, без этой академической пиздобратии.

Представь, что доверительный интервал — это как твоя оценка роста мужика в толпе. Ты его толком не видишь, только мельком. Так вот, ДИ — это не точный рост, а такой диапазон, типа «от метра восьмидесяти до метра девяносто», в который его реальный рост, ёпта, с большой вероятностью попадает. Вероятность эту ты сам задаёшь — 95%, 99%. Это и есть уровень доверия, понимаешь? Не про сами данные, а про нашу, блядь, выборочную оценку! Сам от себя охуеешь, когда поймёшь разницу.

На что смотреть, чтобы интервал не был как хуй в пальто — широкий и бесполезный:

  1. Размер выборки (n). Это основа основ. Чем больше у тебя свидетельских показаний (данных), тем точнее прикидка. Маленькая выборка — интервал шириной с Камаз, доверия ебать ноль.
  2. Разброс данных (стандартное отклонение σ). Если в твоей выборке одни карлики и баскетболисты, разброс пиздец, и интервал будет соответствующий — овердохуища. Данные как мартышлюшки прыгают.
  3. Уровень доверия. Захочешь быть уверенным на 99%, а не на 95% — готовься к более широкому интервалу. За всё надо платить, чувак. Терпения ноль ебать, но так уж оно работает.

Главное, что нужно вбить себе в башку раз и навсегда: 95% ДИ — это НЕ про то, что 95% твоих чисел валяются внутри этого диапазона. Э, бошка, думай! Это про параметр, например, среднюю температуру по больнице. Если бы мы сто раз повторили замеры и для каждого построили такой 95% интервал, то примерно в 95 случаях из 100 наш условный «медный таз» накрыл бы истинное среднее. А в пяти случаях — накрылся бы сам, прости господи. Волнение ебать, когда осознаёшь.

Ну а теперь, как это всё в деле приложить, на питоне:

import numpy as np
import scipy.stats as stats

# Делаем вид, что генерируем умные данные
np.random.seed(42)
data = np.random.normal(loc=100, scale=15, size=30)  # среднее=100, ст.откл.=15
confidence_level = 0.95

# Сама магия
mean = np.mean(data)                     # Среднее по нашей выборке
sem = stats.sem(data)                    # Стандартная ошибка — насколько наше среднее шатается
dof = len(data) - 1                      # Степени свободы
ci = stats.t.interval(confidence_level, dof, loc=mean, scale=sem) # Вот он, родимый, интервал!

print(f"Выборочное среднее: {mean:.2f}")
print(f"95% доверительный интервал для среднего: [{ci[0]:.2f}, {ci[1]:.2f}]")

Запустишь этот код — получишь два числа. Между ними, с вероятностью 95%, и прячется истинное среднее генеральной совокупности. Всё, больше ни хуя себе сложного. Не веришь — проверь на симуляциях. Главное — не путай, для чего этот инструмент, а то будет тебе хиросима, а не анализ.