Использование функций scipy.stats. Доверительные интервалы.
В математической статистике интервальной оценкой называется результат использования выборки для вычисления интервала возможных значений неизвестного параметра, оценку которого нужно построить. Следует отличать от точечной оценки, которая даёт лишь одно значение. Самым распространенным видом интервальных оценок являются доверительные интервалы.
Доверительная вероятность — вероятность того, что доверительный интервал накроет неизвестное истинное значение параметра, оцениваемого по выборочным данным.
Оценка математического ожидания нормального распределения при известном \(\sigma\)
Количественный признак генеральной совокупности X распределен нормально и известно среднеквадратическое отклонение этого распределения. Из генеральной совокупности формируется выборка, по которой определяется математическое ожидание выборки \(\hat\).
Необходимо найти доверительный интервал \([\hat-d, \hat+d]\), который покрывает неизвестное математическое ожидание \(a\) генеральной совокупности с надежностью или доверительной вероятностью \(\gamma\): \(P(|\hat-a| Математическое ожидание выборки \(\hat\) рассматривается как нормально-распределенная случайная величина с математическим ожиданием \(\hat\) и стандартным отклонением \(\sigma/\sqrt\). Если стандартное отклонение генеральной совокупности неизвестно, то для определения доверительного интервала используется распределение Стьюдента: \[P(\hat-t_\gamma s/\sqrt < a < \hat+t_\gamma s/\sqrt) = 2 \int_^ где \(s\) — “исправленное” среднеквадратичное отклонение выборки, \(S(t,n)\) — плотность распределения Стьюдента. При больших выборках (n>30) распределение Стьюдента стремится к нормальному и для оценки доверительного интервала может использоваться нормальное распределение. При малых выборках нормальное распределение будет давать более узкий (т.е. слишком оптимистичный) интервал, в отличие от распределения Стьюдента.# Стандартное отклонение генеральной совокупности sigma = 0.8 # Математическое ожидание генеральной совокупности mean = 4.1 # Формируем выборку из генеральной совокупности # Объем выборки n = 30 # Выборка data = np.random.normal(loc=mean, scale=sigma, size=n) # Надежность оценки (доверительная вероятность) gamma = 0.95 # Оценка математического ожидания выборки mean_of_sample = np.mean(data) # Стандартное отклонение выборочной средней sigma_of_mean = scipy.stats.sem(data)
interval = scipy.stats.norm.interval(gamma, loc = mean_of_sample, scale = sigma_of_mean) print('Математическое ожидание принадлежит интервалу [; ]'.format(interval[0],interval[1]))
Математическое ожидание принадлежит интервалу [3.89; 4.47]
Оценка математического ожидания нормального распределения при неизвестном \(\sigma\)
# Надежность оценки gamma = 0.95 # Оценка математического ожидания mean_of_sample = np.mean(data) # Стандартное отклонение выборочной средней совокупности sigma_of_mean = scipy.stats.sem(data)
# Доверительный интервал математического ожидания interval = scipy.stats.t.interval(gamma, df = n-1, loc = mean_of_sample, scale = sigma_of_mean) print(interval)
(3.8810695725888413, 4.482390285924866)
# Очень маленькая выборка n = 5 data = np.random.normal(loc=mean, scale=sigma, size=n) # Оценка математического ожидания mean_of_sample = np.mean(data) # Стандартное отклонение выборочной средней совокупности sigma_of_mean = scipy.stats.sem(data) # Доверительный интервал математического ожидания с использованием распределения Стьюдента interval = scipy.stats.t.interval(gamma, df = n-1, loc = mean_of_sample, scale = sigma_of_mean) print('Интервал по распределению Стьюдента [; ]'.format(interval[0],interval[1])) # Доверительный интервал математического ожидания с использованием нормального распределения interval = scipy.stats.norm.interval(gamma, loc = mean_of_sample, scale = sigma_of_mean) print('Интервал по нормальному распределению [; ]'.format(interval[0],interval[1]))
Интервал по распределению Стьюдента [3.000; 4.419] Интервал по нормальному распределению [3.209; 4.210]
Список использованных источников