6432

Проверка гипотезы совпадения экспериментального закона с теоретическим по критерию Колмогорова

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

Информатика, кибернетика и программирование

Проверка гипотезы совпадения экспериментального закона с теоретическим по критерию Колмогорова Этапы задания и результаты их реализации. Задание 1. Разобраться в теоретическом материале Задание 2. Проверить с помощью критерия Колмогорова, подч...

Русский

2013-01-04

25.47 KB

6 чел.

Проверка гипотезы совпадения экспериментального закона с теоретическим по критерию Колмогорова

Этапы задания и результаты их реализации.

Задание 1. Разобраться в теоретическом материале

Задание 2.  Проверить с помощью критерия Колмогорова, подчиняется ли заданное распределение гаусовскому нормальному закону распределения.

 Код программы для Scilab:

load('C:\xp.dat', 'x')

// задание количества отрезков

k=6;

n=length(x);

maxx=max(x);

minx=min(x);

h=(maxx-minx)/k;

//задание левых границ отрезков

lg=minx:h:maxx-h;

//задание правых границ отрезков

rg=minx+h:h:maxx;

rg=[lg(1) rg];

lg=[100 lg]; k=k+1;

disp('левые границы')

disp(lg)

disp('правые границы')

disp(rg)

// вычисление частот

m=zeros(k,1);

for i=1:k-1

m(i)=sum((lg(i)<=x)&(x<rg(i)));

end m(k)=sum((lg(k)<=x)&(x<=rg(k)));

disp('Значение частот на отрезках')

disp(m)

//вычисление математического ожидания

a=sum(x)/n

//вычисление дисперсии и среднеквадратического отклонения

d=sum((x-a).^2)/n

s=sqrt(d)

// получение нормализованных значений u

u=100; u=[u (rg-a)/s];

disp('Нормализованные границы отрезков')

disp(u) // вычисление значений эмпирической функции

//для правого конца отрезка

empf=[];

for i=1:k

ef=sum(m(1:i))/n;

empf=[empf ; ef]

end

disp('Эмпирическая функция распределения')

disp (empf)

// Вычисление значений функции Лапласса от значений u

function y=phi(x)

deff('z=f(t)','z=exp(-t^2/2)');

y=(2/sqrt(2*%pi))*intg(0,x,f);

endfunction

// вычисление значений теоретической функции распределения

// для правого конца отрезка

tf=zeros(k,1);

for i=1:k

tf(i)=0.5+0.5*phi(u(i+1));

end

disp('Теоретическая функция распределения')

disp(tf)

// вычисление разности эмпирической и теоретической функций

disp('Разность эмпирической и теоретической функций')

razn=abs(empf-tf)

disp(razn)

// вычисление критерия lambda Колмогорова

disp('вычисление критерия lambda Колмогорова')

lk=max(razn)

disp(lk)

disp('вычисление lambda наблюдаемого')

lnabl=lk*sqrt(n)

disp('вычисление lambda критического')

function [f]=rkolm(x)

// вычисление функции Колмогорова

// в виде бесконечной суммы

eps=10^(-6);

y=0;

l=-1;

for k=1:100

s=l*exp(-2*k^2*x^2);

y=y+2*s;

l=-l;

if abs(s)<eps then

break

end

end

f=-y;

endfunction

// вычислениек квантили для alpha=0.1

// с использованием метода деления отрезка пополам

function z=func(x)

alpha=0.1; // уровень значимости

z=rkolm(x)-alpha;

endfunction

eps=10^(-4);

a=0.04;

b=4;

c=(a+b)/2;

for i=1:100

if func(a)*func(c)<0 then

b=c;

else a=c;

end

c=(a+b)/2;

if abs(func(c))<eps then

   break

end

end

disp('lambda критическое:')

disp(c)

disp('lambda наблюдаемое:')

lnabl=lk*sqrt(n)

disp(lnabl)

 Результат работы программы:

левые границы   

 

   100.    1.3757245    1.9131985    2.4506724    2.9881464    3.5256203    4.0630943  

 

правые границы   

 

   1.3757245    1.9131985    2.4506724    2.9881464    3.5256203    4.0630943    4.6005682  

 

Значение частот на отрезках   

 

   0.    

   18.   

   146.  

   356.  

   334.  

   132.  

   14.   

 

Нормализованные границы отрезков   

 

   100.  - 3.087482  - 2.0467051  - 1.0059283    0.0348485    1.0756254    2.1164022    3.157179  

 

