exponenta event banner

МАНОВА

Введение в MANOVA

Метод анализа дисперсии в Perform One-Way ANOVA принимает набор сгруппированных данных и определяет, значительно ли отличается среднее значение переменной в разных группах. Часто существует несколько переменных ответа, и вам интересно определить, отличается ли весь набор средств от одной группы к другой. Существует многомерная версия дисперсионного анализа, которая может решить проблему.

ANOVA с несколькими ответами

carsmall набор данных имеет измерения на различных моделях автомобилей 1970, 1976 и 1982 годов. Предположим, вас интересует, менялись ли характеристики автомобилей с течением времени.

load carsmall
whos
  Name                Size            Bytes  Class     Attributes

  Acceleration      100x1               800  double              
  Cylinders         100x1               800  double              
  Displacement      100x1               800  double              
  Horsepower        100x1               800  double              
  MPG               100x1               800  double              
  Mfg               100x13             2600  char                
  Model             100x33             6600  char                
  Model_Year        100x1               800  double              
  Origin            100x7              1400  char                
  Weight            100x1               800  double              

Четыре из этих переменных (Acceleration, Displacement, Horsepower, и MPG) представляют собой непрерывные измерения на отдельных моделях автомобилей. Переменная Model_Year указывает год изготовления автомобиля. Сгруппированную матрицу графика этих переменных можно создать с помощью команды gplotmatrix функция.

Создайте сгруппированную матрицу графика для этих переменных с помощью команды gplotmatrix функция.

x = [MPG Horsepower Displacement Weight];
gplotmatrix(x,[],Model_Year,[],'+xo')

Figure contains 16 axes. Axes 1 contains 3 objects of type line. Axes 2 contains 3 objects of type line. Axes 3 contains 3 objects of type line. Axes 4 contains 3 objects of type line. Axes 5 contains 3 objects of type line. Axes 6 contains 3 objects of type line. Axes 7 contains 3 objects of type line. Axes 8 contains 3 objects of type line. Axes 9 contains 3 objects of type line. Axes 10 contains 3 objects of type line. Axes 11 contains 3 objects of type line. Axes 12 contains 3 objects of type line. Axes 13 contains 3 objects of type line. Axes 14 contains 3 objects of type line. Axes 15 contains 3 objects of type line. Axes 16 contains 3 objects of type line. These objects represent 70, 76, 82.

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

Похоже, что автомобили отличаются от года к году. Верхний правый график, например, является графом MPG против Weight. Автомобили 1982 года выпуска, по-видимому, имеют более высокий пробег, чем старые автомобили, и в среднем они весят меньше. Но как группа три года значительно отличаются друг от друга? manova1 функция может ответить на этот вопрос.

[d,p,stats] = manova1(x,Model_Year)
d = 2
p = 2×1
10-6 ×

    0.0000
    0.1141

stats = struct with fields:
           W: [4x4 double]
           B: [4x4 double]
           T: [4x4 double]
         dfW: 90
         dfB: 2
         dfT: 92
      lambda: [2x1 double]
       chisq: [2x1 double]
     chisqdf: [2x1 double]
    eigenval: [4x1 double]
    eigenvec: [4x4 double]
       canon: [100x4 double]
       mdist: [1x100 double]
      gmdist: [3x3 double]
      gnames: {3x1 cell}

manova1 функция выдает три выходных сигнала:

  • Первый выход d - оценка размерности группового средства. Если бы все средства были одинаковыми, размер был бы равен 0, указывая, что средства находятся в одной и той же точке. Если бы средства отличались, но падали вдоль линии, размер был бы равен 1. В примере размер равен 2, что указывает на то, что группа означает падение в плоскости, но не вдоль линии. Это самое большое возможное измерение для средств трех групп.

  • Второй выход p является вектором p-значений для последовательности тестов. Первое значение p проверяет, равен ли размер 0, следующее - равен ли размер 1 и так далее. В этом случае оба значения p малы. Вот почему расчетная размерность равна 2.

  • Третий выход stats - структура, содержащая несколько полей, описанных в следующем разделе.

