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подходящей формы вместо 2Dnp.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)