chi2gof

Критерий согласия Хи-квадрат

Описание

пример

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

пример

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

пример

[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 прибывает из населения с распределением Weibull. Используйте 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 прибывает из распределения Пуассона параметром lambda, равным 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 содержит ожидаемые счета для каждого интервала по нулевой гипотезе и 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(OiEi)2/Ei,

где O, i является наблюдаемыми количествами и E i, является ожидаемыми количествами на основе предполагавшегося распределения. Тестовая статистическая величина имеет аппроксимированное распределение хи-квадрат, когда количества являются достаточно большими.

Алгоритмы

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

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

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