Эмпирическая функция распределения   

 

   0.     

   0.018  

   0.164  

   0.52   

   0.854  

   0.986  

   1.     

Внимание : переопределение функции : phi                     . Выполните funcprot(0) для отключения этого сообщения

 

Теоретическая функция распределения   

 

   0.0010093  

   0.0203435  

   0.1572250  

   0.5138997  

   0.8589526  

   0.9828447  

   0.9992035  

 

Разность эмпирической и теоретической функций   

 

   0.0010093  

   0.0023435  

   0.0067750  

   0.0061003  

   0.0049526  

   0.0031553  

   0.0007965  

 

вычисление критерия lambda Колмогорова   

 

   0.0067750  

 

вычисление lambda наблюдаемого   

 

вычисление lambda критического   

Внимание : переопределение функции : rkolm                   . Выполните funcprot(0) для отключения этого сообщения

 

вычисление lambda критического   

 

lambda критическое:   

 

   1.2238428  

 

lambda наблюдаемое:   

 

   0.2142434

 Вывод: Так как  наблюдаемое значение lambda меньше, чем критическое значение, то гипотеза о том, что заданная выборка подчинена нормальному закону распределения, принимается.

Задание 3. Проверить, извлечены ли данные две выборки из одной и той же генеральной выборки с гипотетической функцией экспоненциального распределения.

 Код программы для Scilab:

clf();

load('C:\rp.dat', 'x1')

// задание количества отрезков

k=6;

n1=length(x1);

maxx=max(x1);

minx=min(x1);

h=(maxx-minx)/k;

//задание левых границ отрезков

lg=minx:h:maxx-h;

//задание правых границ отрезков

rg=minx+h:h:maxx;

rg=[lg(1) rg];

lg=[100 lg]; k=k+1;

disp('левые границы')

disp(lg)

disp('правые границы')

disp(rg)

// вычисление частот

m=zeros(k,1);

for i=1:k-1

m(i)=sum((lg(i)<=x1)&(x1<rg(i)));

end m(k)=sum((lg(k)<=x1)&(x1<=rg(k)));

disp('Значение частот на отрезках')

disp(m)

//вычисление математического ожидания

a=sum(x1)/n1

//вычисление дисперсии и среднеквадратического отклонения

d=sum((x1-a).^2)/n1

s=sqrt(d)

// получение нормализованных значений u

u=100; u=[u (rg-a)/s];

disp('Нормализованные границы отрезков')

disp(u) // вычисление значений эмпирической функции

//для правого конца отрезка

empf=[];

for i=1:k

ef=sum(m(1:i))/n1;

empfx1=[empf ; ef]

end

disp('Эмпирические функции распределения x1')

disp (empfx1)

//теперь то же самое считаем для x2

load('C:\rp.dat', 'x2')

// задание количества отрезков

k=6;

n2=length(x2);

maxx=max(x2);

minx=min(x2);

h=(maxx-minx)/k;

//задание левых границ отрезков

lg=minx:h:maxx-h;

//задание правых границ отрезков

rg=minx+h:h:maxx;

rg=[lg(1) rg];

lg=[100 lg]; k=k+1;

disp('левые границы')

disp(lg)

disp('правые границы')

disp(rg)

// вычисление частот

m=zeros(k,1);

for i=1:k-1

m(i)=sum((lg(i)<=x2)&(x2<rg(i)));

end m(k)=sum((lg(k)<=x2)&(x2<=rg(k)));

disp('Значение частот на отрезках')

disp(m)

//вычисление математического ожидания

a=sum(x2)/n2

//вычисление дисперсии и среднеквадратического отклонения

d=sum((x2-a).^2)/n2

s=sqrt(d)

// получение нормализованных значений u

u=100; u=[u (rg-a)/s];

disp('Нормализованные границы отрезков')

disp(u) // вычисление значений эмпирической функции

//для правого конца отрезка

empf=[];

for i=1:k

ef=sum(m(1:i))/n2;

empfx2=[empf ; ef]

end

disp('Эмпирические функции распределения x2')

disp (empfx2)

//Вычисление разницы между полученными эмпирическими функциями

// вычисление разности эмпирической и теоретической функций

disp('Разности эмпирических функций')

razn=abs(empfx1-empfx2)

disp(razn)

// вычисление критерия lambda Колмогорова

disp('вычисление критерия lambda Колмогорова')

lk=max(razn)

disp(lk)

disp('вычисление lambda наблюдаемого')

n=(n1*n2)/(n1+n2)

lnabl=lk*sqrt(n)

//оценка лямбда

l1=1/a

