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

Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test

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

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

Этот раздел основан на примере кода в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 single_sample_find_df(
   double M,          // M = true mean.
   double Sm,         // Sm = Sample Mean.
   double Sd)         // Sd = Sample Standard Deviation.
{

Далее мы определим таблицу уровней значимости:

double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };

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

cout << "\n\n"
        "_______________________________________________________________\n"
        "Confidence       Estimated          Estimated\n"
        " Value (%)      Sample Size        Sample Size\n"
        "              (one sided test)    (two sided test)\n"
        "_______________________________________________________________\n";

И теперь важная часть: требуемые размеры выборки. Класс<students_t_distribution>имеет статическую функцию<find_degrees_of_freedom>, которая вычисляет, насколько большим должен быть размер выборки, чтобы дать окончательный результат.

Первый аргумент - это разница между средствами, которые вы хотите обнаружить, здесь это абсолютное значение разницы между средним значением выборки и истинным средним значением.

Далее следуют два значения вероятности: альфа и бета. Альфа — это максимально допустимый риск отказа от нулевой гипотезы, когда она на самом деле верна. Бета — это максимально допустимый риск отказа от нулевой гипотезы, когда она ложна. Также обратите внимание, что для двухстороннего теста альфа должна быть разделена на 2.

Конечным параметром функции является стандартное отклонение образца.

В этом примере мы предполагаем, что альфа и бета одинаковы, и называем<find_degrees_of_freedom>дважды: один раз с альфа для одностороннего теста и один раз с альфа/2 для двухстороннего теста.

   for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
   {
      // Confidence value:
      cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
      // calculate df for single sided test:
      double df = students_t::find_degrees_of_freedom(
         fabs(M - Sm), alpha[i], alpha[i], Sd);
      // convert to sample size:
      double size = ceil(df) + 1;
      // Print size:
      cout << fixed << setprecision(0) << setw(16) << right << size;
      // calculate df for two sided test:
      df = students_t::find_degrees_of_freedom(
         fabs(M - Sm), alpha[i]/2, alpha[i], Sd);
      // convert to sample size:
      size = ceil(df) + 1;
      // Print size:
      cout << fixed << setprecision(0) << setw(16) << right << size << endl;
   }
   cout << endl;
}

Давайте теперь посмотрим на некоторые результаты выборки, используя данные, взятые из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 дал пограничный результат, поэтому этот пример покажет нам, сколько образцов нужно будет собрать:

_____________________________________________________________
Estimated sample sizes required for various confidence levels
_____________________________________________________________
True Mean                               =  38.90000
Sample Mean                             =  37.80000
Sample Standard Deviation               =  0.96437
_______________________________________________________________
Confidence       Estimated          Estimated
 Value (%)      Sample Size        Sample Size
              (one sided test)    (two sided test)
_______________________________________________________________
    75.000               3               4
    90.000               7               9
    95.000              11              13
    99.000              20              22
    99.900              35              37
    99.990              50              53
    99.999              66              68

Так что в этом случае пришлось бы сделать еще много измерений, например, на уровне 95%, 14 измерений в общей сложности для двухстороннего теста.


PrevUpHomeNext

Статья Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test раздела 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:26:44/0.0070240497589111/0