Как выполнить тестирование времени выполнения в python
Тестирование запуска — это статистический тест, используемый для определения того, является ли набор данных результатом случайного процесса.
Нулевая и альтернативная гипотезы теста следующие:
H 0 (ноль): данные были получены случайным образом.
H a (альтернативный вариант): данные генерировались не случайным образом.
В этом руководстве объясняются два метода, которые можно использовать для выполнения тестовых запусков в Python.
Пример. Запуск теста на Python
Мы можем выполнить тестовые прогоны для заданного набора данных в Python, используя функцию runtest_1samp() из библиотеки statsmodels , которая использует следующий синтаксис:
runtest_1samp(x, Cutoff=’mean’, Correction=True)
Золото:
- x: Массив значений данных
- Cutoff: порог, используемый для разделения данных на большие и малые значения. По умолчанию установлено «среднее», но в качестве альтернативы вы также можете указать «медиану».
- Коррекция: для размера выборки менее 50 эта функция вычитает 0,5 в качестве поправки. Вы можете указать False, чтобы отключить это исправление.
Эта функция выдает на выходе статистику az-теста и соответствующее значение p.
Следующий код показывает, как выполнить тестовый запуск с использованием этой функции в Python:
from statsmodels. sandbox . stats . runs import runstest_1samp #create dataset data = [12, 16, 16, 15, 14, 18, 19, 21, 13, 13] #Perform Runs test runstest_1samp(data, correction= False ) (-0.6708203932499369, 0.5023349543605021)
Статистика z-теста равна -0,67082 , а соответствующее значение p — 0,50233 . Поскольку это значение p не меньше α = 0,05, мы не можем отвергнуть нулевую гипотезу. У нас достаточно доказательств, чтобы сказать, что данные были сгенерированы случайным образом.
Примечание . В этом примере мы отключили коррекцию при расчете статистики теста. Это соответствует формуле, используемой для выполнения тестов в R , которая не использует коррекцию при запуске теста.