Функции Statistics and 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 значение из Дисперсионный Анализ (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 значение, и значение из Дисперсионный Анализ (p = 0,0039) приводят вас к выводу, что существуют значительные эффекты строки.
Вы не можете использовать тест Фридмана, чтобы проверить взаимодействие между факторами строки и столбца.