MANOVA

Введение в MANOVA

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

Дисперсионный Анализ с несколькими ответами

The 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 года, по-видимому, имеют более высокий пробег, чем старые автомобили, и они, по-видимому, весят в среднем меньше. Но как группа три года значительно отличаются друг от друга? The 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}

The manova1 функция производит три выхода:

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

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

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

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

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

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

The eigenvec поле является матрицей, которая задает коэффициенты линейных комбинаций исходных переменных. The eigenval поле является вектором, измеряющим отношение отклонения между группами к отклонению внутри группы для соответствующей линейной комбинации. The 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 структура являются расстояниями Махаланобиса. The mdist поле измеряет расстояние от каждой точки до среднего значения его группы. Точки с большими значениями могут быть выбросами. В этом наборе данных самые большие выбросы - универсал Buick Estate в график поля точек. (Обратите внимание, что вы могли задать имя модели gname функция выше, если вы хотите пометить точку именем модели, а не номером строки.)

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

max(stats.mdist)
ans = 31.5273

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

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

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

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

The 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 функция для построения схемы, которая представляет кластеры групп, сформированные с помощью расстояний между их средствами.

См. также

| | |