runstest

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

Синтаксис

h = runstest(x)
h = runstest(x,v)
h = runstest(x,'ud')
h = runstest(___,Name,Value)
[h,p,stats] = 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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 Тестовая статистическая величина

Смотрите также

|

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