Название: Информатика - Алгоритмы и программы (Н.В. Усольцев)

Жанр: Информатика

Просмотров: 1276


3.6. сравнение двух дисперсий

Сравнение дисперсий двух выборок  и   производится с помощью критерия Фишера

                       

Если отношение дисперсий меньше критерия Фишера, то дисперсии статистически неразличимы и могут считаться дисперсиями двух выборок из одной генеральной совокупности.

Данные сравнения дисперсия используются при проверке адекватности математических моделей объектов, построенных на основе исследования их характеристик.

Для вычисления критерия (квантиля распределения Фишера) необходимо решать уравнение:

где подынтегральная функция представляет собой плотность вероятности распределения Фишера.

 

4. Генерация случайных величин

В статистических расчетах часто возникает необходимость имитации случайных процессов - генерации случайных величин с заданным законом распределения. Во всех языках программирования есть функция генерации случайных чисел с равномерным законом распределения. В языке С/С++ это функция rand().  Она генерирует целое случайное число в диапазоне 0…с равномерным распределением.

Прототип функции rand() находится в заголовочном файле <stdlib.h>.

При каждом исполнении программы функция rand() генерирует одну и ту же псевдослучайную последовательность. Для того чтобы сделать ее действительно случайной, необходимо запустить инициализатор генератора - макропроцедуру randomize(). Она использует в своей работе функцию системного времени time(). Поэтому для ее правильного использования необходимо подключить заголовочный файл <time.h>.

Для превращения целого случайного в вещественное и приведения его к стандартному диапазону (0 … 1) его нужно разделить на константу INT_MAX (деление должно быть вещественное!). Затем осуществляется тот или иной алгоритм получения нормального закона распределения. Одним из самых простых и хороших алгоритмов получения числа z с нормальным законом распределения и параметрами μ = 0 и σ = 1 описывается следующими формулами:

где                             ;    

а  x и y - две независимые случайные величины с равномерным законом распределения на интервале 0 … 1.

Для получения случайной величины с любыми значениями μ  и σ следует выполнить пересчет по формуле:

Данный алгоритм получения случайного числа реализуется функцией

 RandNorm(), находящейся в файле randnorm.cpp.