brunnermunzel#
- scipy.stats.brunnermunzel(x, y, альтернатива='two-sided', распределение='t', nan_policy='propagate', *, ось=0, keepdims=False)[источник]#
Выполнить тест Бруннера-Мунзеля на выборках x и y.
Тест Бруннера-Мунцеля — это непараметрический тест нулевой гипотезы о том, что когда значения берутся по одному из каждой группы, вероятности получения больших значений в обеих группах равны. В отличие от U-критерия Уилкоксона-Манна-Уитни, он не требует предположения об эквивариантности двух групп. Обратите внимание, что он не предполагает одинаковости распределений. Этот тест работает с двумя независимыми выборками, которые могут иметь разные размеры.
- Параметры:
- x, yarray_like
Массив выборок, должен быть одномерным.
- альтернатива{‘two-sided’, ‘less’, ‘greater’}, необязательный
Определяет альтернативную гипотезу. Доступны следующие варианты (по умолчанию 'two-sided'):
'two-sided'
'less': односторонний
'greater': односторонний
- распределение{‘t’, ‘normal’}, опционально
Определяет, как получить p-значение. Доступны следующие варианты (по умолчанию 't'):
‘t’: получить p-значение по t-распределению
'normal': получить p-значение по стандартному нормальному распределению.
- nan_policy{‘propagate’, ‘omit’, ‘raise’}
Определяет, как обрабатывать входные значения NaN.
propagate: если NaN присутствует в срезе оси (например, строке), вдоль которой вычисляется статистика, соответствующая запись вывода будет NaN.omit: NaN будут пропущены при выполнении расчета. Если в срезе оси, вдоль которого вычисляется статистика, остается недостаточно данных, соответствующая запись вывода будет NaN.raise: если присутствует NaN, тоValueErrorбудет вызвано исключение.
- осьint или None, по умолчанию: 0
Если это целое число, ось входных данных, по которой вычисляется статистика. Статистика каждого среза по оси (например, строки) входных данных появится в соответствующем элементе вывода. Если
None, вход будет сведён в одномерный массив перед вычислением статистики.- keepdimsbool, по умолчанию: False
Если установлено значение True, оси, которые были сокращены, остаются в результате как размерности с размером один. С этой опцией результат будет корректно транслироваться относительно входного массива.
- Возвращает:
- статистикаfloat
Статистика W Бруннера-Мунцера.
- p-значениеfloat
p-значение, предполагающее t-распределение. Одностороннее или двустороннее, в зависимости от выбора альтернатива и распределение.
Смотрите также
mannwhitneyuРанговый критерий Манна-Уитни для двух выборок.
Примечания
Бруннер и Мунцель рекомендовали оценивать p-значение с помощью t-распределения, когда размер данных составляет 50 или меньше. Если размер меньше 10, лучше использовать перестановочный тест Бруннера-Мунцеля (см. [2]).
Начиная с SciPy 1.9,
np.matrixвходные данные (не рекомендуется для нового кода) преобразуются вnp.ndarrayперед выполнением вычисления. В этом случае результатом будет скаляр илиnp.ndarrayподходящей формы вместо 2Dnp.matrix. Аналогично, хотя маскированные элементы маскированных массивов игнорируются, результатом будет скаляр илиnp.ndarrayвместо маскированного массива сmask=False.Ссылки
[1]Brunner, E. и Munzel, U. "Непараметрическая проблема Бенхренса-Фишера: асимптотическая теория и аппроксимация для малых выборок". Biometrical Journal. Том 42(2000): 17-25.
[2]Neubert, K. и Brunner, E. “A studentized permutation test for the non-parametric Behrens-Fisher problem”. Computational Statistics and Data Analysis. Vol. 51(2007): 5192-5204.
Примеры
>>> from scipy import stats >>> x1 = [1,2,1,1,1,1,1,1,1,1,2,4,1,1] >>> x2 = [3,3,4,3,1,2,3,1,1,5,4] >>> w, p_value = stats.brunnermunzel(x1, x2) >>> w 3.1374674823029505 >>> p_value 0.0057862086661515377