Предположим, мы проведем тест Чи Квадрата на стандартное отклонение, и результат будет пограничным, законный вопрос, который нужно задать: «Насколько большим должен быть размер выборки, чтобы получить окончательный результат?»
Шаблон классаchi_squared_distributionимеет статический метод<find_degrees_of_freedom
>, который вычислит это значение для некоторого приемлемого риска отказа типа Iальфа, отказ типа IIбета, и отличие от стандартного отклоненияДифф. Обратите внимание, что используемый метод работает на дисперсии, а не на стандартном отклонении, как обычно для теста Чи Квадрат.
Код для этого примера находится вchi_square_std_dev_test.cpp.
Начнем с определения процедуры распечатки образцов, необходимых для различных уровней риска:
void chi_squared_sample_sized(
double diff,
double variance)
{
Процедура начинается с распечатки входных данных:
using namespace std;
using namespace boost::math;
cout <<
"_____________________________________________________________\n"
"Estimated sample sizes required for various confidence levels\n"
"_____________________________________________________________\n\n";
cout << setprecision(5);
cout << setw(40) << left << "True Variance" << "= " << variance << "\n";
cout << setw(40) << left << "Difference to detect" << "= " << diff << "\n";
И определяет таблицу уровней значимости, для которой мы будем вычислять размеры выборки:
double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
Для каждого значения альфа мы можем вычислить два размера выборки: один, где дисперсия выборки меньше истинного значения надиффи один, где она больше истинного значения надифф. Благодаря асимметричности распределения Чи Квадрата эти два значения не будут одинаковыми, разница в их вычислении отличается только знакомдифф, который передается<find_degrees_of_freedom
>. Наконец, в этом примере мы будем просто вещи, и пусть уровень рискабетабудет таким же, какальфа:
cout << "\n\n"
"_______________________________________________________________\n"
"Confidence Estimated Estimated\n"
" Value (%) Sample Size Sample Size\n"
" (lower one (upper one\n"
" sided test) sided test)\n"
"_______________________________________________________________\n";
for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
{
cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
double df = chi_squared::find_degrees_of_freedom(
-diff, alpha[i], alpha[i], variance);
double size = ceil(df) + 1;
cout << fixed << setprecision(0) << setw(16) << right << size;
df = chi_squared::find_degrees_of_freedom(
diff, alpha[i], alpha[i], variance);
size = ceil(df) + 1;
cout << fixed << setprecision(0) << setw(16) << right << size << endl;
}
cout << endl;
В качестве примера рассмотрим данныекремниевых пластинизэлектронного справочника статистических методов NIST/SEMATECH.. В этом сценарии поставщик кремниевых пластин 100 ohm.cm утверждает, что его процесс изготовления может производить пластины с достаточной консистенцией, чтобы стандартное отклонение сопротивления для партии не превышало 10 ohm.cm. Образец N = 10 пластин, взятый из партии, имеет стандартное отклонение 13,97 ohm.cm, и вопрос, который мы задаем себе, заключается в том, насколько большим должен быть наш образец, чтобы надежно обнаружить эту разницу?
Чтобы использовать нашу процедуру выше, мы должны преобразовать стандартные отклонения в дисперсию (квадратировать их), после чего вывод программы выглядит следующим образом:
_____________________________________________________________
Estimated sample sizes required for various confidence levels
_____________________________________________________________
True Variance = 100.00000
Difference to detect = 95.16090
_______________________________________________________________
Confidence Estimated Estimated
Value (%) Sample Size Sample Size
(lower one (upper one
sided test) sided test)
_______________________________________________________________
50.000 2 2
75.000 2 10
90.000 4 32
95.000 5 51
99.000 7 99
99.900 11 174
99.990 15 251
99.999 20 330
В этом случае мы заинтересованы в верхнем однобоком тесте. Так, например, если максимально допустимый риск ложного отклонения нулевой гипотезы составляет 0,05 (ошибка I типа), а максимально допустимый риск отказа от нулевой гипотезы также составляет 0,05 (ошибка II типа), мы оцениваем, что нам потребуется размер выборки 51.