Поля stats Структура

W, B, и T поля являются матричными аналогами в пределах, между и суммарными суммами квадратов в обычном одностороннем анализе дисперсии. Следующие три поля являются степенями свободы для этих матриц. Области lambda, chisq, и chisqdf являются ингредиентами теста на размерность групповых средств. (Значения p для этих тестов являются первым выходным аргументом manova1.)

Следующие три поля используются для канонического анализа. Напомним, что в анализе основных компонентов (PCA) выполняется поиск комбинации исходных переменных с наибольшим возможным изменением. В многомерном анализе дисперсии вместо этого выполняется поиск линейной комбинации исходных переменных с наибольшим разделением между группами. Это единственная переменная, которая даст наиболее значительный результат в одномерном одностороннем анализе дисперсии. Найдя эту комбинацию, вы затем ищете комбинацию со вторым наивысшим разделением и так далее.

eigenvec - матрица, определяющая коэффициенты линейных комбинаций исходных переменных. eigenval поле представляет собой вектор, измеряющий отношение дисперсии между группами к дисперсии внутри группы для соответствующей линейной комбинации. canon поле является матрицей значений канонических переменных. Каждый столбец представляет собой линейную комбинацию средних центрированных исходных переменных, используя коэффициенты из eigenvec матрица.

c1 = stats.canon(:,1);
c2 = stats.canon(:,2);

Постройте график сгруппированного рассеяния первых двух канонических переменных.

figure
gscatter(c2,c1,Model_Year,[],'oxs')

Figure contains an axes. The axes contains 3 objects of type line. These objects represent 70, 76, 82.

Сгруппированный график рассеяния первых двух канонических переменных показывает большее разделение между группами, затем сгруппированный график рассеяния любой пары исходных переменных. В этом примере показано три облака точек, перекрывающихся, но имеющих отдельные центры. Одна точка в нижнем правом сидит отдельно от других. Можно отметить эту точку на графике с помощью gname функция.

Грубо говоря, первая каноническая переменная, c1, разделяет автомобили 1982 года (которые имеют высокие значения c1) от старых автомобилей. Вторая каноническая переменная, c2, обнаруживает некоторое разделение между автомобилями 1970 и 1976 годов.

Последние два поля stats структура - расстояния Махаланобиса. mdist поле измеряет расстояние от каждой точки до среднего значения ее группы. Точки с большими значениями могут быть отклонениями. В этом наборе данных наибольший выброс - тот, что на участке рассеяния, универсал Buick Estate. (Обратите внимание, что вы могли бы предоставить имя модели gname функция выше, если требуется пометить точку именем модели, а не номером строки.)

Найдите наибольшее расстояние от группы.

max(stats.mdist)
ans = 31.5273

Найдите точку, которая имеет наибольшее расстояние от группы среднего.

find(stats.mdist == ans)
ans = 20

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

Model(20,:)
ans = 
'buick estate wagon (sw)          '

gmdist поле измеряет расстояния между каждой парой групповых средств. Осмотрите групповые средства с помощью grpstats.

grpstats(x, Model_Year)
ans = 3×4
103 ×

    0.0177    0.1489    0.2869    3.4413
    0.0216    0.1011    0.1978    3.0787
    0.0317    0.0815    0.1289    2.4535

Найдите расстояния между каждой парой групповых средств.

stats.gmdist
ans = 3×3

         0    3.8277   11.1106
    3.8277         0    6.1374
   11.1106    6.1374         0

Как можно ожидать, многомерное расстояние между крайними 1970 и 1982 годами (11,1) больше, чем разница между более близко расположенными годами (3,8 и 6,1). Это согласуется с графиками рассеяния, где точки, похоже, следуют за прогрессией по мере изменения года с 1970 по 1976 по 1982. Если у вас было больше групп, вы можете найти поучительным использовать manovacluster функция для построения диаграммы, представляющей кластеры групп, сформированные с использованием расстояний между их средствами.

См. также

| | |