Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 ПРОВЕРКА НА СЛУЧАЙНЫХ ПРОЦЕССОВ НА СТАЦИОНАРН...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
801.28 Кб
Скачать

2.1.3.Критерий Бартлета

Рассчитывается средневзвешенное значение дисперсии:

и величины

где n - число сравниваемых дисперсий.

Если выполняется равенство

где - табличное значение для с степенями свободы (приложение Д), различия между дисперсиями можно считать не значимыми, а сами дисперсии - однородными.

Проверка по критерию Бартлета реализована в MATLAB в виде функции barttest, имеющей следующий синтаксис:

[ndim,prob,chisquare] = barttest(x,alpha)

x – матрица, столбцами которой являются выборки, дисперсии которых сравниваются;

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

chisquare -

prob -

ndim – параметр, значение которого позволяет сделать вывод. При ndim=1 принимается гипотеза о равенстве выборочных дисперсий. При ndim=1 принимается альтернативная гипотеза.

Продолжим выполнение ИДЗ по сравнению выборок. Введем из файла данные по нескольким выборкам. Тот образец данных, который здесь обрабатывается по умолчанию, можно переписать отсюда. Найдем количество выборок, их объемы, числа степеней свободы. Посчитаем средние и дисперсии. Зададим уровень значимости. Проверим 0-гипотезу (22.19) по критерию Бартлета и сделаем вывод.

ndim=0;

[n,k]=size(x); % объем каждой выборки и их количество

f=n-1;

fprintf('Число выборок: k=%d;\nобъемы выборок: n=%d;\n',k,n);

fprintf('число степеней свободы каждой выборки f=%d.\n',f);

mx=mean(x); % средние столбцов

Dx=var(x); % дисперсии столбцов

disp('Математические ожидания:')

fprintf('mx(%d)=%8.5f\n',[1:k;mx]);

disp('Дисперсии:')

fprintf('Dx(%d)=%8.5f\n',[1:k;Dx]);

q=0.001; % уровень значимости

fprintf('Выбрали уровень значимости q=%5.6f\n',q);

[ndim,prob,chisquare]=barttest(x,q); % тест по критерию Бартлета

fprintf('Критическое значение хи-квадрат=%5.3f\n',chisquare);

ndim

prob

if isnan(ndim) | (ndim==1), % делаем вывод

disp('Принимаем 0-гипотезу.')

else

disp('Отвергаем 0-гипотезу.')

end

2.2.Сравнение средних

Имеется k генеральных совокупностей: Х1, Х2, , Хk. Из каждой взята выборка объемом n1, n2, , nk. соответственно. По этим выборкам вычислены выборочные математические ожидания m1, m2, , mk, а затем – выборочные дисперсии D1, D2, , Dk. Проверяется 0-гипотеза о равенстве генеральных математических ожиданий:

m1=m2==mk.

Проще всего сравнить крайние (максимальное и минимальное) средние по t-критерию Стьюдента. Если они различаются незначимо, то все средние тем более различаются незначимо, и 0-гипотезу можно принять. Но если максимальное и минимальное средние различаются значимо, то нужно сравнивать все средние одновременно.

2.2.1.Критерий Стьюдента

Этот критерий служит для сравнения двух средних m1 и m2 выборок объемом n1 и n2 соответственно, если различие между дисперсиями D1 и D2 незначимо на заданном уровне значимости q. 0-гипотеза принимается, если

,

где квантиль t-распределения Стьюдента (приложение Г) с числом степеней свободы ;

- выборочное среднеквадратичное отклонение.

В MATLAB сравнивает два средних при любых выборочных дисперсиях функция ttest2, имеющая синтаксис:

[h,significance,ci,stats] = ttest2(x,y,alpha)

x,y – векторы с данными выборок, средние которых сравниваются;

alpha - заданный уровень значимости;

h – возвращаемый параметр. Если h =1, то 0-гипотезе отвергается. Если h =0, то 0-гипотезе принимается.

significance – критический уровень значимости;

ci – границы доверительного интервала;

stats – структура, содержащая значения:

tstat – t-статистика;

df – число степеней свободы;

sd - оценка среднеквадратичного отклонения в случае равенства дисперсий, и вектор с оценками среднеквадратичных отклонений для случая, когда дисперсии не равны.

Ниже приведен пример М-файла, позволяющего выполнить тестирование двух выборок, записанных в первом и втором столбцах матрицы х, по критерию Стьюдента и сделать вывод относительно равенства средних.

q=0.1;

[hm,pm,cm,sm] = ttest2(x(:,1),x(:,2),q); % сравнение средних

fprintf(['Доверительный интервал: '...

'%12.8f<=m1-m2<=%12.8f.\n'],cm);

if all(cm<0), % весь доверительный интервал <0

disp('Принимаем альтернативную гипотезу m1<m2.');

elseif all(cm>0), % весь доверительный интервал >0

disp('Принимаем альтернативную гипотезу m1>m2.');

else

disp('Принимаем 0-гипотезу m1=m2.');

end

fprintf(['Критический уровень значимости=%12.8f.\n'],pm);

sm