
СМОД – Статистические методы обработки данных / Лаба 1 - 8 / smodlabs / smod_lab8
.docxМинистерство образования Республики Беларусь
Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Факультет информационных технологий и управления
Кафедра информационных технологий автоматизированных систем
Лабораторная работа №8
«Проверка гипотезы о законе распределения»
Выполнили: |
Проверил: |
студенты гр. 020602 |
Муха В.С. |
Красовская М. |
|
Сазонова Е. Соколова Е. |
|
Минск 2013
1 ЦЕЛЬ РАБОТЫ
1.1 Изучение методов проверки гипотезы о законе распределения.
1.2. Получение навыков проверки гипотезы о законе распределения в системе Matlab.
2 ЗАДАНИЕ
2.1. Получить выборки объема n=100 из распределений, приведенных в лабораторной работе № 1. Проверить гипотезу о законе распределения приведёнными в п. 8.2.2 данной работы критериями, написав собственные m-файлы.
2.2. Сравнить результаты проверки гипотезы по критерию хи-квадрат с результатами проверки с помощью стандартной программы Matlab g08cgf.
-
ХОД РАБОТЫ
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.