//находим минимальное и максимальное значение выборки

a=max(x1)

b=min(x1)

//находим критическое значение лямбда

lkrit=exp(-1*l1*a)*(-1)+exp(-1*l1*b)

 

 Результат работы программы:

левые границы   

 

   100.    0.0071739    3.0111876    6.0152012    9.0192149    12.023229    15.027242  

 

правые границы   

 

   0.0071739    3.0111876    6.0152012    9.0192149    12.023229    15.027242    18.031256  

 

Значение частот на отрезках   

 

   0.    

   780.  

   169.  

   40.   

   7.    

   1.    

   3.    

a  =

 

   2.0681452  

d  =

 

   4.3951147  

s  =

 

   2.0964529  

 

Нормализованные границы отрезков   

 

   100.  - 0.9830754    0.4498276    1.8827306    3.3156336    4.7485366    6.1814396    7.6143427  

empfx1  =

 

   0.  

empfx1  =

 

   0.78  

empfx1  =

 

   0.949  

empfx1  =

 

   0.989  

empfx1  =

 

   0.996  

empfx1  =

 

   0.997  

empfx1  =

 

   1.  

 

Эмпирические функции распределения x1   

 

   1.  

 

левые границы   

 

   100.    0.0035934    2.8415574    5.6795214    8.5174854    11.355449    14.193413  

 

правые границы   

 

   0.0035934    2.8415574    5.6795214    8.5174854    11.355449    14.193413    17.031377  

 

Значение частот на отрезках   

 

   0.    

   845.  

   117.  

   29.   

   5.    

   1.    

   3.    

a  =

 

   1.5551304  

d  =

 

   3.4858643  

s  =

 

   1.867047  

 

Нормализованные границы отрезков   

 

   100.  - 0.8310113    0.6890169    2.2090451    3.7290733    5.2491015    6.7691297    8.2891579  

empfx2  =

 

   0.  

empfx2  =

 

   0.845  

empfx2  =

 

   0.962  

empfx2  =

 

   0.991  

empfx2  =

 

   0.996  

empfx2  =

 

   0.997  

empfx2  =

 

   1.  

 

Эмпирические функции распределения x2   

 

   1.  

 

Разности эмпирических функций   

razn  =

 

   0.  

 

   0.  

 

вычисление критерия lambda Колмогорова   

lk  =

 

   0.  

 

   0.  

 

вычисление lambda наблюдаемого   

n  =

 

   500.  

lnabl  =

 

   0.  

l1  =

 

   0.6430329  

a  =

 

   18.031256  

b  =

 

   0.0071739  

lkrit  =

 

   0.9953884

Вывод: Так как  наблюдаемое значение lambda меньше критического значения , то гипотеза о том, что обе выборки описаны экспоненциальной функцией распределения, принимается.


 

А также другие работы, которые могут Вас заинтересовать

63801. Характеристика уровней и структур причин заболеваемости 27 KB
  В структуре причин с возрастом все большую роль играют несчастные случаи и инфекционные заболевания. У женщин до 20 лет болезни связанные с беременностью с возрастом больше проявляются хронические заболевания. После 60 лет выявляются на 1 больного 25 3 заболевания...
63802. Заболеваемость с временной утратой трудоспособности 26 KB
  Единицей наблюдения при изучении заболеваемости с ВУТ является каждый случай временной нетрудоспособности в связи с заболеванием или травмой в данном году. Учетным документом служит листок нетрудоспособности который является не только медицинским...
63803. Инвалидность и инвалидизация населения 24.5 KB
  В России средний уровень инвалидности колеблется от 40 до 49 на 10000 жителей. 3 группы инвалидности: 1 группа полная утрата способности к регулярному профессиональному труду в обычных условиях и нуждающихся в постоянном уходе.
63805. Организация медицинской помощи городскому населению 25.5 KB
  В настоящее время в России основными стационарными учреждениями являются центральные районные городские областные и республиканские больницы. В первую группу входят больницы которые обслуживают только местное население и выполняют локальные функции.
63806. Поликлиника 35.5 KB
  Кабинет доврачебного приема Отделение профилактики в крупных поликлиниках. Лечебно-профилактическое отделение: кабинеты участковых терапевтов; подростковый кабинет; специальные кабинеты неврологический лор и др.
63808. Стационарная помощь 32 KB
  Обеспеченность койками должна быть 134 на 10000 населения к 2000 году планировалось до 148 коек в мире 45 коек развитые страны 130 140 коек на 10000 населения. По мощности определяется количеством коек: первой категории 8001000 коек.