Функции Statistics и Machine Learning Toolbox™ включают непараметрические версии одностороннего и двустороннего дисперсионного анализа. В отличие от классических тестов, непараметрические тесты делают только мягкие предположения о данных и подходят, когда распределение данных является ненормальным. С другой стороны, они менее мощны, чем классические методы для нормально распределенных данных.
Обе непараметрические функции, описанные здесь, вернут stats структура, которая может использоваться в качестве входных данных для multcompare функция для нескольких сравнений.
Пример Perform One-Way ANOVA использует односторонний анализ дисперсии, чтобы определить, варьировалось ли количество бактерий в молоке от отгрузки к отгрузке. Односторонний анализ основан на предположении, что измерения независимы и что каждое имеет нормальное распределение с общей дисперсией и со средним значением, которое было постоянным в каждом столбце. Можно сделать вывод, что значения в графе не были одинаковыми. Следующий пример повторяет этот анализ с использованием непараметрической процедуры.
Тест Крускала-Уоллиса является непараметрической версией одностороннего дисперсионного анализа. Предположение, лежащее в основе этого теста, состоит в том, что измерения происходят от непрерывного распределения, но не обязательно от нормального распределения. Тест основан на анализе дисперсии с использованием рангов значений данных, а не самих значений данных. Выходные данные включают таблицу, аналогичную таблице ANOVA, и рамочный график.
Этот тест можно выполнить следующим образом:
load hogg
p = kruskalwallis(hogg)
p =
0.0020
Низкое значение p означает, что результаты теста Крускала-Уоллиса согласуются с односторонним анализом результатов дисперсии.
Perform Two-Way ANOVA использует двусторонний дисперсионный анализ для изучения влияния модели автомобиля и завода на пробег автомобиля. В примере проверяется, оказывает ли любой из этих факторов существенное влияние на пробег и существует ли взаимодействие между этими факторами. Вывод примера заключается в отсутствии взаимодействия, но в том, что каждый отдельный фактор оказывает значительное влияние. В следующем примере рассматривается, приводит ли непараметрический анализ к тому же выводу.
Тест Фридмана является непараметрическим тестом для данных, имеющих двустороннюю компоновку (данные сгруппированы по двум категориальным факторам). В отличие от двустороннего дисперсионного анализа, тест Фридмана не рассматривает два фактора симметрично и не проверяет на взаимодействие между ними. Вместо этого выполняется проверка того, отличаются ли столбцы после корректировки на возможные различия строк. Тест основан на анализе дисперсии с использованием рангов данных по категориям коэффициента строки. Выходные данные включают таблицу, аналогичную таблице ANOVA.
Вы можете провести тест Фридмана следующим образом.
load mileage p = friedman(mileage,3) p = 7.4659e-004
Вспомним классический дисперсионный анализ дал значение p для проверки эффектов столбцов, эффектов строк и эффектов взаимодействия. Это значение p используется для эффектов столбцов. Используя либо это значение p, либо значение p из ANOVA (p < 0,0001), можно сделать вывод, что существуют значительные эффекты столбца.
Для проверки эффектов строк необходимо переупорядочить данные для замены ролей строк в столбцах. Для матрицы данных x без репликации можно просто перенести данные и тип
p = friedman(x')
С реплицированными данными это несколько сложнее. Простой способ состоит в преобразовании матрицы в трехмерный массив с первым размером, представляющим копии, заменой двух других размеров и восстановлением двумерной формы.
x = reshape(mileage, [3 2 3]);
x = permute(x,[1 3 2]);
x = reshape(x,[9 2])
x =
33.3000 32.6000
33.4000 32.5000
32.9000 33.0000
34.5000 33.4000
34.8000 33.7000
33.8000 33.9000
37.4000 36.6000
36.8000 37.0000
37.6000 36.7000
friedman(x,3)
ans =
0.0082Опять же, вывод похож на вывод классического дисперсионного анализа. И это значение p, и значение из ANOVA (p = 0,0039) приводят вас к выводу, что есть значительные эффекты строк.
Тест Фридмана нельзя использовать для проверки взаимодействий между факторами строк и столбцов.