kruskalwallis

Тест Краскэл-Уоллиса

Синтаксис

p = kruskalwallis(x)
p = kruskalwallis(x,group)
p = kruskalwallis(x,group,displayopt)
[p,tbl,stats] = kruskalwallis(___)

Описание

пример

p = kruskalwallis(x) возвращает p - значение для нулевой гипотезы, что данные в каждом столбце матричного x прибывают из того же распределения, с помощью теста Краскэл-Уоллиса. Альтернативная гипотеза - то, что не все выборки прибывают из того же распределения. kruskalwallis также возвращает таблицу АНОВОЙ и диаграмму.

пример

p = kruskalwallis(x,group) возвращает p - значение для теста нулевой гипотезы, что данные в каждой категориальной группе, как задано группирующей переменной group прибывают из того же распределения. Альтернативная гипотеза - то, что не все группы происходят из того же распределения.

пример

p = kruskalwallis(x,group,displayopt) возвращает p - значение теста и позволяет вам отобразить или подавить таблицу АНОВОЙ и диаграмму.

пример

[p,tbl,stats] = kruskalwallis(___) также возвращает таблицу АНОВОЙ как массив ячеек tbl и структура stats, содержащий информацию о тестовой статистике.

Примеры

свернуть все

Создайте два различных объекта нормального распределения вероятностей. Первое распределение имеет mu = 0 и sigma = 1, и второе распределение имеет mu = 2 | and |sigma = 1.

pd1 = makedist('Normal');
pd2 = makedist('Normal','mu',2,'sigma',1);

Создайте матрицу выборочных данных путем генерации случайных чисел от этих двух дистрибутивов.

rng('default'); % for reproducibility
x = [random(pd1,20,2),random(pd2,20,1)];

Первые два столбца x содержат данные, сгенерированные от первого распределения, в то время как третий столбец содержит данные, сгенерированные от второго распределения.

Протестируйте нулевую гипотезу, что выборочные данные из каждого столбца в x прибывают из того же распределения.

p = kruskalwallis(x)

p = 3.6896e-06

Возвращенное значение p указывает, что kruskalwallis отклоняет нулевую гипотезу, что все три выборки данных прибывают из того же распределения на 1%-м уровне значения. Таблица АНОВОЙ обеспечивает дополнительные результаты испытаний, и диаграмма визуально представляет итоговую статистику для каждого столбца в x.

Создайте два различных объекта нормального распределения вероятностей. Первое распределение имеет mu = 0 и sigma = 1. Второе распределение имеет mu = 2 | and |sigma = 1.

pd1 = makedist('Normal');
pd2 = makedist('Normal','mu',2,'sigma',1);

Создайте матрицу выборочных данных путем генерации случайных чисел от этих двух дистрибутивов.

rng('default'); % for reproducibility
x = [random(pd1,20,2),random(pd2,20,1)];

Первые два столбца x содержат данные, сгенерированные от первого распределения, в то время как третий столбец содержит данные, сгенерированные от второго распределения.

Протестируйте нулевую гипотезу, что выборочные данные из каждого столбца в x прибывают из того же распределения. Подавите выходные отображения и сгенерируйте структуру stats, чтобы использовать в дальнейшем тестировании.

[p,tbl,stats] = kruskalwallis(x,[],'off')
p = 3.6896e-06
tbl = 4x6 cell array
  Columns 1 through 5

    {'Source' }    {'SS'        }    {'df'}    {'MS'        }    {'Chi-sq'  }
    {'Columns'}    {[7.6311e+03]}    {[ 2]}    {[3.8155e+03]}    {[ 25.0200]}
    {'Error'  }    {[1.0364e+04]}    {[57]}    {[  181.8228]}    {0x0 double}
    {'Total'  }    {[     17995]}    {[59]}    {0x0 double  }    {0x0 double}

  Column 6

    {'Prob>Chi-sq'}
    {[ 3.6896e-06]}
    {0x0 double   }
    {0x0 double   }

stats = struct with fields:
       gnames: [3x1 char]
            n: [20 20 20]
       source: 'kruskalwallis'
    meanranks: [26.7500 18.9500 45.8000]
         sumt: 0

Возвращенное значение p указывает, что тест отклоняет нулевую гипотезу на 1%-м уровне значения. Можно использовать структуру stats, чтобы выполнить дополнительное последующее тестирование. Массив ячеек tbl содержит те же данные как графическая таблица АНОВОЙ, включая метки строки и столбец.

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

c = multcompare(stats)
Note: Intervals can be used for testing but are not simultaneous confidence intervals.

c = 3×6

    1.0000    2.0000   -5.1435    7.8000   20.7435    0.3345
    1.0000    3.0000  -31.9935  -19.0500   -6.1065    0.0016
    2.0000    3.0000  -39.7935  -26.8500  -13.9065    0.0000

