Проверка гипотезы о равномерном распределении
При использовании критерия Пирсона для проверки гипотезы о равномерном распределении генеральной совокупности с предполагаемой плотностью вероятности f(x) необходимо вычислив по имеющейся выборке значение, оценить параметры a и b по формулам
,Где a* и b* - оценки a и b. Действительно, для равномерного распределения
M(X) =
σ=
= ,откуда можно получить систему для определения a* и b*:
f(x)=
,решением которой являются выражения (*). Затем, предполагая, что
f(x)=
,можно найти теоретические частоты по формулам:
, , , ,Здесь s – число интервалов, на которые разбита выборка. Наблюдаемое значение критерия Пирсона вычисляется по формуле:
а критическое по таблице с учетом того, что число степеней свободы k=s-3.
Для выбранного критерия строится правосторонняя критическая область, определяемая условием
,где α – уровень значимости. Следовательно, критическая область задается неравенством
, а область принятия гипотезы – . Таким образом, если , то нулевую гипотезу принимают, если , то ее отвергают.Для критерия Колмогорова теоретические и эмпирические функции распределения находим таким же образом, как и для критерия Пирсон.
Схема применения критерия Колмогорова:
Строятся предполагаемое теоретическая функция распределения F(x).
Находим величину
по следующей формулегде
;3. Если вычисленное значение
,где α критическое значение найденное при заданном уровне значимости, то проверяемая нулевая гипотеза о том что случайная величина Х имеет заданный закон распределения, отвергается, в противном случае гипотеза не отвергается.
Программа вычисления
. Таблица результатовuses crt;
const n=100;s=10;
var
A1,h, R, min, max, x_v, D_v, at, bt, Xi2:real;
a:array[1..N]of real;
alfa:array[1..s+1]of real;
x,mt:array[1..s]of real;
m:array[1..s]of integer;
i,k:integer;
begin
clrscr;
writeln('A1');
read(A1);
for I:=1 to n do
begin
a[i]:=sqr(a1)/1000000;
a[i]:=(trunc((a[i]-trunc(a[i]))*10000));
if a[i]<100 then A1:=random(7999)+2000
else a1:=a[i];
a[i]:=a[i]/10000;
writeln(a[i]:8:4);
end;
begin
min:=a[1];
max:=a[1];
for i:=1 to N do
if max<a[i] then max:=a[i];
for i:=1 to N do
if min>a[i] then min:=a[i];
R:=max-min;
h:=R/s;
alfa[1]:=min;
for k:=2 to S+1 do
alfa[k]:=alfa[k-1]+h;
for k:=1 to s do
x[k]:=alfa[k]+h/2;
for k:=1 to s do
for i:=1 to N do
if (a[i]>=alfa[k])and(a[i]<alfa[k+1]) then
m[k]:=m[k]+1;
x_v:=0; D_v:=0;
for k:=1 to s do
x_v:=x_v+x[k]*m[k];
x_v:=x_v/n; writeln(' X_v=',x_v:8:4);
for k:=1 to s do
D_v:=D_v+sqr(x[k])*m[k];
D_v:=sqrt(D_v/N-sqr(x_v)); writeln(' D_v=',D_v:8:4);
at:=x_v-D_v*sqrt(3);
bt:=x_v+D_v*sqrt(3);
mt[1]:=N*(alfa[2]-at)/(bt-at);
for k:=2 to s-1 do
mt[k]:=N*(alfa[k+1]-alfa[k])/(bt-at);
mt[s]:=N*(bt-alfa[s])/(bt-at);
Xi2:=0;
for k:=1 to s do
if mt[k]<>0 then
Xi2:=Xi2+(sqr(m[k]-mt[k]))/mt[k];
for k:=1 to s do
writeln('i',k,' x[k]=',x[k]:8:4,' n[k]=', m[k], 'nt[k]=', mt[k]:8:4);
writeln('Xi2=',Xi2:8:4); readkey;
end; end;
end.
Таблица результатов N = 1000, m = 10, k = 7; A1=9887
xi | ||
0.05 | 112 | 103.87 |
0.15 | 91 | 100.92 |
0.25 | 103 | 100.12 |
0.35 | 94 | 100.92 |
0.45 | 113 | 100.89 |
0.55 | 99 | 100.92 |
0.65 | 98 | 100.72 |
0.75 | 95 | 109.42 |
0.85 | 107 | 109.42 |
0.95 | 88 | 958.76 |
По таблице хи-квадрат распределения
=9.037. Так как , то гипотеза H0 согласуется с опытными данными.Программа вычисления
. Таблица результатовuses crt;
const n=100;
var A1,min,max, alf,min1,max1:real;
a,D,D1,b:array[1..N]of real;
i,k,j:integer;
procedure swap(var x,y:real);
var t:real;
begin
t:=x; x:=y; y:=t;
end;
function f(s:real):real;
begin
if s<=0 then
f:=0;
if (s>0) and(s<=1) then
f:=s;
if s>1 then
f:=1; end;
begin
clrscr;
writeln('A1'); read(A1);
for I:=1 to n do
begin
a[i]:=sqr(a1)/1000000;
a[i]:=(trunc((a[i]-trunc(a[i]))*10000));
if a[i]<100 then A1:=random(7999)+2000
else a1:=a[i];
a[i]:=a[i]/10000;
end;
begin
for j:=1 to n-1 do
for i:=n downto j do
if a[i-1]>a[i] then
swap(a[i-1],a[i]);
for i:=1 to n do
end;
begin
for i:=1 to n do
D[i]:=abs(i/n-f(a[i]));
for i:=1 to n do
begin
max:=d[1];
min:=d[1];
for i:=1 to N do
if max<d[i] then max:=d[i];
for i:=1 to N do
if min>d[i] then min:=d[i];
begin
for i:=1 to n do
D1[i]:=abs(f(a[i])-(i-1)/n);
for i:=1 to n do
begin
max1:=d1[1];
min1:=d1[1];
for i:=1 to N do
if max1<d1[i] then max1:=d1[i];
for i:=1 to N do
if min1>d1[i] then min1:=d1[i];
writeln('max',max:8:4)
writeln('max1',max1:8:4);
alf:=sqrt(n)*max;
writeln('alf',alf:8:3);
readkey;
end;
end.
Таблица результатов
N = 100 ; A1=9876
При уровне значимости 0,1 критическое значение равняется 1,22.
По формуле
подставляя это значение получим следовательно гипотеза о равномерном распределении случайных чисел полученных методом Неймана неотвергается .Заключение
Установленный теоретический закон отличается незначительно от закона, полученного в результате эксперимента. Эти расхождения объясняются случайными обстоятельствами, связанными с ограниченным числом наблюдений.
Критерий Пирсона опровергает гипотезу о том, что псевдослучайные числа полученные методом Неймана не распределены по равномерному закону распределения с уровнем значимости α=0.25.
Критерий Колмогорова подтверждает гипотезу о равномерном распределении случайных чисел полученных методом Неймана с уровнем значимости α=0.1
Числовые характеристики близки к статистическим параметрам, характерных для равномерно распределенных чисел
Следовательно, случайные числа получаемые методом Неймана распределены равномерно на интервале (0,1).
Список литературы
1. Гмурман В. Е. - Теория вероятностей и математическая статистика.- М.: Высш. шк., 2003
2. Кремер Н. Ш. – Теория вероятностей и математическая статистика.- М.: Юнити, 2006
3. Крамер Г. – Математические методы статистики. – М.: Мир, 1975
4. Гнеденко Б. В. – Теория вероятностей и математическая статистика.- М.: Наука, 1970
5. Ветцель Е.С.; Овчаров Л.А. - Теория вероятностей. - М.:Наука,1986
6. Ермаков С.М.; Михайлов Г.А.- Статистическое моделирование. - М.: Наука, 1983