exponenta event banner

chi2gof

Тест пригодности хи-квадрат

Описание

пример

h = chi2gof(x) возвращает тестовое решение для нулевой гипотезы, что данные в векторе x происходит из нормального распределения со средним и отклонением, оцененным из x, используя тест пригодности хи-квадрат. Альтернативная гипотеза заключается в том, что данные не исходят из такого распределения. Результат h является 1 если тест отклоняет нулевую гипотезу на уровне значимости 5%, и 0 в противном случае.

пример

h = chi2gof(x,Name,Value) Возвращает тестовое решение для теста хи-квадрат goodness-of-fit с дополнительными опциями, заданными одним или несколькими аргументами пары имя-значение. Например, можно проверить распределение, отличное от обычного, или изменить уровень значимости теста.

пример

[h,p] = chi2gof(___) также возвращает значение p p теста гипотезы, используя любой из входных аргументов из предыдущих синтаксисов.

пример

[h,p,stats] = chi2gof(___) также возвращает структуру stats, содержащий информацию о статистике теста.

Примеры

свернуть все

Создайте стандартный нормальный объект распределения вероятностей. Создание вектора данных x используя случайные числа из распределения.

pd = makedist('Normal');
rng default;  % for reproducibility
x = random(pd,100,1);

Проверьте нулевую гипотезу, что данные в x происходит от населения с нормальным распределением.

h = chi2gof(x)
h = 0

Возвращенное значение h = 0 указывает, что chi2gof не отклоняет нулевую гипотезу на уровне значимости по умолчанию 5%.

Создайте стандартный нормальный объект распределения вероятностей. Создание вектора данных x используя случайные числа из распределения.

pd = makedist('Normal');
rng default;  % for reproducibility
x = random(pd,100,1);

Проверьте нулевую гипотезу, что данные в x происходит от населения с нормальным распределением на уровне значимости 1%.

[h,p] = chi2gof(x,'Alpha',0.01)
h = 0
p = 0.3775

Возвращенное значение h = 0 указывает, что chi2gof не отвергает нулевую гипотезу на уровне значимости 1%.

Загрузите образец срока службы лампочки.

load lightbulb

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

x = lightbulb(:,1);

Проверьте нулевую гипотезу, что данные в x происходит от населения с распределением Вейбулла. Использовать fitdist для создания объекта распределения вероятностей с помощью A и B параметры, оцененные по данным.

pd = fitdist(x,'Weibull');
h = chi2gof(x,'CDF',pd)
h = 1

Возвращенное значение h = 1 указывает, что chi2gof отклоняет нулевую гипотезу на уровне значимости по умолчанию 5%.

Создайте шесть ячеек с номерами от 0 до 5 для использования в пуле данных.

bins = 0:5;

Создайте вектор, содержащий наблюдаемые счетчики для каждой ячейки, и вычислите общее количество наблюдений.

obsCounts = [6 16 10 12 4 2];
n = sum(obsCounts);

Поместите объект распределения вероятности Пуассона в данные и вычислите ожидаемое число для каждого элемента. Использовать оператор транспонирования .' преобразовать bins и obsCounts от векторов строк к векторам столбцов.

pd = fitdist(bins','Poisson','Frequency',obsCounts');
expCounts = n * pdf(pd,bins);

Проверьте нулевую гипотезу, что данные в obsCounts происходит из распределения Пуассона с лямбда-параметром, равным lambdaHat.

[h,p,st] = chi2gof(bins,'Ctrs',bins,...
                        'Frequency',obsCounts, ...
                        'Expected',expCounts,...
                        'NParams',1)
h = 0
p = 0.4654
st = struct with fields:
    chi2stat: 2.5550
          df: 3
       edges: [-0.5000 0.5000 1.5000 2.5000 3.5000 5.5000]
           O: [6 16 10 12 6]
           E: [7.0429 13.8041 13.5280 8.8383 6.0284]

Возвращенное значение h = 0 указывает, что chi2gof не отклоняет нулевую гипотезу на уровне значимости по умолчанию 5%. Вектор E содержит ожидаемые счетчики для каждого bin при нулевой гипотезе, и O содержит наблюдаемые счетчики для каждой ячейки.

Использовать функцию распределения вероятностей normcdf в качестве дескриптора функции в тесте пригодности хи-квадрат (chi2gof).

Проверка нулевой гипотезы о том, что данные выборки во входном векторе x происходит от нормального распределения, при котором параметрыmean) и стандартное отклонение (std) данных выборки, соответственно.

rng('default') % For reproducibility
x = normrnd(50,5,100,1);
h = chi2gof(x,'cdf',{@normcdf,mean(x),std(x)})
h = 0

Возвращенный результат h = 0 указывает, что chi2gof не отклоняет нулевую гипотезу на уровне значимости по умолчанию 5%.

Входные аргументы

свернуть все

Образец данных для проверки гипотезы, указанный как вектор.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'NBins',8,'Alpha',0.01 объединяет данные в восемь ячеек и проводит тест гипотезы на уровне значимости 1%.

Количество ячеек для использования в пуле данных, указанное как разделенная запятыми пара, состоящая из 'NBins' и положительное целое значение. Если указано значение для NBins, не указывайте значение для Ctrs или Edges.

Пример: 'NBins',8

Типы данных: single | double

Центры ячеек, указанные как разделенная запятыми пара, состоящая из 'Ctrs' и вектор значений центра для каждой ячейки. Если указано значение для Ctrs, не указывайте значение для NBins или Edges.

Пример: 'Ctrs',[1 2 3 4 5]

Типы данных: single | double

