Как рассчитать доверительные интервалы в python


Доверительный интервал для среднего значения — это диапазон значений, который может содержать среднее значение генеральной совокупности с определенным уровнем достоверности.

Он рассчитывается следующим образом:

Доверительный интервал = x +/- t*(s/√n)

Золото:

  • x : выборочное среднее
  • t: значение t, соответствующее уровню достоверности
  • s: выборочное стандартное отклонение
  • n: размер выборки

В этом руководстве объясняется, как рассчитать доверительные интервалы в Python.

Доверительные интервалы с использованием распределения t

Если мы работаем с небольшой выборкой (n <30), мы можем использовать функцию t.interval() из библиотеки scipy.stats для расчета доверительного интервала для среднего значения генеральной совокупности.

В следующем примере показано, как рассчитать доверительный интервал для истинной средней высоты популяции (в дюймах) определенного вида растений, используя выборку из 15 растений:

 import numpy as np
import scipy.stats as st

#define sample data
data = [12, 12, 13, 13, 15, 16, 17, 22, 23, 25, 26, 27, 28, 28, 29]

#create 95% confidence interval for population mean weight
st.t.interval(alpha=0.95, df=len(data)-1, loc=np.mean(data), scale=st.sem(data)) 

(16.758, 24.042)

95% доверительный интервал для истинного среднего размера популяции составляет (16,758, 24,042) .

Вы заметите, что чем выше уровень достоверности, тем шире доверительный интервал. Например, вот как рассчитать 99% ДИ для тех же данных:

 #create 99% confidence interval for same sample
st.t.interval(alpha= 0.99 , df=len(data)-1, loc=np.mean(data), scale=st.sem(data)) 

(15.348, 25.455)

99% доверительный интервал для истинного среднего размера популяции равен (15,348, 25,455) . Обратите внимание, что этот интервал шире предыдущего 95% доверительного интервала.

Доверительные интервалы с использованием нормального распределения

Если мы работаем с выборками большего размера (n≥30), мы можем предположить, что выборочное распределение выборочного среднего нормально распределено (благодаря центральной предельной теореме ) и вместо этого можем использовать функцию нормы. интервал() из библиотеки scipy.stats.

В следующем примере показано, как рассчитать доверительный интервал для истинной средней высоты популяции (в дюймах) определенного вида растений, используя выборку из 50 растений:

 import numpy as np
import scipy.stats as st

#define sample data
np.random.seed(0)
data = np.random.randint(10, 30, 50)

#create 95% confidence interval for population mean weight
st.norm.interval(alpha=0.95, loc=np.mean(data), scale=st.sem(data))

(17.40, 21.08)

95% доверительный интервал для истинного среднего размера популяции равен (17,40, 21,08) .

Как и в случае с распределением t, более высокие уровни достоверности приводят к более широким доверительным интервалам. Например, вот как рассчитать 99% ДИ для тех же данных:

 #create 99% confidence interval for same sample
st.norm.interval(alpha= 0.99 , loc=np.mean(data), scale=st.sem(data))

(16.82, 21.66)

95% доверительный интервал для истинного среднего размера популяции составляет (17,82, 21,66) .

Как интерпретировать доверительные интервалы

Предположим, что наш 95% доверительный интервал для истинной средней высоты вида растений составляет:

95% доверительный интервал = (16,758, 24,042)

Способ интерпретации этого доверительного интервала следующий:

Существует 95% вероятность того, что доверительный интервал [16,758, 24,042] содержит истинную среднюю высоту растений популяции.

Другой способ сказать то же самое состоит в том, что существует только 5%-ная вероятность того, что истинное среднее значение генеральной совокупности лежит за пределами 95%-ного доверительного интервала. То есть вероятность того, что фактическая средняя высота растения будет меньше 16,758 дюйма или больше 24,042 дюйма, составляет всего 5%.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *