Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Testing a sample mean for difference from a "true" mean

Boost , Math Toolkit 2.5.0 , Student's t Distribution Examples

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

При калибровке или сравнении какого-либо научного инструмента или метода измерения мы хотим ответить на вопрос: «Различается ли наблюдаемое среднее значение выборки от истинного» каким-либо существенным образом? Если это так, то у нас есть доказательства систематического различия. На этот вопрос можно ответить тестом Student-t: больше информации можно найтина сайте NIST.

Конечно, отнесение «истинного» к одному среднему может быть вполне произвольным, часто это просто «традиционный» метод измерения.

Следующий примерный код взят из примера программыstudents_t_single_sample.cpp.

Мы начнем с определения процедуры, чтобы определить, какая из возможных гипотез отвергается или не отвергается на заданном уровне значимости:

[Note] Note

Нестатистики могут сказать, что «не отвергнутый» означает «принятый» (часто нулевой гипотезы), подразумевая, ошибочно, что на самом делеРазницы нет, но статистики избегают этого, чтобы не подразумевать, что есть положительные доказательства отсутствия разницы. Не отвергнутое здесь означает, что нетникаких доказательствразницы, но все же может быть разница. Например, см.аргумент из невежестваиОтсутствие доказательств не является доказательством отсутствия.

// 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 single_sample_t_test(double M, double Sm, double Sd, unsigned Sn, double alpha)
{
   //
   // M = true mean.
   // Sm = Sample Mean.
   // Sd = Sample Standard Deviation.
   // Sn = Sample Size.
   // alpha = Significance Level.

Большая часть процедуры довольно-таки печатная, поэтому давайте просто сосредоточимся на вычислении, начнем с вычисления t-статистики:

// Difference in means:
double diff = Sm - M;
// Degrees of freedom:
unsigned v = Sn - 1;
// t-statistic:
double t_stat = diff * sqrt(double(Sn)) / Sd;

Наконец, вычислите вероятность из t-статистики. Если нас интересует просто, есть ли разница (меньше или больше) или нет, нам наплевать на знак t-статистики, и мы берем дополнение вероятности для сравнения с уровнем значимости:

students_t dist(v);
double q = cdf(complement(dist, fabs(t_stat)));

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

гипотеза

Тест

Нулевая гипотеза:нет разницыв средствах

Отклонить, если дополнение CDF для |t |< уровень значимости / 2:

<cdf(complement(dist, fabs(t))) <alpha /2>

Альтернативная гипотеза: существуетразличиев средствах

.

Отклонить, если дополнение CDF для |t | >уровень значимости / 2:

<cdf(complement(dist, fabs(t))) >alpha /2>

Альтернативная гипотеза: среднее значение выборкименьше, чем истинное среднее.

Отклонить, если CDF t >1 - уровень значимости:

<cdf(complement(dist, t)) <alpha>

Альтернативная гипотеза: среднее значение выборкибольше, чем истинное среднее.

Отклонить, если дополнение CDF t< уровень значимости:

<cdf(dist, t) <alpha>

[Note] Note

Заметьте, что сравнения против<alpha /2>для двухстороннего теста и против<alpha>для одностороннего теста.

Теперь, когда у нас есть все детали на месте, давайте посмотрим на некоторые образцы, сначала используя. Данные теплового потокас сайта NIST. Набор данных был собран Бобом Зарром из NIST в январе 1990 года с помощью калибровки и анализа устойчивости счетчика теплового потока. Соответствующий вывод данных для этого теста можно найти вразделе 3.5.2электронного справочника статистических методовNIST/SEMATECH..

__________________________________
Student t test for a single sample
__________________________________
Number of Observations                                 =  195
Sample Mean                                            =  9.26146
Sample Standard Deviation                              =  0.02279
Expected True Mean                                     =  5.00000
Sample Mean - Expected Test Mean                       =  4.26146
Degrees of Freedom                                     =  194
T Statistic                                            =  2611.28380
Probability that difference is due to chance           =  0.000e+000
Results for Alternative Hypothesis and alpha           =  0.0500
Alternative Hypothesis     Conclusion
Mean != 5.000            NOT REJECTED
Mean  < 5.000            REJECTED
Mean  > 5.000            NOT REJECTED

Вы заметите строку, в которой говорится, что вероятность того, что разница обусловлена случайностью, равна нулю. С философской точки зрения, конечно, вероятность никогда не может достичь нуля. Однако в этом случае вычисленная вероятность меньше наименьшего репрезентабельного числа двойной точности, отсюда и появление здесь нуля. Какова бы ни была его «истинная» ценность, мы знаем, что она должна быть чрезвычайно мала, поэтому альтернативная гипотеза — что есть разница в средствах — не отвергается.

Для сравнения следующий пример вывода данных взят из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.Значения являются результатом определения ртути путем атомного поглощения холодного пара.

__________________________________
Student t test for a single sample
__________________________________
Number of Observations                                 =  3
Sample Mean                                            =  37.80000
Sample Standard Deviation                              =  0.96437
Expected True Mean                                     =  38.90000
Sample Mean - Expected Test Mean                       =  -1.10000
Degrees of Freedom                                     =  2
T Statistic                                            =  -1.97566
Probability that difference is due to chance           =  1.869e-001
Results for Alternative Hypothesis and alpha           =  0.0500
Alternative Hypothesis     Conclusion
Mean != 38.900            REJECTED
Mean  < 38.900            NOT REJECTED
Mean  > 38.900            NOT REJECTED

Как вы можете видеть, небольшое количество измерений (3) привело к большой неопределенности в местоположении истинного среднего. Таким образом, несмотря на то, что, по-видимому, существует разница между средним значением выборки и ожидаемым истинным средним, мы приходим к выводу, что существенной разницы нет, и не можем отвергнуть нулевую гипотезу. Однако, если мы понизим планку приема до альфа = 0,1 (уровень доверия 90%), мы увидим другой результат:

__________________________________
Student t test for a single sample
__________________________________
Number of Observations                                 =  3
Sample Mean                                            =  37.80000
Sample Standard Deviation                              =  0.96437
Expected True Mean                                     =  38.90000
Sample Mean - Expected Test Mean                       =  -1.10000
Degrees of Freedom                                     =  2
T Statistic                                            =  -1.97566
Probability that difference is due to chance           =  1.869e-001
Results for Alternative Hypothesis and alpha           =  0.1000
Alternative Hypothesis     Conclusion
Mean != 38.900            REJECTED
Mean  < 38.900            NOT REJECTED
Mean  > 38.900            REJECTED

В этом случае у нас действительно есть пограничный результат, и для более убедительного вывода необходимо больше данных (и / или более точных данных).


PrevUpHomeNext

Статья Testing a sample mean for difference from a "true" mean раздела Math Toolkit 2.5.0 Student's t Distribution Examples может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Student's t Distribution Examples ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 19:45:21/0.029574871063232/1