scipy.stats.

ttest_rel#

scipy.stats.ttest_rel(a, b, ось=0, nan_policy='propagate', альтернатива='two-sided', *, keepdims=False)[источник]#

Вычислить t-критерий для ДВУХ СВЯЗАННЫХ выборок оценок, a и b.

Это тест для нулевой гипотезы о том, что два связанных или повторных образца имеют одинаковые средние (ожидаемые) значения.

Параметры:
a, barray_like

Массивы должны иметь одинаковую форму.

осьint или None, по умолчанию: 0

Если это целое число, ось входных данных, по которой вычисляется статистика. Статистика каждого среза по оси (например, строки) входных данных появится в соответствующем элементе вывода. Если None, вход будет сведён в одномерный массив перед вычислением статистики.

nan_policy{‘propagate’, ‘omit’, ‘raise’}

Определяет, как обрабатывать входные значения NaN.

  • propagate: если NaN присутствует в срезе оси (например, строке), вдоль которой вычисляется статистика, соответствующая запись вывода будет NaN.

  • omit: NaN будут пропущены при выполнении расчета. Если в срезе оси, вдоль которого вычисляется статистика, остается недостаточно данных, соответствующая запись вывода будет NaN.

  • raise: если присутствует NaN, то ValueError будет вызвано исключение.

альтернатива{‘two-sided’, ‘less’, ‘greater’}, необязательный

Определяет альтернативную гипотезу. Доступны следующие варианты (по умолчанию 'two-sided'):

  • «two-sided»: средние распределений, лежащих в основе выборок, не равны.

  • 'less': среднее распределения, лежащего в основе первой выборки, меньше среднего распределения, лежащего в основе второй выборки.

  • ‘greater’: среднее распределения, лежащего в основе первой выборки, больше среднего распределения, лежащего в основе второй выборки.

Добавлено в версии 1.6.0.

keepdimsbool, по умолчанию: False

Если установлено значение True, оси, которые были сокращены, остаются в результате как размерности с размером один. С этой опцией результат будет корректно транслироваться относительно входного массива.

Возвращает:
результатTtestResult

Объект со следующими атрибутами:

статистикаfloat или массив

t-статистика.

p-значениеfloat или массив

P-значение, связанное с заданной альтернативой.

dffloat или массив

Количество степеней свободы, используемое при вычислении t-статистики; это на единицу меньше размера выборки (a.shape[axis]).

Добавлено в версии 1.10.0.

Объект также имеет следующий метод:

confidence_interval(confidence_level=0.95)

Вычисляет доверительный интервал для разницы средних значений генеральной совокупности для заданного уровня доверия. Доверительный интервал возвращается в namedtuple с полями низкий и высокий.

Добавлено в версии 1.10.0.

Примечания

Примеры использования: оценки одного и того же набора студентов на разных экзаменах или повторная выборка из одних и тех же единиц. Тест измеряет, значительно ли различаются средние оценки по выборкам (например, экзаменам). Если мы наблюдаем большое p-значение, например, больше 0,05 или 0,1, то мы не можем отвергнуть нулевую гипотезу о тождественных средних оценках. Если p-значение меньше порога, например, 1%, 5% или 10%, то мы отвергаем нулевую гипотезу о равенстве средних. Маленькие p-значения связаны с большими t-статистиками.

t-статистика вычисляется как np.mean(a - b)/se, где se является стандартной ошибкой. Следовательно, t-статистика будет положительной, когда выборочное среднее a - b больше нуля и отрицательна, когда выборочное среднее a - b меньше нуля.

Начиная с SciPy 1.9, np.matrix входные данные (не рекомендуется для нового кода) преобразуются в np.ndarray перед выполнением вычисления. В этом случае результатом будет скаляр или np.ndarray подходящей формы вместо 2D np.matrix. Аналогично, хотя маскированные элементы маскированных массивов игнорируются, результатом будет скаляр или np.ndarray вместо маскированного массива с mask=False.

ttest_rel имеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окружения SCIPY_ARRAY_API=1 и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).

Библиотека

CPU

GPU

NumPy

н/д

CuPy

н/д

PyTorch

JAX

⚠️ нет JIT

⚠️ нет JIT

Dask

⚠️ вычисляет граф

н/д

См. Поддержка стандарта array API для получения дополнительной информации.

Ссылки

https://en.wikipedia.org/wiki/T-test#Dependent_t-test_for_paired_samples

Примеры

>>> import numpy as np
>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> rvs1 = stats.norm.rvs(loc=5, scale=10, size=500, random_state=rng)
>>> rvs2 = (stats.norm.rvs(loc=5, scale=10, size=500, random_state=rng)
...         + stats.norm.rvs(scale=0.2, size=500, random_state=rng))
>>> stats.ttest_rel(rvs1, rvs2)
TtestResult(statistic=-0.4549717054410304, pvalue=0.6493274702088672, df=499)
>>> rvs3 = (stats.norm.rvs(loc=8, scale=10, size=500, random_state=rng)
...         + stats.norm.rvs(scale=0.2, size=500, random_state=rng))
>>> stats.ttest_rel(rvs1, rvs3)
TtestResult(statistic=-5.879467544540889, pvalue=7.540777129099917e-09, df=499)