![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Calculating confidence intervals on the mean with the Students-t distributionBoost , Math Toolkit 2.5.0 , Student's t Distribution Examples
|
![]() |
Note |
---|---|
Количество α является максимально приемлемым риском ложного отклонения нулевой гипотезы. Чем меньше значение α, тем больше прочность теста. Уровень достоверности теста определяется как 1 - & #945; и часто выражается в процентах. Так, например, уровень значимости 0,05 эквивалентен уровню доверия 95%. См. "Что такое доверительные интервалы?" в NIST/SEMATECH e-Handbook of Statistical Methods. для получения дополнительной информации. |
![]() |
Note |
---|---|
Обычные предположения о независимых и одинаково распределенных (i.i.d.) переменных и нормальном распределении , конечно, применяются здесь, как и в других примерах. |
Из формулы должно быть ясно, что:
Следующий примерный код взят из примера программы students_t_single_sample.cpp.
Мы начнем с определения процедуры для расчета интервалов для различных уровней доверия; процедура распечатает их в виде таблицы:
// Needed includes: #include <boost/math/distributions/students_t.hpp> #include <iostream> #include <iomanip> // Bring everything into global namespace for ease of use: using namespace boost::math; using namespace std; void confidence_limits_on_mean( double Sm, // Sm = Sample Mean. double Sd, // Sd = Sample Standard Deviation. unsigned Sn) // Sn = Sample Size. { using namespace std; using namespace boost::math; // Print out general info: cout << "__________________________________\n" "2-Sided Confidence Limits For Mean\n" "__________________________________\n\n"; cout << setprecision(7); cout << setw(40) << left << "Number of Observations" << "= " << Sn << "\n"; cout << setw(40) << left << "Mean" << "= " << Sm << "\n"; cout << setw(40) << left << "Standard Deviation" << "= " << Sd << "\n";
Определим таблицу уровней значимости/риска, для которой вычислим интервалы:
double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
Обратите внимание, что это дополнения уровней достоверности/вероятности: 0,5, 0,75, 0,9 .. 0,9999.
Далее мы объявим нужный нам объект распределения, заметим, что параметр степеней свободы является размером выборки меньше единицы:
students_t dist(Sn - 1);
Большая часть того, что следует в программе, - это красивая печать, поэтому давайте сосредоточимся на расчете интервала. Для начала нам нужна t-статистика, вычисляемая с помощью функции quantile и нашего уровня значимости. Обратите внимание, что поскольку уровни значимости являются дополнением вероятности, мы должны обернуть аргументы в призыв к комплементу (...):
double T = quantile(complement(dist, alpha[i] / 2));
Обратите внимание, что альфа была разделена на две части, так как мы будем вычислять как верхнюю, так и нижнюю границы: если бы мы были заинтересованы в одном боковом интервале, мы бы пропустили этот шаг.
Теперь, чтобы завершить картину, мы получим (одностороннюю) ширину интервала от t-статистики путем умножения на стандартное отклонение и деления на квадратный корень размера выборки:
double w = T * Sd / sqrt(double(Sn));
Двусторонний интервал представляет собой среднее значение выборки плюс и минус этой ширины.
И кроме более красивой печати, которая завершает процедуру.
Давайте посмотрим на некоторые результаты выборки, сначала используя данные Тепловой поток с сайта NIST. Набор данных был собран Бобом Зарром из NIST в январе 1990 года с помощью калибровки и анализа устойчивости счетчика теплового потока. Соответствующий вывод диаграммы данных для этого теста можно найти в разделе 3.5.2 электронного справочника статистических методов NIST/SEMATECH.
__________________________________ 2-Sided Confidence Limits For Mean __________________________________ Number of Observations = 195 Mean = 9.26146 Standard Deviation = 0.02278881 ___________________________________________________________________ Confidence T Interval Lower Upper Value (%) Value Width Limit Limit ___________________________________________________________________ 50.000 0.676 1.103e-003 9.26036 9.26256 75.000 1.154 1.883e-003 9.25958 9.26334 90.000 1.653 2.697e-003 9.25876 9.26416 95.000 1.972 3.219e-003 9.25824 9.26468 99.000 2.601 4.245e-003 9.25721 9.26571 99.900 3.341 5.453e-003 9.25601 9.26691 99.990 3.973 6.484e-003 9.25498 9.26794 99.999 4.537 7.404e-003 9.25406 9.26886
Как вы можете видеть, большой размер выборки (195) и небольшое стандартное отклонение (0,023) объединены, чтобы дать очень маленькие интервалы, действительно, мы можем быть очень уверены, что истинное среднее значение составляет 9,2.
Для сравнения следующий пример вывода данных взят из P.K.Hou, O.W. Lau & M.C. Wong, Analyst (1983) vol. 108, p 64. и от Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55 J. C. Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907. Значения являются результатом определения ртути путем атомного поглощения холодного пара.
__________________________________ 2-Sided Confidence Limits For Mean __________________________________ Number of Observations = 3 Mean = 37.8000000 Standard Deviation = 0.9643650 ___________________________________________________________________ Confidence T Interval Lower Upper Value (%) Value Width Limit Limit ___________________________________________________________________ 50.000 0.816 0.455 37.34539 38.25461 75.000 1.604 0.893 36.90717 38.69283 90.000 2.920 1.626 36.17422 39.42578 95.000 4.303 2.396 35.40438 40.19562 99.000 9.925 5.526 32.27408 43.32592 99.900 31.599 17.594 20.20639 55.39361 99.990 99.992 55.673 -17.87346 93.47346 99.999 316.225 176.067 -138.26683 213.86683
На этот раз тот факт, что есть только три измерения, приводит к гораздо более широким интервалам, действительно таким большим интервалам, что трудно быть очень уверенным в местоположении среднего.
Статья Calculating confidence intervals on the mean with the Students-t distribution раздела Math Toolkit 2.5.0 Student's t Distribution Examples может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Student's t Distribution Examples ::
реклама |