Ребра ячейки, указанные как разделенная запятыми пара, состоящая из 'Edges' и вектор краевых значений для каждой ячейки. Если указано значение для Edges, не указывайте значение для NBins или Ctrs.

Пример: 'Edges',[-2.5 -1.5 -0.5 0.5 1.5 2.5]

Типы данных: single | double

Cdf гипотетического распределения, определяемого как разделенная запятыми пара, состоящая из 'CDF' и объект распределения вероятности, дескриптор функции или массив ячеек.

  • Если CDF является объектом распределения вероятности, степени свободы учитывают, оцениваете ли вы параметры с помощью fitdist или укажите их с помощью makedist.

  • Если CDF является дескриптором функции, функция распределения должна принимать x в качестве единственного аргумента.

  • Если CDF является массивом ячеек, первый элемент должен быть дескриптором функции, а остальные элементы должны быть значениями параметров, по одному на ячейку. Функция должна принимать x в качестве первого аргумента и другие параметры в массиве в качестве последующих аргументов.

Если указано значение для CDF, не указывайте значение для Expected.

Пример: 'CDF',pd_object

Типы данных: single | double

Ожидаемые счетчики для каждой ячейки, указанные как пара, разделенная запятыми 'Expected' и вектор неотрицательных значений. Если Expected зависит от расчетных параметров, использования NParams обеспечить, чтобы chi2gof корректно вычисляет степени свободы. Если указано значение для Expected, не указывайте значение для CDF.

Пример: 'Expected',[19.1446 18.3789 12.3224 8.2432 4.1378]

Типы данных: single | double

Количество оценочных параметров, используемых для описания нулевого распределения, указанного как пара, разделенная запятыми, состоящая из 'NParams' и положительное целое значение. Это значение корректирует степени свободы теста на основе количества расчетных параметров, используемых для вычисления cdf или ожидаемых счетчиков.

Значение по умолчанию для NParams зависит от способа указания нулевого распределения:

  • При указании CDF как объект распределения вероятности, NParams равно количеству расчетных параметров, использованных для создания объекта.

  • При указании CDF в качестве имени функции или дескриптора, значение по умолчанию NParams является 0.

  • При указании CDF как массив ячеек, значение по умолчанию NParams - количество параметров в массиве.

  • При указании Expected, значение по умолчанию NParams является 0.

Пример: 'NParams',1

Типы данных: single | double

Минимальное ожидаемое количество на ячейку, указанное как пара, разделенная запятыми, состоящая из 'EMin' и неотрицательное целое значение. Если бункер на крайнем конце любого хвоста имеет ожидаемое значение менее EMin, он объединяется с соседним бункером до тех пор, пока число в каждом крайнем бункере не составит по меньшей мере 5. Если какие-либо внутренние ячейки имеют количество менее 5, chi2gof отображает предупреждение, но не объединяет внутренние ячейки. В этом случае следует использовать меньшее количество складских мест или предоставить центры или края складских мест для увеличения ожидаемого количества во всех складских местах. Определить EMin как 0 для предотвращения комбинирования ячеек.

Пример: 'EMin',0

Типы данных: single | double

Частота значений данных, определяемая как разделенная запятыми пара, состоящая из 'Frequency' и вектор неотрицательных целых значений, длина которого равна длине вектора x.

Пример: 'Frequency',[20 16 13 10 8]

Типы данных: single | double

Уровень значимости теста гипотезы, определяемый как пара, разделенная запятыми, состоящая из 'Alpha' и скалярное значение в диапазоне (0,1).

Пример: 'Alpha',0.01

Типы данных: single | double

Выходные аргументы

свернуть все

Результат проверки гипотезы, возвращенный как 1 или 0.

  • Если h = 1, это указывает на отклонение нулевой гипотезы в Alpha уровень значимости.

  • Если h = 0, это указывает на отказ отклонить нулевую гипотезу в Alpha уровень значимости.

p-значение теста, возвращаемое как скалярное значение в диапазоне [0,1]. p - вероятность наблюдения проверочной статистики как экстремальной или более экстремальной, чем наблюдаемая величина при нулевой гипотезе. Малые значения p поставить под сомнение достоверность нулевой гипотезы.

Статистика тестирования, возвращенная в виде структуры, содержащей следующее:

  • chi2stat - Значение статистики теста.

  • df - Степени свободы теста.

  • edges - Вектор ребер ячейки после объединения.

  • O - Вектор наблюдаемых отсчетов для каждого бункера.

  • E - Вектор ожидаемых счетчиков для каждого ячейки.

Подробнее

свернуть все

Тест на благость хи-квадрат

Критерий пригодности хи-квадрат определяет, идет ли выборка данных из заданного распределения вероятностей с параметрами, оцененными из данных.

Тест группирует данные в ячейки, вычисляя наблюдаемые и ожидаемые счетчики для этих ячеек и вычисляя статистику теста хи-квадрат.

χ2=∑i=1N (Oi Ei) 2/Ei,

где Oi - наблюдаемые счетчики, а Ei - ожидаемые счетчики, основанные на предполагаемом распределении. Статистика теста имеет приблизительное распределение хи-квадрат, когда подсчеты достаточно велики.

Алгоритмы

chi2gof сравнивает значение тестовой статистики с распределением хи-квадрат со степенями свободы, равными nbins - 1 - nпарамам, где nbins - количество ячеек, используемых для объединения данных, а nparams - количество оценочных параметров, используемых для определения ожидаемых счетчиков. Если для проведения теста недостаточно степеней свободы, chi2gof возвращает значение p как NaN.

Расширенные возможности

Представлен до R2006a