
- •Министерство науки и образования украины
- •Инструктивно- методические указания
- •«Проверка качества последовательностей случайных чисел на равномерность»
- •Практическое занятие 11
- •План работы
- •1. Краткие теоретические сведения
- •2. Проверка последовательности случайных чисел на равномерность.
- •2.1 Проверка по гистограмме
- •2.2 Проверка с использованием критерия согласия Пирсона
- •2.3 Проверка по косвенным признакам
- •3. Проверка качества псч с помощью эвм в среде MatLab .
- •3. 1 Проверка по гистограмме
- •3.2 Проверка с использованием критерия согласия Пирсона
- •3.3 Проверка по косвенным признакам
2.3 Проверка по косвенным признакам
Алгоритм проверки по косвенным признакам состоит в следующем:
формируется последовательность случайных чисел (ПСЧ)x {i}, равномерно распределенных в интервале (0,1);
x1
x3
…
x2N-1
x2
x4
…
x2N
проверяется условие
; если оно выполняется в счетчик событий добавляется 1.
В результате
после N
опытов в счетчике будет
находится некоторое число
.
Геометрически это означает, что точка
с координатами (
)
находится внутри четверти круга радиусаR=1.
Теоретически
вероятность попадания этой
точки в четверть круга равна Рк=.Если числа распределены
равномерно в интервале (0,1),
то в силу закона больших чисел теории
вероятностей при больших N
относительная частота
, будет стремиться к
.
3. Проверка качества псч с помощью эвм в среде MatLab .
3. 1 Проверка по гистограмме
Для решения поставленной задачи напишем М- файл, осуществляющий данную проверку.
Последовательность действий, которые необходимо выполнить, описана в п. 2.1.
Будем проверять последовательность качества ПСЧ , получаемых в среде MatLabс помощью функции unifrnd(a,b,n,m), где
a, b-верхняя и нижняя границы интервала;
m,n- размеры выходной матрицы.
М-файлбудет иметь вид:
%Проверка последовательности с. в. на равномерность по гистограмме
clear all;%очистка рабочей области
a=0;%границы интервала формированиЯ с. в.
b=1;%-\\-
eps=0.000002;%достаточно маленькое число
N=1000;%длина последовательности
m=10;%количество подинтервалов интервала (0,1)
%Формирование последовательности {xi}с.ч., равномерно распределенных в интервале (0,1)
y=unifrnd(0+eps,1-eps,1,N);%генерациЯ с.в. с равномерным з. распределениЯ.
x=sort(y);%вычисление границ вариационного рЯда-сортировка элементов в возраст. порЯдке.
%Вычисление границ подинтервалов
R=x(N)-x(1);%определение длины интервала построениЯ гистограммы
L=R/m;% определение размера подинтеграла
i=0:m-1;%размах выборки
x1=x(1)+i*L;%длина подинтервалов
%Вычисление статистического рЯда (km-частоты(ширины столбца),
%xs- середины подинтервалов (координаты))
[km,xs]=hist(x,m)%распределение элементов по попаданию в m подинтервалов.
p=km/N;
%Вычисление элементов гистограммы и ее построение
bar(x1,p,'histc')
hold on;
plot(x1,1/m)
hold off;
Задание: разработать script-файл, выводящий гистограмму в четыре подокна, используя для этого процедуру subplot(m,n,p) и оператор циклаforпри N=1000, N=5000, N=10000, N=20000. Сравнить результаты, сделать выводы.
3.2 Проверка с использованием критерия согласия Пирсона
Этот способ
базируется на функции распределения
Пирсона chi2cdf. выдвигаем как и ранее гипотезу о
равномерном распределении с. в. в
интервале (0,1). В результатеN
независимых экспериментов получаемNзначений ПСЧ.
Разбиваем интервал на m
подинтервалов равного размера.Вычисляем частотыпопадания значений с.в. вi-й
интервал (группируем значения).Затем
вычисляем значение
,
т. е. используем критерий согласия
Пирсона:
,
где
.
Величина
имеет распределение сm-1
степенями свободы. Задаваясь уровнем
значимости ряда
,
где
-
достоверная вероятность, определимq-процентный предел
.
Если
<
,
то выбранные значения согласуются с
выдвинутой гипотезой, в противном
случае- произошло невозможное событие
и гипотеза неверна.
М-файл будет выглядеть следующим образом:
%Проверка гипотезы о равномерности ПСЧ с использованием критериЯ согласиЯ Пирсона
q=0.05;%уровень значимости
chi2=sum(((km-(1/m)*N).^2)./(N/m))
chi2q=chi2inv(q,m-1)%квантиль распределения Пирсона
if chi2<chi2q
disp('Гипотеза верна')
else
disp('Гипотеза отклонЯетсЯ')
end;
Задание: : разработать script-файл, объединяющий это и предыдущее задание. Запустить генерацию. Сопоставаить графические результаты и результаты проверки с помощью критерия Пирсона.