Статус документа
Статус документа

ГОСТ Р ИСО 24153-2012 Статистические методы. Процедуры рандомизации и отбора случайной выборки (Переиздание)

     7 Описание процедуры отбора псевдонезависимой случайной выборки. Компьютерный метод

7.1 Краткий обзор

7.1.1 В настоящем стандарте использованы алгоритмы, приведенные в [1], [7] и [13]. Эти алгоритмы обладают математическими и статистическими свойствами, необходимыми для обеспечения случайного отбора выборки, создания программ на различных языках программирования и компьютерах, позволяющих проводить верификацию и ревизию отобранных значений, используемых для проверок, контроля, аудита. Текст основных элементов программы на языке программирования Си приведен в приложении В.

7.1.2 В алгоритмах использованы два основных элемента:

a) алгоритм инициализации, генерирующий квазислучайное начальное целое число на основе времени, прошедшего с указанной даты;

b) генератор случайных чисел.

7.1.3 При использовании для верификации или аудита алгоритм инициализации, упомянутый в 7.1.2 а) и описанный в 7.2, может быть заменен введением начального значения вручную. Это значение должно быть целым числом из интервала от 1 до 2147483398 включительно. Это значение необходимо сохранять и указывать в отчете (при составлении). Однако при использовании для контроля качества и при планировании эксперимента должна быть предусмотрена возможность не использовать компьютерный выбор начального значения, который может быть выбран по умолчанию.

Примечание - Этапы алгоритмов приведены в более формализованном виде, что может быть полезно при программировании методов. Текст программы со ссылками на подразделы настоящего стандарта приведен в приложении В.

7.2 Алгоритм инициализации

7.2.1 Алгоритм инициализации включает:

a) алгоритм вычисления времени, прошедшего с указанной даты;

b) алгоритм генерации случайных чисел на основе равномерного распределения, использующий случайное число, полученное на этапе а).

7.2.2 Приведенный алгоритм позволяет определить количество секунд с 2000-01-01 00:00:00 до текущих даты и времени.

Описание алгоритма.

a) Определяют системные дату и время компьютера в виде символьной переменной, сохраняют значение этой переменной и указывают в отчете, а затем анализируют переменную по компонентам (год, месяц, день, час, минута, секунда).

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

если 3, то , ,

.


Примечание - Формула для может быть упрощена для календарных лет до 2099 года включительно заменой членов после на "-730441".

c) Вычисляют общее количество секунд , начиная с указанной даты, используя расчеты в соответствии с b) и время дня (в 24-часовом формате "hh:mm:ss"), указанное в символьной переменной в соответствии с а) на основе формулы

,

где , и - часы, минуты и секунды соответственно.

Примечание 1 - В некоторых языках программирования есть встроенные функции для вычисления непосредственно. Перед использованием такие встроенные функции должны быть проверены для обеспечения учета влияния високосных лет, летнего/зимнего времени (в зависимости от обстоятельств).

Примечание 2 - В 32-битовой реализации этого алгоритма значение увеличивается до переполнения соответствующей ячейки. В программе необходимо предусмотреть проверки того, что это число находится в интервале от 1 до 2147483398 включительно.

d) Значение, полученное в соответствии с с), является начальным числом для генератора начального числа и используется для получения заключительного начального числа. Это значение хранят в виде отдельной переменной и указывают в отчете.

e) Количество обращений к генератору случайных чисел является случайным целым от 1 до 100, полученным на основе двух наименее существенных цифр значения, полученного в соответствии с перечислением с), увеличенного на 1, и может быть рассчитано по формуле     

.