runstest

Запустите тест на случайность

Описание

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

пример

h = runstest(x,v) возвращает решение теста, основанное на количестве запусков последовательных значений выше или ниже заданного опорного значения v. Значения, точно равные v отбрасываются.

h = runstest(x,'ud') возвращает решение теста, основанное на количестве запусков вверх или вниз. Слишком мало запуски указывают на тренд, в то время как слишком много запуски указывают на колебание. Значения, точно равные предыдущему значению, отбрасываются.

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

[h,p,stats] = runstest(___) также возвращает p -значение теста p, и структуру stats содержащий дополнительные данные о тесте.

Примеры

свернуть все

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

rng default;  % for reproducibility
x = randn(40,1);

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

[h,p] = runstest(x,median(x))
h = 0
p = 0.8762

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

Входные параметры

свернуть все

Вектор данных, заданный как вектор скалярных значений. runstest лечит NaN значения в x как отсутствующие значения, и игнорирует их.

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

Ссылочное значение, заданное как скалярное значение. Если вы задаете значение для v, затем runstest выполняет проверку гипотезы на основе количества запусков последовательных значений выше или ниже v. runstest отбрасывает значения, точно равные v.

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

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

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

Пример: 'Alpha',0.01,'Method','Approximate','Tail','right' задает правохвостый тест с уровнем значимости 1%, который возвращает приблизительное p-значение.

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

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

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

Метод, используемый для вычисления p -значение, заданный как разделенная разделенными запятой парами, состоящая из 'Method' и любой из них 'exact' использовать точный алгоритм, или 'approximate' для использования нормального приближения. Значение по умолчанию является 'exact' для запусков выше/ниже, и для запусков вверх/вниз, когда длина x меньше или равно 50. Если runstest тесты для запусков вверх/вниз и длины x больше 50, тогда по умолчанию это 'approximate', и 'exact' метод недоступен.

Пример: 'Method','approximate'

Тип альтернативной гипотезы, заданный как разделенная запятыми пара, состоящая из 'Tail' и одно из следующих.

'both'Двуххвостый тест (последовательность не случайна)
'right'Правохвостый тест (как и отдельные значения для запусков выше/ниже, направление чередуется для запусков вверх/вниз)
'left'Левохвостый тест (как и кластер значений для запусков выше/ниже, тренд значений для запусков вверх/вниз)

Пример: 'Tail','right'

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

свернуть все

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

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

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

Результат в runstest основан на количестве запусков последовательных значений выше или ниже среднего значения x. Слишком мало запуски указывают на склонность к кластеру с высокими и низкими значениями. Слишком много запуски указывают на тенденцию к чередованию высоких и низких значений.

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

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

p вычисляется из тестовой статистики или точного распределения количества запусков зависимости от значения, заданного для 'Method' аргумент пары "имя-значение".

Тестовые данные, возвращенные как структура со следующими полями.

  • nruns - Количество запусков

  • n1 - Количество значений выше v

  • n0 - Количество значений ниже v

  • z - Тестовая статистика

Ссылки

[1] Гиббонс, Джин Дикинсон и Субабрата Чакраборти. Непараметрический статистический вывод. 5th ed. Boca Raton: CRC Press, 2011.

См. также

|

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