Результаты показывают, что существует значительная разница между группами 1 и 3, таким образом, тест отклоняет нулевую гипотезу, что данные в этих двух группах прибывают из того же распределения. То же самое верно для групп 2 и 3. Однако между группами 1 и 2 нет значительной разницы, таким образом, тест не отклоняет нулевую гипотезу, что эти две группы происходят из того же распределения. Поэтому эти результаты предлагают, чтобы данные в группах 1 и 2 прибыли из того же распределения, и данные в группе 3 прибывают из различного распределения.

Создайте вектор, strength, содержа измерения силы металлических лучей. Создайте второй вектор, alloy, указав на тип металлического сплава, из которого сделан соответствующий луч.

strength = [82 86 79 83 84 85 86 87 74 82 ...
            78 75 76 77 79 79 77 78 82 79];

alloy = {'st','st','st','st','st','st','st','st',...
         'al1','al1','al1','al1','al1','al1',...
         'al2','al2','al2','al2','al2','al2'};

Протестируйте нулевую гипотезу, что измерения силы луча имеют то же распределение через все три сплава.

p = kruskalwallis(strength,alloy,'off')
p = 0.0018

Возвращенное значение p указывает, что тест отклоняет нулевую гипотезу на 1%-м уровне значения.

Входные параметры

свернуть все

Выборочные данные для теста гипотезы, заданного как вектор или m-by-n матрица. Если x является m-by-n матрица, каждый из столбцов n представляет независимую выборку, содержащую m взаимно независимые наблюдения.

Типы данных: single | double

Группирующая переменная, заданная как числовой или логический вектор, символьный массив или массив строк или массив ячеек из символьных векторов.

  • Если x является вектором, то каждый элемент в group идентифицирует группу, которой принадлежит соответствующий элемент в x, и group должен быть вектором той же длины как x. Если строка group содержит пустое значение, та строка и соответствующее наблюдение в x игнорируются. значения NaN или в x или в group так же проигнорированы.

  • Если x является матрицей, то каждый столбец в x представляет другую группу, и можно использовать group, чтобы задать метки для этих столбцов. Число элементов в group и количестве столбцов в x должно быть равным.

Метки, содержавшиеся в group также, аннотируют диаграмму.

Пример: {'red','blue','green','blue','red','blue','green','green','red'}

Типы данных: single | double | logical | char | string | cell

Параметр экрана, заданный как 'on' или 'off'. Если displayopt является 'on', kruskalwallis отображает следующие фигуры:

  • Таблица АНОВОЙ, содержащая суммы квадратов, степени свободы и другие количества, вычисленные на основе рангов данных в x.

  • Диаграмма данных в каждом столбце матрицы данных x. Диаграммы основаны на фактических значениях данных, а не на рангах.

Если displayopt является 'off', kruskalwallis не отображает эти фигуры.

Если вы задаете значение для displayopt, необходимо также задать значение для group. Если у вас нет группирующей переменной, задайте group как [].

Пример: 'off'

Выходные аргументы

свернуть все

p- теста, возвращенного как скалярное значение в области значений [0,1]. p является вероятностью наблюдения тестовой статистической величины как экстремальное значение как, или более экстремальный, чем, наблюдаемая величина по нулевой гипотезе. Маленькие значения p подвергают сомнению валидность нулевой гипотезы.

Таблица АНОВОЙ результатов испытаний, возвращенных как массив ячеек. tbl включает суммы квадратов, степени свободы и другие количества, вычисленные на основе рангов данных в x, а также меток строки и столбца.

Тестовые данные, возвращенные как структура. Можно выполнить последующую обработку и анализ несколько тестов сравнения на парах демонстрационных медиан при помощи multcompare с stats как входное значение.

Больше о

свернуть все

Краскэл-Уоллис Тест

Тест Краскэл-Уоллиса является непараметрической версией классической односторонней АНОВОЙ и расширением теста суммы ранга Wilcoxon больше чем двум группам. Это сравнивает медианы групп данных в x, чтобы определить, прибывают ли выборки из той же генеральной совокупности (или, эквивалентно, из различного населения с тем же распределением).

Тест Краскэл-Уоллиса использует ранги данных, а не числовые значения, чтобы вычислить тестовую статистику. Это находит ранги путем упорядоченного расположения данных от самого маленького до самого большого через все группы и взятия числового индекса этого упорядоченного расположения. Ранг для связанного наблюдения равен среднему рангу всех наблюдений, сыграл вничью с ним. F-статистическая-величина, используемая в классической односторонней АНОВОЙ, заменяется статистической величиной хи-квадрата, и p-значение измеряет значение статистической величины хи-квадрата.

Тест Краскэл-Уоллиса принимает, что все выборки прибывают из населения, имеющего то же непрерывное распределение кроме возможно других мест из-за эффектов группы, и что все наблюдения взаимно независимы. В отличие от этого, классическая односторонняя АНОВА заменяет первое предположение на более сильное предположение, что у населения есть нормальные распределения.

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