Скачиваний:
13
Добавлен:
15.06.2014
Размер:
26.92 Кб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет информационных технологий и управления

Кафедра информационных технологий автоматизированных систем

Лабораторная работа №8

«Проверка гипотезы о законе распределения»

Выполнили:

Проверил:

студенты гр. 020602

Муха В.С.

Красовская М.

Сазонова Е.

Соколова Е.

Минск 2013

1 ЦЕЛЬ РАБОТЫ

1.1 Изучение методов проверки гипотезы о законе распределения.

1.2. Получение навыков проверки гипотезы о законе распределения в системе Matlab.

2 ЗАДАНИЕ

2.1. Получить выборки объема n=100 из распределений, приведенных в лабораторной работе № 1. Проверить гипотезу о законе распределения приведёнными в п. 8.2.2 данной работы критериями, написав собственные m-файлы.

2.2. Сравнить результаты проверки гипотезы по критерию хи-квадрат с результатами проверки с помощью стандартной программы Matlab g08cgf.

  1. ХОД РАБОТЫ

3.1. Проверим гипотезу о законе нормального распределения с помощью собственных m-файлов. Для этого сгенерируем выборку из n=100 чисел, распределенных по нормальному закону. Получили следующие результаты:

v = 3.1483

va = 9.4877

Гипотеза ХИ-квадрат выполняется

lambda = 0.0747

lambdaa = 1.3580

Гипотеза Колмогорова выполняется

z = 0.2435

za = 0.4600

Гипотеза Мизеса-Смирнова выполняется

Для проверки гипотезы по критерию хи-квадрат, используя стандартные средства, получили результат:

h = 0

p = 0.9337

Гипотеза принимается

Критерий Пирсона:

n=100;

alpha=0.05;

par(1)=2;

par(2)=7;

xmax=-1000;

xmin=1000;

k=5;

for i=1:n

x(i)=normrnd(par(1),par(2));

if(x(i)<xmin)

xmin=x(i);

end

if(x(i)>xmax)

xmax=x(i);

end

end

length=(xmax-xmin)/k;

cint=[xmin xmin+length xmin+2*length xmin+3*length xmin+4*length xmax];

mi = [0 0 0 0 0];

for i=1:n

if(x(i)<cint(2))

mi(1)=mi(1)+1;

elseif(x(i)<cint(3))

mi(2)=mi(2)+1;

elseif(x(i)<cint(4))

mi(3)=mi(3)+1;

elseif(x(i)<cint(5))

mi(4)=mi(4)+1;

else

mi(5)=mi(5)+1;

end

end

v=0;

for j=1:k

if (j==k)

p(j)=1-normcdf(cint(j),par(1),par(2));

else

p(j)=normcdf(cint(j+1),par(1),par(2))-normcdf(cint(j),par(1),par(2));

end

v=v+((mi(j)-n*p(j))^2)/(n*p(j));

end

va=chi2inv(1-alpha,k-1);

v,va

if v<va

disp('Гипотеза ХИ-квадрат выполняется');

else

disp('Гипотеза ХИ-квадрат не выполняется');

end

Критерий Колмогорова:

deltamax=0;

delta=0;

x=sort(x);

for i=1:n

fgipotet(i)=normcdf(x(i),par(1),par(2));

fempir(i)=i./n;

delta=fgipotet(i)-fempir(i);

if(delta>deltamax)

deltamax=delta;

end

end

lambda = deltamax.*sqrt(n)

lambdaa=1.358

if lambda<lambdaa

disp('Гипотеза Колмогорова выполняется');

else

disp('Гипотеза Колмогорова не выполняется');

end

Критерий Мизеса-Смирнова:

f=0;

for i=1:n

f=f+(fgipotet(i)-((2*i-1)/(2*n)))^2;

end

omegakv=1/(12*n^2)+f/n;

z=n*omegakv

za=0.46

if z<za

disp('Гипотеза Мизеса-Смирнова выполняется');

else

disp('Гипотеза Мизеса-Смирнова не выполняется');

end

[h,p] = chi2gof(x);

h,p

if h==0

disp('Гипотеза принимается')

else

disp('Гипотеза не принимается')

end;

3.2 Проверим гипотезу о законе распределения Стьюдента с помощью собственных m-файлов. Для этого сгенерируем выборку из n=100 чисел, распределенных по закону Стьюдента. Получили следующие результаты:

v = 3.2209

va = 9.4877

Гипотеза ХИ-квадрат выполняется

lambda = 0.1070

lambdaa = 1.3580

Гипотеза Колмогорова выполняется

z = 0.0855

za = 0.7400

Гипотеза Мизеса-Смирнова выполняется

Для проверки гипотезы по критерию хи-квадрат, используя стандартные средства, получили результат:

h = 0

p = 0.8820

Гипотеза принимается

Критерий Пирсона:

clc

n=100;

alpha=0.05;

par(1)=10;

xmax=-1000;

xmin=1000;

v=0;

k=5;

for i=1:n

x(i)=trnd(par(1));

if(x(i)<xmin)

xmin=x(i);

end

if(x(i)>xmax)

xmax=x(i);

end

end

length=(xmax-xmin)/k;

cint=[xmin xmin+length xmin+2*length xmin+3*length xmin+4*length xmax];

mi = [0 0 0 0 0];

for i=1:n

if(x(i)<cint(2))

mi(1)=mi(1)+1;

elseif(x(i)<cint(3))

mi(2)=mi(2)+1;

elseif(x(i)<cint(4))

mi(3)=mi(3)+1;

elseif(x(i)<cint(5))

mi(4)=mi(4)+1;

else

mi(5)=mi(5)+1;

end

end

for j=1:k

if (j==k)

p(j)=1-tcdf(cint(j),par(1));%tcdf

else

p(j)=tcdf(cint(j+1),par(1))-tcdf(cint(j),par(1));%tcdf

end

v=v+((mi(j)-n*p(j))^2)/(n*p(j));

end

va=chi2inv(1-alpha,k-1);

v,va

if v<va

disp('Гипотеза ХИ-квадрат выполняется');

else

disp('Гипотеза ХИ-квадрат не выполняется');

end

Критерий Колмогорова:

deltamax=0;

delta=0;

x=sort(x);

for i=1:n

fgipotet(i)=tcdf(x(i),par(1));

fempir(i)=i./n;

delta=fgipotet(i)-fempir(i);

if(delta>deltamax)

deltamax=delta;

end

end

lambda = deltamax.*sqrt(n)

lambdaa=1.358

if lambda<lambdaa

disp('Гипотеза Колмогорова выполняется');

else

disp('Гипотеза Колмогорова не выполняется');

end

Критерий Мизеса-Смирнова:

f=0;

for i=1:n

f=f+(fgipotet(i)-((2*i-1)/(2*n)))^2;

end

omegakv=1/(12*n^2)+f/n;

z=n*omegakv

za=0.74

if z<za

disp('Гипотеза Мизеса-Смирнова выполняется');

else

disp('Гипотеза Мизеса-Смирнова не выполняется');

end

[h,p] = chi2gof(x);

h,p

if h==0

disp('Гипотеза принимается')

else

disp('Гипотеза не принимается')

end;

Вывод

В ходе выполнения лабораторной работы были изучены методы проверки гипотезы о законе распределения, а также приобретены навыки проверки гипотезы о законе распределения в системе Matlab.

Соседние файлы в папке smodlabs