Выполните Тест хи-квадрата

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Для классического теста качества подгонки хи-квадрата MuPAD® обеспечивает функцию stats::csGOFT. Эта функция позволяет вам протестировать данные против произвольного функционального f. Например, можно задать f при помощи любой из кумулятивных функций распределения, функций плотности вероятности и функций дискретной вероятности, доступных в библиотеке MuPAD Statistics. Также можно задать f при помощи собственной функции распределения. Например, создайте последовательность данных x, который содержит тысячу случайных записей:

reset()
f := stats::normalRandom(0, 1/2):
x := f() $ k = 1..1000:

Предположим, вы хотите протестировать, нормально распределены ли записи той последовательности со средним значением, равным 0 и отклонение, равное 1/2. Классический тест хи-квадрата использует следующий подход с тремя шагами:

  1. Разделите строку действительных значений на несколько интервалов (также названный интервалами или ячейками).

  2. Вычислите количество элементов данных в каждом интервале.

  3. Сравните те числа с числами, ожидаемыми для заданного распределения.

Когда вы используете функцию stats::csGOFT, задаете границы ячейки в качестве аргумента. Необходимо задать по крайней мере три ячейки. Рекомендуемое минимальное количество ячеек для выборки элементов данных n. Рекомендуемый метод для определения ячеек должен использовать функцию stats::equiprobableCells. Эта функция создает равновероятные ячейки, когда базовое распределение непрерывно:

q := stats::normalQuantile(0, 1/2):
cells := stats::equiprobableCells(40, q):

Теперь, вызовите функцию stats::csGOFT, чтобы протестировать последовательность данных x. Например, сравните x с совокупной функцией нормального распределения с тем же средним значением и отклонением. stats::csGOFT возвращает большое p-значение для этого теста. Поэтому нулевая гипотеза (x нормально распределен со средним значением, равным 0 и отклонение, равное 1/2) проходит этот тест. Помимо p-значения, stats::csGOFT возвращает наблюдаемую величину статистики хи-квадрата и минимум ожидаемых частот ячейки:

stats::csGOFT(x, cells, CDF = stats::normalCDF(0, 1/2))

stats::csGOFT позволяет вам протестировать данные против любой функции распределения. Например, тестируя последовательность x против функции плотности вероятности дает тот же результат:

stats::csGOFT(x, cells, PDF = stats::normalPDF(0, 1/2))

Если вы тестируете ту же последовательность данных x против функции нормального распределения с различными значениями среднего значения и отклонения, stats::csGOFT возвращает p-значение, которое является ниже типичного уровня 0.05 значения. Нулевая гипотеза не проходит тест:

stats::csGOFT(x, cells, CDF = stats::normalCDF(0, 1))