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 меньше критического значения , то гипотеза о том, что обе выборки описаны экспоненциальной функцией распределения, принимается.


 

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

70770. РАБОТА С СУБД ACCESS 2000. СОЗДАНИЕ ПРОСТЕЙШЕЙ БАЗЫ ДАННЫХ МАЛОГО ПРЕДПРИЯТИЯ 566.5 KB
  Требуется создать БД предприятия, занимающегося мелкооптовыми поставками товара. Специализация МП определяется типом товара. В качестве возможных вариантов специализации предлагаются: продукты питания; бытовая техника; компьютеры и комплектующие; строительные материалы...
70771. Создание запросов. Запрос с параметрами 44.5 KB
  Именно для этого служат запросы. Запрос это временная таблица. Это значит что данные в них не хранятся постоянно а только временно вызываются из таблиц по заранее заданному шаблону в момент активизации запроса.
70772. Исследование нелинейных цепей постоянного тока 293.5 KB
  В одной системе координат построить вольт–амперные характеристики нелинейных элементов и результирующие расчётные ВАХ цепи при последовательном параллельном и смешанном соединениях элементов. Результаты измерений Таблица № 1 Снятие ВАХ нелинейных элементов Rn1 и Rn2.
70774. Исследование зеркальной антенны (ЗА) 207.5 KB
  Экспериментально выяснить влияние смещения облучателя ЗА из фокуса параболоидного зеркала антенны на ширину и направление главного лепестка характеристики направленности антенны.
70775. Определение коэффициента вязкости жидкости методом Стокса 170.5 KB
  Цель работы: Изучить явление переноса на примере внутреннего трения; определить динамический и кинематический коэффициент вязкости жидкости. Для явления внутреннего трения справедлив закон Ньютона: градиент скорости динамический коэффициент вязкости...
70776. Изучение основных схем включения операционных усилителей 125.5 KB
  ОУ выполняются в виде интегральной полупроводниковой микросхемы которая содержит несколько транзисторных каскадов усиления напряжения причем входной каскад всегда выполняется по дифференциальной параллельно-симметричной схеме выходной каскад усиления тока и цепи...
70777. Исследование входных и выходных характеристик транзисторов 104.5 KB
  Для данного транзистора используя справочные данные определить тип цоколевку и выписать эксплуатационные параметры. Составить принципиальную схему для исследования входных и выходных характеристик транзистора в схеме с общим эмиттером с учетом его структуры.
70778. Исследование диаграмм срыва и нагрузочных характеристик автогенератора 157.5 KB
  В начале данной лабораторной работы были сняты зависимости амплитуды переменного напряжения на управляющем электроде затворе полевого транзистора от напряжения смещения при двух коэффициентов включения К1=15 и К2=05.