kruskalwallis

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

Описание

пример

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

пример

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

пример

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

пример

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

Примеры

свернуть все

Создайте два различных объекта нормального распределения вероятностей. Первое распределение имеет mu = 0 и sigma = 1, и второе распределение имеет mu = 2 и 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%-м уровне значения. Таблица ANOVA обеспечивает дополнительные результаты испытаний, и диаграмма визуально представляет итоговую статистику для каждого столбца в x.

Создайте два различных объекта нормального распределения вероятностей. Первое распределение имеет mu = 0 и sigma = 1. Второе распределение имеет mu = 2 и 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=4×6 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 содержит те же данные как графическая таблица ANOVA, включая метки строки и столбец.

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

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 отображения следующие фигуры:

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

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

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

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

Пример: 'off'

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

свернуть все

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

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

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

Больше о

свернуть все

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

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

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

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

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