Что такое контрастная матрица?


46

Что именно контрастная матрица (термин, относящийся к анализу с категориальными предикторами) , и как точно указана контрастность матрица? Т.е. что такое столбцы, что такое строки, каковы ограничения на эту матрицу и что означает число в столбце jи строке i? Я пытался заглянуть в документы и веб, но кажется, что все используют его, но нигде нет никакой защиты. Я мог бы задним числом спроектировать имеющиеся заранее определенные контрасты, но я думаю, что определение должно быть доступно без этого.

> contr.treatment(4)
  2 3 4
1 0 0 0
2 1 0 0
3 0 1 0
4 0 0 1
> contr.sum(4)
  [,1] [,2] [,3]
1    1    0    0
2    0    1    0
3    0    0    1
4   -1   -1   -1
> contr.helmert(4)
  [,1] [,2] [,3]
1   -1   -1   -1
2    1   -1   -1
3    0    2   -1
4    0    0    3
> contr.SAS(4)
  1 2 3
1 1 0 0
2 0 1 0
3 0 0 1
4 0 0 0

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

5
@ttnphns Извините, но вы продолжаете делать то, что делают все документы и сети: вы объясняете, для чего используются контрастные матрицы, не задаваясь вопросом, что такое контрастная матрица. Это цель определения .
любопытно

3
Конечно, это связано, но получение «того, чем оно является» из того, «для чего оно нужно», является работой детектива, которая не нужна. Это обратный инжиниринг. Вещи должны быть задокументированы.
любопытно

2
ats.ucla.edu/stat/r/library/contrast_coding.htm - это хорошо Rориентированный ресурс по методам кодирования.
whuber

1
@ Любопытно, просто чтобы вы знали: я присудил 100 премий ttnphns, но я начну другую премию (или попросить кого-то еще сделать это), чтобы также наградить Gus_est. Я также написал свой собственный ответ, на всякий случай, если вы предпочитаете иметь более короткий ответ :-)
говорит амеба Восстановить Монику

Ответы:


31

В своем симпатичном ответе @Gus_est предпринял математическое объяснение сути матрицы коэффициентов контрастности L (обозначено здесь C ). - фундаментальная формула для проверки гипотез в одномерном общем линейном моделировании (где b - параметры, а k -Lb=kbk - оцениваемая функция, представляющая нулевую гипотезу), и этот ответ показывает некоторые необходимые формулы, используемые в современных программах ANOVA.

Мой ответ оформлен совсем по-другому. Это для аналитика данных, который считает себя скорее «инженером», чем «математиком», поэтому ответом будет (поверхностный) «практический» или «дидактический» отчет, и он сосредоточится на том, чтобы отвечать только на темы (1), что делает средние коэффициенты контрастности и (2) как они могут помочь выполнить ANOVA через программу линейной регрессии .

ANOVA как регрессия с фиктивными переменными: введение контрастов .

Представим себе ANOVA с зависимой переменной Y и категориальным фактором A, имеющим 3 уровня (группы). Взглянем на ANOVA от линейной регрессии точки зрения, то есть - через превращение фактора в набор манекена ( так называемый показатель ака лечения ака один-горячий ) бинарных переменных. Это наш независимый набор X . (Вероятно, все слышали, что ANOVA можно сделать таким образом - как линейную регрессию с фиктивными предикторами.)

Поскольку одна из трех групп является избыточной, только две фиктивные переменные войдут в линейную модель. Давайте назначим Группу 3 избыточной или ссылочной. Фиктивные предикторы, составляющие X, являются примером контрастных переменных , то есть элементарных переменных, представляющих категории фактора. Сам X часто называют матрицей дизайна. Теперь мы можем ввести набор данных в программу множественной линейной регрессии, которая будет центрировать данные и найти коэффициенты регрессии (параметры) , где «+» обозначает псевдообратный.b=(XX)1Xy=X+y

Эквивалентный проход будет состоять не в центрировании, а в добавлении постоянного члена модели в качестве первого столбца 1 s в X , а затем оценивать коэффициенты так же, как указано выше. . Все идет нормально.b=(XX)1Xy=X+y

Определим матрицу C как агрегацию (суммирование) матрицы X для разработки независимых переменных . Он просто показывает нам , схема кодирования , наблюдаемые там, - считает контраст кодирования матрицы (= базисная матрица): .C=aggrX

C
              Const  A1    A2
Gr1 (A=1)       1     1     0
Gr2 (A=2)       1     0     1
Gr3 (A=3,ref)   1     0     0

Столбцы - это переменные (столбцы) X - элементарные контрастные переменные A1 A2, в данном случае - фиктивные, а в строках - все группы / уровни фактора. Так была наша матрица кодирования C для индикаторной или фиктивной схемы кодирования контраста.

Теперь называется матрицей коэффициента контрастности или L-матрицей. Поскольку C является квадратным, L = C + = C - 1 . Матрица контрастности, соответствующая нашему C - то есть для контрастов индикатора нашего примера - поэтому:C+=LL=C+=C1

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const      0     0     1            => Const = Mean_Gr3
A1         1     0    -1            => Param1 = Mean_Gr1-Mean_Gr3
A2         0     1    -1            => Param2 = Mean_Gr2-Mean_Gr3

L-матрица - это матрица, показывающая коэффициенты контрастности . Обратите внимание, что сумма коэффициентов контрастности в каждой строке (кроме строки Константа) равна . Каждый такой ряд называется контрастом . Строки соответствуют контрастным переменным, а столбцы соответствуют группам, уровням факторов.0

Значимость коэффициентов контрастности заключается в том, что они помогают понять, что каждый эффект (каждый параметр b, оцененный в регрессии с нашим X , закодированным как есть) представляет в смысле разницы (групповое сравнение). После коэффициентов сразу видно, что оценочная константа будет равна среднему значению Y в контрольной группе; этот параметр b1 (т.е. фиктивная переменная A1) будет равен разнице: Y означает в группе 1 минус Y означает в группе 3; и параметр b2 является разницей: среднее в группе2 минус среднее в группе3.

Примечание . Говоря «среднее» прямо выше (и далее ниже), мы подразумеваем оценочное (прогнозируемое моделью) среднее для группы, а не наблюдаемое среднее в группе.

Поучительное замечание : когда мы делаем регрессию с помощью двоичных переменных-предикторов, параметр такой переменной говорит о разнице в Y между группами переменная = 1 и переменная = 0. Однако в ситуации, когда двоичные переменные представляют собой набор k-1 фиктивных переменных, представляющих kфактор -уровня, значение параметра становится более узким : оно показывает разницу в Y между переменной = 1 и (не просто переменной = 0, но даже) reference_variable = 1 группы.

Как (после умножения на y ) приносит нам значения b , так же ( a g g r X ) + вводит значения b .X+y(aggrX)+

Хорошо, мы дали определение коэффициента контрастности матрицы L . Поскольку , симметрично C = L + = L - 1 , что означает, что если вам дали или построили контрастную матрицу L на основе категориального фактора (ов) - для проверки этого L в вашем анализе, тогда у вас есть подсказка, как правильно кодировать переменные предиктора контраста X , чтобы проверить L с помощью обычной регрессииL=C+=C1C=L+=L1 программное обеспечение (т. е. один обрабатывает только «непрерывные» переменные стандартным способом OLS, и вообще не распознает категориальные факторы). В нашем настоящем примере кодирование было - индикаторные (фиктивные) переменные типа.

ANOVA как регрессия: другие типы контраста .

Давайте кратко соблюдать другие типы контрастных (= схемы кодирования = стили параметризации) для категорического фактора A .

Отклонение или эффект контрастов . Матрицы C и L и значение параметра:

C
              Const  A1    A2
Gr1 (A=1)       1     1     0
Gr2 (A=2)       1     0     1
Gr3 (A=3,ref)   1    -1    -1

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3      => Const = 1/3Mean_Gr3+1/3Mean_Gr2+1/3Mean_Gr3 = Mean_GU
A1        2/3  -1/3  -1/3      => Param1 = 2/3Mean_Gr1-1/3(Mean_Gr2+Mean_Gr3) = Mean_Gr1-Mean_GU
A2       -1/3   2/3  -1/3      => Param2 = 2/3Mean_Gr2-1/3(Mean_Gr1+Mean_Gr3) = Mean_Gr2-Mean_GU

                                  Parameter for the reference group3 = -(Param1+Param2) = Mean_Gr3-Mean_GU

                                  Mean_GU is grand unweighted mean = 1/3(Mean_Gr1+Mean_Gr2+Mean_Gr3)

Путем кодирования отклонения каждая группа фактора сравнивается с невзвешенным большим средним, в то время как Константа является этим большим средним. Это то, что вы получаете в регрессии с контрастными предикторами X, закодированными в отклонении или эффекте «манера».

Простые контрасты . Эта схема контрастов / кодирования является гибридом типа индикатора и отклонения, она дает значение константы, как в типе отклонения, и значение других параметров, как в типе индикатора:

C
              Const  A1    A2
Gr1 (A=1)       1   2/3  -1/3
Gr2 (A=2)       1  -1/3   2/3
Gr3 (A=3,ref)   1  -1/3  -1/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = as in Deviation
A1         1     0    -1         => Param1 = as in Indicator
A2         0     1    -1         => Param2 = as in Indicator

Гельмерт контрастирует . Сравнивает каждую группу (кроме контрольной) с невзвешенным средним для последующих групп, а Константа является невзвешенным великим средним. Матрицы C и L :

C
              Const  A1    A2
Gr1 (A=1)       1   2/3    0
Gr2 (A=2)       1  -1/3   1/2
Gr3 (A=3,ref)   1  -1/3  -1/2

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1         1   -1/2  -1/2        => Param1 = Mean_Gr1-1/2(Mean_Gr2+Mean_Gr3)
A2         0     1    -1         => Param2 = Mean_Gr2-Mean_Gr3

Разница или обратная контрастность Гельмерта . Сравнивает каждую группу (кроме контрольной) с невзвешенным средним для предыдущих групп, а Константа является невзвешенным великим средним.

C
              Const  A1    A2
Gr1 (A=1)       1  -1/2  -1/3
Gr2 (A=2)       1   1/2  -1/3
Gr3 (A=3,ref)   1    0    2/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1        -1     1     0         => Param1 = Mean_Gr2-Mean_Gr1
A2       -1/2  -1/2    1         => Param2 = Mean_Gr3-1/2(Mean_Gr2+Mean_Gr1)

Повторные контрасты . Сравнивает каждую группу (кроме ссылки) со следующей группой, и Константа представляет собой невзвешенное великое среднее.

C
              Const  A1    A2
Gr1 (A=1)       1   2/3   1/3
Gr2 (A=2)       1  -1/3   1/3
Gr3 (A=3,ref)   1  -1/3  -2/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1         1    -1     0         => Param1 = Mean_Gr1-Mean_Gr2
A2         0     1    -1         => Param2 = Mean_Gr2-Mean_Gr3

Вопрос задается: how exactly is contrast matrix specified?глядя на типы контрастов, изложенные до сих пор, можно понять, как. Каждый тип имеет свою логику , как «заполнить» значения в L . Логика отражает то, что означает каждый параметр - какие две комбинации групп планируется сравнить.

Полиномиальные контрасты . Это немного особенные, нелинейные. Первый эффект является линейным, второй - квадратичным, следующий - кубическим. Я оставляю здесь нерешенным вопрос о том, как их матрицы C и L должны быть построены и являются ли они обратными друг другу. Пожалуйста, проконсультируйтесь с глубокими объяснениями @Antoni Parellada этого типа контраста: 1 , 2 .

В сбалансированных конструкциях контрасты Гельмерта, обратного Хельмерта и полиномиальные контрасты всегда являются ортогональными . Другие типы, рассмотренные выше, не являются ортогональными контрастами. Ортогональный (при уравновешенности) контраст, где в отличие от матрицы L сумма в каждой строке (кроме Const) равна нулю, а сумма произведений соответствующих элементов каждой пары строк равна нулю.

Здесь представлены измерения углового сходства (косинус и корреляция Пирсона) при разных типах контрастности, кроме полинома, который я не тестировал. Пусть у нас будет один фактор A с kуровнями, и он был затем перекодирован в набор k-1контрастных переменных определенного типа. Каковы значения в корреляционной или косинусной матрице между этими контрастными переменными?

                     Balanced (equal size) groups     Unbalanced groups
Contrast type             cos        corr              cos        corr

INDICATOR                  0       -1/(k-1)             0         varied
DEVIATION                 .5          .5              varied      varied
SIMPLE                 -1/(k-1)    -1/(k-1)           varied      varied
HELMERT, REVHELMERT        0           0              varied      varied
REPEATED                varied   =  varied            varied      varied

   "=" means the two matrices are same while elements in matrix vary

Я даю таблицу для информации и оставляю ее без комментариев. Это имеет некоторое значение для более глубокого взгляда на общее линейное моделирование.

Пользовательские контрасты . Это то, что мы составляем, чтобы проверить собственную гипотезу сравнения. Обычно сумма в каждой, кроме первой строки L, должна быть 0, что означает, что две группы или две композиции групп сравниваются в этой строке (то есть по этому параметру).

Где параметры модели в конце концов ?

Это строки или столбцы L ? По всему тексту выше я говорил, что параметры соответствуют строкам L , поскольку строки представляют контрастные переменные, предикторы. В то время как столбцы являются уровнями фактора, группы. Это может показаться противоречащим, например, теоретическому блоку из ответа @Gus_est, где столбцы явно соответствуют параметрам:

ЧАС0:[01-1-0-000-1-1-000-0-1-1][β0β1β2β3β4]знак равно[000]

На самом деле противоречия нет, и ответ на «проблему» таков: как строки, так и столбцы матрицы коэффициентов контрастности соответствуют параметрам! Напомним, что контрасты (контрастные переменные), строки, были изначально созданы, чтобы представлять не что иное, как уровни факторов: это уровни, кроме опущенного эталонного. Сравните, пожалуйста, эти два эквивалентных написания L-матрицы для простого контраста:

L
          Gr1   Gr2   Gr3
          A=1   A=2   A=3(reference)
Const     1/3   1/3   1/3 
A1         1     0    -1  
A2         0     1    -1   

L
            b0    b1    b2    b3(redundant)
           Const  A=1   A=2   A=3(reference)
b0  Const   1    1/3   1/3   1/3 
b1  A1      0     1     0    -1  
b2  A2      0     0     1    -1   

Первый - это то, что я показал ранее, второй - более «теоретический» (для общей линейной модельной алгебры) макет. Просто был добавлен столбец, соответствующий постоянному члену. Коэффициенты параметра b обозначают строки и столбцы. Параметр b3, как избыточный, будет установлен на ноль. Вы можете псевдообратить второй макет, чтобы получить матрицу кодирования C , где внутри в правой нижней части вы найдете все еще правильные коды для контрастных переменных A1 и A2. Это будет так для любого описанного типа контраста (за исключением типа индикатора - где псевдообрат такого прямоугольного макета не даст правильного результата; возможно, поэтому для удобства был изобретен простой тип контраста: коэффициенты контрастности идентичны типу индикатора, но для постоянная строка).

Тип контраста и результаты таблицы ANOVA .

Таблица ANOVA показывает эффекты как объединенные (агрегированные) - например, основное влияние фактора A , тогда как контрасты соответствуют элементарным эффектам, контрастным переменным - A1, A2 и (опущено, ссылка) A3. Оценки параметров для элементарных терминов зависят от типа выбранного контраста, но объединенный результат - его средний квадрат и уровень значимости - один и тот же, независимо от типа. Omnibus ANOVA (скажем, односторонняя) нулевая гипотеза о том, что все три средства A равны, может быть выдвинута в ряде эквивалентных утверждений, и каждое из них будет соответствовать определенному типу контраста: (μ1знак равноμ2,μ2знак равноμ3)= повторный тип; = тип Гельмерта; ( μ 1 = μ 123 , μ 2 = μ 123 ) = тип отклонения; ( μ 1 = μ 3 , μ 2 = μ 3 ) = индикатор или простые типы.(μ1знак равноμ23,μ2знак равноμ3)(μ1знак равноμ123,μ2знак равноμ123)(μ1знак равноμ3,μ2знак равноμ3)

Программы ANOVA, реализованные с использованием общей парадигмы линейной модели, могут отображать как таблицу ANOVA (комбинированные эффекты: основное, взаимодействия), так и таблицу оценок параметров (элементарные эффекты b ). Некоторые программы могут выводить последнюю таблицу, соответствующую типу контраста, в качестве ставки пользователем, но большинство из них всегда выводит параметры, соответствующие одному типу - часто типу индикатора, потому что программы ANOVA, основанные на общей линейной модели, параметризируют специально фиктивные переменные (наиболее удобно сделать), а затем переключиться на контрасты по специальным «связующим» формулам, интерпретирующим фиксированный фиктивный ввод (произвольный) контраст.

Принимая во внимание, что в моем ответе - показывая ANOVA как регрессию - «связь» реализуется уже на уровне входа X , который призван ввести понятие подходящей схемы кодирования для данных.

Несколько примеров, показывающих тестирование контрастов ANOVA с помощью обычной регрессии .

Показывая в SPSS запрос тип контраста в ANOVA и получая тот же результат с помощью линейной регрессии. У нас есть некоторый набор данных с Y и факторами A (3 уровня, ссылка = последний) и B (4 уровня, ссылка = последний); найдите данные ниже позже.

Пример контрастов отклонения при полной факторной модели (A, B, A * B). Тип отклонения, запрошенный как для A, так и для B (мы можем выбрать разные типы для каждого фактора, для вашей информации).

Матрица коэффициента контрастности L для A и для B:

            A=1      A=2      A=3
Const     .3333    .3333    .3333 
dev_a1    .6667   -.3333   -.3333
dev_a2   -.3333    .6667   -.3333

            B=1      B=2      B=3      B=4
Const     .2500    .2500    .2500    .2500
dev_b1    .7500   -.2500   -.2500   -.2500 
dev_b2   -.2500    .7500   -.2500   -.2500 
dev_b3   -.2500   -.2500    .7500   -.2500

Запросить программу ANOVA ( GLMв SPSS) выполнить анализ отклонений и вывести явные результаты для контрастов отклонений:

введите описание изображения здесь

введите описание изображения здесь

Отклонение контрастного типа сравнивало A = 1 против великого невзвешенного среднего и A = 2 с тем же самым средним. Красные эллипсы чернила оценки разницы и их р-значения. Объединенный эффект над фактором A обозначен красным прямоугольником. Для фактора B каждый аналогично отмечен синим цветом. Отображение также таблицы ANOVA. Обратите внимание, что комбинированные контрастные эффекты равны основным эффектам в нем.

введите описание изображения здесь

Теперь давайте создадим физически контрастные переменные dev_a1, dev_a2, dev_b1, dev_b2, dev_b3 и запустим регрессию. Инвертировать L- матрицы для получения кодирующих C- матриц:

      dev_a1   dev_a2
A=1   1.0000    .0000 
A=2    .0000   1.0000 
A=3  -1.0000  -1.0000

      dev_b1   dev_b2   dev_b3
B=1   1.0000    .0000    .0000 
B=2    .0000   1.0000    .0000 
B=3    .0000    .0000   1.0000 
B=4  -1.0000  -1.0000  -1.0000

Столбец единиц (константа) опущен: поскольку мы будем использовать обычную программу регрессии (которая внутренне центрирует переменные, а также не допускает сингулярности), переменная Константа не понадобится. Теперь создайте данные X : на самом деле ручная перекодировка факторов в эти значения не требуется, одноходовое решение , где D - переменные индикатора (фиктивные), все столбцы ( количество уровней в факторе ).Иксзнак равноDСDkk

Создав контрастные переменные, умножьте их между различными факторами, чтобы получить переменные для представления взаимодействий (наша модель ANOVA была полностью факториальной): dev_a1b1, dev_a1b2, dev_a1b3, dev_a2b1, dev_a2b2, dev_a2b3. Затем запустите множественную линейную регрессию со всеми предикторами.

введите описание изображения здесь

Как и ожидалось, dev_a1 - это то же самое, что и эффект, как и контраст «Уровень 1 против Среднего»; dev_a2 - это то же самое, что было "Уровень 2 против Среднего", и т. д., и т. д. - сравните части с чернилами с анализом контрастности ANOVA выше.

Обратите внимание, что если бы мы не использовали переменные взаимодействия dev_a1b1, dev_a1b2 ... в регрессии, результаты будут совпадать с результатами анализа контрастности ANOVA только для основных эффектов.

Простой контрастный пример по той же полной факторной модели (A, B, A * B).

Матрица коэффициента контрастности L для A и для B:

            A=1      A=2      A=3
Const     .3333    .3333    .3333 
sim_a1   1.0000    .0000  -1.0000
sim_a2    .0000   1.0000  -1.0000

            B=1      B=2      B=3      B=4
Const     .2500    .2500    .2500    .2500
sim_b1   1.0000    .0000    .0000  -1.0000
sim_b2    .0000   1.0000    .0000  -1.0000
sim_b3    .0000    .0000   1.0000  -1.0000

Результаты ANOVA для простых контрастов:

введите описание изображения здесь

введите описание изображения здесь

Общие результаты (таблица ANOVA) такие же, как и с контрастами отклонений (сейчас не отображаются).

Создайте физически контрастные переменные sim_a1, sim_a2, sim_b1, sim_b2, sim_b3. Матрицы кодирования путем инвертирования L-матриц (без столбца Const):

      sim_a1   sim_a2
A=1    .6667   -.3333
A=2   -.3333    .6667
A=3   -.3333   -.3333

      sim_b1   sim_b2   sim_b3
B=1    .7500   -.2500   -.2500
B=2   -.2500    .7500   -.2500
B=3   -.2500   -.2500    .7500
B=4   -.2500   -.2500   -.2500

Иксзнак равноDС

введите описание изображения здесь

Как и прежде, мы видим, что результаты регрессии и ANOVA совпадают. Параметром регрессии простой контрастной переменной является разность (и проверка ее значимости) между этим уровнем фактора и его контрольным (последним, в нашем примере) уровнем.

Двухфакторные данные, используемые в примерах:

     Y      A      B
 .2260      1      1
 .6836      1      1
-1.772      1      1
-.5085      1      1
1.1836      1      2
 .5633      1      2
 .8709      1      2
 .2858      1      2
 .4057      1      2
-1.156      1      3
1.5199      1      3
-.1388      1      3
 .4865      1      3
-.7653      1      3
 .3418      1      4
-1.273      1      4
1.4042      1      4
-.1622      2      1
 .3347      2      1
-.4576      2      1
 .7585      2      1
 .4084      2      2
1.4165      2      2
-.5138      2      2
 .9725      2      2
 .2373      2      2
-1.562      2      2
1.3985      2      3
 .0397      2      3
-.4689      2      3
-1.499      2      3
-.7654      2      3
 .1442      2      3
-1.404      2      3
-.2201      2      4
-1.166      2      4
 .7282      2      4
 .9524      2      4
-1.462      2      4
-.3478      3      1
 .5679      3      1
 .5608      3      2
1.0338      3      2
-1.161      3      2
-.1037      3      3
2.0470      3      3
2.3613      3      3
 .1222      3      4

Определяемый пользователем пример контраста. Давайте иметь один фактор F с 5 уровнями. Я создам и протестирую набор пользовательских ортогональных контрастов в ANOVA и в регрессии.

введите описание изображения здесь

LL'

Давайте передадим матрицу в процедуру ANOVA SPSS для проверки контрастов. Что ж, мы можем подать хотя бы одну строку (контраст) из матрицы, но мы передадим всю матрицу, потому что - как и в предыдущих примерах - мы хотим получить те же результаты с помощью регрессии, а программе регрессии потребуется полная набор контрастных переменных (чтобы знать, что они принадлежат к одному фактору!). Мы добавим константную строку в L, как и прежде, хотя, если нам не нужно проверять перехват, мы можем его спокойно пропустить.

UNIANOVA Y BY F
  /METHOD=SSTYPE(3)
  /INTERCEPT=INCLUDE
  /CONTRAST (F)= special
       (.2 .2 .2 .2 .2
         3  3 -2 -2 -2
         1 -1  0  0  0
         0  0  2 -1 -1
         0  0  0  1 -1)
  /DESIGN=F.

Equivalently, we might also use this syntax (with a more flexible /LMATRIX subcommand)
if we omit the Constant row from the matrix.
UNIANOVA Y BY F
  /METHOD=SSTYPE(3)
  /INTERCEPT=INCLUDE
  /LMATRIX= "User contrasts"
       F  3  3 -2 -2 -2;
       F  1 -1  0  0  0;
       F  0  0  2 -1 -1;
       F  0  0  0  1 -1
  /DESIGN=F.

введите описание изображения здесь

Общий эффект контрастности (в нижней части рисунка) не совпадает с ожидаемым общим эффектом ANOVA:

введите описание изображения здесь

но это просто артефакт нашей вставки константного члена в L-матрицу. Для SPSS уже подразумевается Константа, когда определяются пользовательские контрасты. Удалите постоянную строку из L, и мы получим те же результаты контрастов (матрица K на рисунке выше) за исключением того, что контраст L0 не будет отображаться. И общий контрастный эффект будет соответствовать общему ANOVA:

введите описание изображения здесь

Сзнак равноL+Иксзнак равноDС

C
      use_f1   use_f2   use_f3   use_f4
F=1    .1000    .5000    .0000    .0000
F=2    .1000   -.5000    .0000    .0000
F=3   -.0667    .0000    .3333    .0000
F=4   -.0667    .0000   -.1667    .5000
F=5   -.0667    .0000   -.1667   -.5000

введите описание изображения здесь

Соблюдайте идентичность результатов. Данные, используемые в этом примере:

     Y      F
 .2260      1
 .6836      1
-1.772      1
-.5085      1
1.1836      1
 .5633      1
 .8709      1
 .2858      1
 .4057      1
-1.156      1
1.5199      2
-.1388      2
 .4865      2
-.7653      2
 .3418      2
-1.273      2
1.4042      2
-.1622      3
 .3347      3
-.4576      3
 .7585      3
 .4084      3
1.4165      3
-.5138      3
 .9725      3
 .2373      3
-1.562      3
1.3985      3
 .0397      4
-.4689      4
-1.499      4
-.7654      4
 .1442      4
-1.404      4
-.2201      4
-1.166      4
 .7282      4
 .9524      5
-1.462      5
-.3478      5
 .5679      5
 .5608      5
1.0338      5
-1.161      5
-.1037      5
2.0470      5
2.3613      5
 .1222      5

Контрасты в других анализах (M) ANOVA .

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

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


1
пожалуйста, не ограничивайте этот ответ только anova, если это возможно. Тег [anova] был добавлен @amoeba к тому времени, когда вы ответили на мой вопрос, но я не хочу, чтобы ответ ограничивался только anova.
Любопытно

СLСL

@amoeba, я не знаком с "матрицей контраста" и почти уверен, что она обозначает "матрицу контрастности" или L-матрицу, которая является официальным или, по крайней мере, широко распространенным термином в (M) ANOVA / GLM. Термин «матрица контрастного кодирования» упоминается гораздо реже, поскольку он представляет собой просто обобщенное представление матрицы проекта X; Я видел слово «матрица базиса», используемое в работах старшего статистика SPSS Дейва Николса. Безусловно, матрицы L (официальная метка) и C (произвольная метка?) Настолько тесно связаны, что вряд ли можно обсуждать одно без другого. Я полагаю, что «контрастная матрица» должна рассматриваться как эта пара.
ttnphns

1
Да, я согласен. К настоящему времени я убежден, что «контрастная матрица» - это термин, который используется только в сообществе R и относится к схеме кодирования. Я проверил учебник, на который ссылается Gus_est, и они никогда не используют термин «контрастная матрица», они говорят только о «контрастах» (см. Мой последний комментарий под его ответом). ОП явно спрашивал о «контрастной матрице» в смысле Р.
говорит амеба: восстанови монику

1
That L will determine what are you going to test, you aren't free anymore to choose what to testβязнак равно0β1-β2/2-β3/2знак равно0

17

Я буду использовать строчные буквы для векторов и прописные буквы для матриц.

В случае линейной модели формы:

Yзнак равноИксβ+ε

ИксN×(К+1)К+1Nε~N(0,σ2)

β^(ИксИкс)-1ИксYИксИкс

Икс(ИксИкс)-1(ИксИкс)-

β

β^знак равно(ИксИкс)-ИксYЕ(β^)знак равно(ИксИкс)-ИксИксβ,

Итак, мы не можем оценить ββ

βграммβaЕ(aY)знак равнограммβ


грамм

И контрасты возникают в контексте категориальных предикторов в линейной модели. (если вы посмотрите руководство, связанное с @amoeba, вы увидите, что все их контрастное кодирование связано с категориальными переменными). Затем, отвечая на @Curious и @amoeba, мы видим, что они возникают в ANOVA, но не в «чистой» регрессионной модели с только непрерывными предикторами (мы также можем говорить о контрастах в ANCOVA, поскольку в нем есть некоторые категориальные переменные).


Yзнак равноИксβ+ε
ИксЕ(Y)знак равноИксβграммβaaИксзнак равнограммграммИксaaИксзнак равнограмм, как мы можем видеть в примере ниже.

Пример 1

YяJзнак равноμ+αя+εяJ,язнак равно1,2,Jзнак равно1,2,3.

Иксзнак равно[110110110101101101],βзнак равно[μτ1τ2]

граммзнак равно[0,1,-1][0,1,-1]βзнак равноτ1-τ2

aaИксзнак равнограммaзнак равно[0,0,1,-1,0,0]aзнак равно[1,0,0,0,0,-1]aзнак равно[2,-1,0,0,1,-2]


Пример 2

YяJзнак равноμ+αя+βJ+εяJ,язнак равно1,2,Jзнак равно1,2

Иксзнак равно[11010110011011010101],βзнак равно[μα1α2β1β2]

Икс

Икс

[1-10-10000-110-11-000-11-11]

[1-10-10000-110-11-000-00-00]

β

грамм1βзнак равноμ+α1+β1грамм2βзнак равноβ2-β1грамм3βзнак равноα2-α1

грамм2βграмм3βграмм


YяJзнак равноμ+αя+εяJ,язнак равно1,2,...,К,Jзнак равно1,2,...,N,

ЧАС0:α1знак равно...знак равноαК

Иксβзнак равно(μ,α1,...,αК)βграммΣяграммязнак равно0ΣяграммяαяΣяграммязнак равно0 .

Почему это правда?

граммβзнак равно(0,грамм1,...,граммК)βзнак равноΣяграммяαяaграммзнак равноaИксИксaзнак равно[a1,...,aК]

[0,грамм1,...,граммК]знак равнограммзнак равноaИксзнак равно(Σяaя,a1,...,aК)

И результат следует.


ЧАС0:Σграммяαязнак равно0ЧАС0:2α1знак равноα2+α3ЧАС0:α1знак равноα2+α32α1α2α3

ЧАС0:граммβзнак равно0граммзнак равно(0,грамм1,грамм2,...,граммК)Qзнак равно1

Fзнак равно[граммβ^][грамм(ИксИкс)-грамм]-1граммβ^SSЕ/К(N-1),

Если ЧАС0:α1знак равноα2знак равно...знак равноαКграммβзнак равно0

граммзнак равно[грамм1грамм2граммК]
граммяграммJзнак равно0ЧАС0:граммβзнак равно0Fзнак равноSSHранг(грамм)SSEК(N-1)SSHзнак равно[граммβ^][грамм(ИксИкс)-1грамм]-1граммβ^

Пример 3

Кзнак равно4ЧАС0:α1знак равноα2знак равноα3знак равноα4,

ЧАС0:[α1-α2α1-α3α1-α4]знак равно[000]

ЧАС0:граммβзнак равно0

ЧАС0:[01-1-0-001-0-1-001-0-1-1]грамм,наша контрастная матрица[μα1α2α3α4]знак равно[000]

Итак, мы видим, что три строки нашей контрастной матрицы определяются коэффициентами контрастов интереса. И каждый столбец дает уровень фактора, который мы используем в нашем сравнении.


Практически все, что я написал, было взято \ скопировано (беззастенчиво) из Rencher & Schaalje, «Линейные модели в статистике», главы 8 и 13 (примеры, формулировка теорем, некоторые интерпретации), но других вещей, таких как термин «контрастная матрица» "(который, действительно, не фигурирует в этой книге) и его определение, данное здесь, были моими собственными.


Относительно контрастной матрицы ОП к моему ответу

Одна из матриц ОП (которую также можно найти в этом руководстве ) заключается в следующем:

> contr.treatment(4)
  2 3 4
1 0 0 0
2 1 0 0
3 0 1 0
4 0 0 1

[Y11Y21Y31Y41]знак равно[μμμμ]+[a1a2a3a4]+[ε11ε21ε31ε41]

[Y11Y21Y31Y41]знак равно[11000101001001010001]Икс[μa1a2a3a4]β+[ε11ε21ε31ε41]

a1ИксИкс~

[1-10000-11000-10100-1001]

[000100010001]

Таким образом, матрица contr.treatment (4) говорит нам, что они сравнивают факторы 2, 3 и 4 с фактором 1 и сравнивают фактор 1 с константой (это мое понимание вышеизложенного).

грамм

[0-11000-10100-1001]

ЧАС0:граммβзнак равно0

hsb2 = read.table('http://www.ats.ucla.edu/stat/data/hsb2.csv', header=T, sep=",")

y<-hsb2$write

dummies <- model.matrix(~factor(hsb2$race)+0)
X<-cbind(1,dummies)

# Defining G, what I call contrast matrix
G<-matrix(0,3,5)
G[1,]<-c(0,-1,1,0,0)
G[2,]<-c(0,-1,0,1,0)
G[3,]<-c(0,-1,0,0,1)
G
     [,1] [,2] [,3] [,4] [,5]
[1,]    0   -1    1    0    0
[2,]    0   -1    0    1    0
[3,]    0   -1    0    0    1

# Estimating Beta

X.X<-t(X)%*%X
X.y<-t(X)%*%y

library(MASS)
Betas<-ginv(X.X)%*%X.y

# Final estimators:
G%*%Betas
          [,1]
[1,] 11.541667
[2,]  1.741667
[3,]  7.596839

И оценки одинаковы.


Относительно ответа @ttnphns на мой.

Jзнак равно1

YяJзнак равноμ+aя+εяJ,за язнак равно1,2,3

ЧАС0:a1знак равноa2знак равноa3ЧАС0:a1-a3знак равноa2-a3знак равно0a3 в нашем справочнике группы / фактор.

Это может быть записано в матричной форме как:

[Y11Y21Y31]знак равно[μμμ]+[a1a2a3]+[ε11ε21ε31]

[Y11Y21Y31]знак равно[110010101001]Икс[μa1a2a3]β+[ε11ε21ε31]

ИксИкс~

Икс~знак равно[010-1001-1100-1]

LИкс~β

[010-1001-1100-1][μa1a2a3]знак равно[a1-a3a2-a3μ+a3]

с1βзнак равноa1-a3с2βзнак равноa2-a3с3βзнак равноμ+a3

ЧАС0:сяβзнак равно0 , из вышесказанного видно, что мы сравниваем нашу константу с коэффициентом для контрольной группы (a_3); коэффициент group1 к коэффициенту group3; и коэффициент группы2 к группе3. Или, как сказал @ttnphns: «После коэффициентов сразу видно, что оценочная константа будет равна среднему значению Y в контрольной группе; параметр b1 (т.е. фиктивная переменная A1) будет равняться разнице: среднее значение Y в группе1 минус Y означает в группе 3, а параметр b2 - это разница: среднее в группе 2 минус среднее в группе 3 ".

с1с2грамм

граммзнак равно[010-1001-1]

ЧАС0:граммβзнак равно0

пример

Мы будем использовать те же данные, что и @ttnphns "Пользовательский пример контраста" (я хотел бы отметить, что теория, которую я здесь написал, требует нескольких модификаций для рассмотрения моделей с взаимодействиями, поэтому я выбрал этот пример. Однако определения контрастов и - что я называю - контрастной матрицы остаются прежними).

Y<-c(0.226,0.6836,-1.772,-0.5085,1.1836,0.5633,0.8709,0.2858,0.4057,-1.156,1.5199,
     -0.1388,0.4865,-0.7653,0.3418,-1.273,1.4042,-0.1622,0.3347,-0.4576,0.7585,0.4084,
     1.4165,-0.5138,0.9725,0.2373,-1.562,1.3985,0.0397,-0.4689,-1.499,-0.7654,0.1442,
     -1.404,-0.2201,-1.166,0.7282,0.9524,-1.462,-0.3478,0.5679,0.5608,1.0338,-1.161,
     -0.1037,2.047,2.3613,0.1222)

F_<-c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,
    5,5,5,5,5,5,5,5,5,5,5)

dummies.F<-model.matrix(~as.factor(F_)+0)

X_F<-cbind(1,dummies.F)

G_F<-matrix(0,4,6)
G_F[1,]<-c(0,3,3,-2,-2,-2)
G_F[2,]<-c(0,1,-1,0,0,0)
G_F[3,]<-c(0,0,0,2,-1,-1)
G_F[4,]<-c(0,0,0,0,1,-1)

 G 
 [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    0    3    3   -2   -2   -2
[2,]    0    1   -1    0    0    0
[3,]    0    0    0    2   -1   -1
[4,]    0    0    0    0    1   -1

# Estimating Beta 

X_F.X_F<-t(X_F)%*%X_F
X_F.Y<-t(X_F)%*%Y

Betas_F<-ginv(X_F.X_F)%*%X_F.Y

# Final estimators:
G_F%*%Betas_F
           [,1]
[1,]  0.5888183
[2,] -0.1468029
[3,]  0.6115212
[4,] -0.9279030

Итак, у нас одинаковые результаты.


Заключение

Мне кажется, что нет единого определяющего понятия, что такое контрастная матрица.

Если вы возьмете определение контраста, данное Шеффе («Анализ отклонений», стр. 66), вы увидите, что это оценочная функция, коэффициенты которой суммируются с нулем. Итак, если мы хотим проверить различные линейные комбинации коэффициентов наших категориальных переменных, мы используем матрицуграмм, Это матрица, в которой строки суммируются в ноль, которую мы используем для умножения нашей матрицы коэффициентов, чтобы сделать эти коэффициенты оценочными. Его строки указывают на различные линейные комбинации контрастов, которые мы тестируем, а столбцы указывают, какие факторы (коэффициенты) сравниваются.

Как матрица грамм выше построено таким образом, что каждая из его строк состоит из вектора контраста (сумма которого равна 0), для меня имеет смысл назвать грамм «контрастная матрица» (Монахан - «Учебник по линейным моделям» - также использует эту терминологию).

Однако, как прекрасно объясняет @ttnphns, программные средства называют что-то еще «контрастной матрицей», и я не смог найти прямой связи между матрицей грамми встроенные команды / матрицы из SPSS (@ttnphns) или R (вопрос OP), только сходства. Но я считаю, что представленная здесь хорошая дискуссия / колористика поможет прояснить такие понятия и определения.


пожалуйста, не ограничивайте этот ответ только anova, если это возможно. Тег [anova] был добавлен @amoeba к тому времени, когда вы ответили на мой вопрос, но я не хочу, чтобы ответ ограничивался только anova.
Любопытно

Большое спасибо за такое большое обновление. Я удалил некоторые из моих комментариев выше, которые уже устарели (вы можете удалить некоторые из ваших, например, первый). Однако теперь мне ясно, что «контрастная матрица» в вашем (и в смысле Монахана) нечто совершенно иное от «контрастной матрицы» в том смысле, в каком она используется в этом руководстве по R, а также в оригинальном вопросе здесь (что называет ttnphns). С-матрица). Я думаю, что будет иметь смысл, если вы отметите где-нибудь в своем ответе об этой разнице.
амеба говорит восстановить монику

У меня проблемы с пониманием, начиная с примера 1. Что такоея J в вашей записи YяJ? Что такоеaя и что делают столбцы од Икспредставлять? Это постоянный термин (столбец единиц) и две фиктивные переменные?
ttnphns

@ttnphns: я является индексирующей группой (в примере 1 есть две группы), J индексирует точку данных внутри каждой группы. μ постоянная и αя являются константами для каждой группы, так что μ+αя групповые средства (так μ может быть полное среднее значение и αяможет быть отклонение группы средств от общего среднего значения). КолонныИкспостоянный срок и два манекена, да.
говорит амеба: восстанови Монику

Спасибо за этот ответ, но я, вероятно, никогда не смогу и не успею его понять. И я изучал математику :-) Я ожидал некоторого очень простого определения в качестве ответа :-)
Любопытно

7

«Контрастная матрица» не является стандартным термином в статистической литературе. Он может иметь [как минимум] два взаимосвязанных разных значения:

  1. Матрица, определяющая конкретную нулевую гипотезу в регрессии ANOVA (не связанной со схемой кодирования), где каждая строка представляет собой контраст . Это не стандартное использование термина. Я использовал полнотекстовый поиск в самолетах Кристенсена « Ответы на сложные вопросы» , Резерфорд представил ANOVA и ANCOVA; Подход GLM и линейные модели Ренчера и Шаалье в статистике . Все они много говорят о «контрастах», но никогда не упоминают термин «контрастная матрица». Однако, как @Gus_est нашел, этот термин будет использоваться в Монахэн в качестве грунтовки на линейных моделях .

  2. Матрица, определяющая схему кодирования для матрицы проектирования в регрессии ANOVA. Именно так в сообществе R используется термин «контрастная матрица» (см., Например, это руководство или эту страницу помощи ).

Ответ @Gus_est раскрывает первое значение. Ответ @ttnphns исследует второе значение (он называет это «матрицей контрастного кодирования», а также обсуждает «матрицу коэффициентов контрастности», которая является стандартным термином в литературе SPSS).


Насколько я понимаю, вы спрашивали о значении # 2, так что вот определение:

«Контрастная матрица» в смысле R К×К матрица С где К количество групп, определяющее, как членство в группах закодировано в матрице проекта Икс, В частности, еслимнаблюдение относится к группе я тогда ИксмJзнак равноСяJ,

Примечание: обычно первый столбецСявляется столбцом всех единиц (соответствует столбцу пересечения в матрице проекта). Когда вы вызываете R команды, как contr.treatment(4), вы получаете матрицуС без этого первого столбца.


Я планирую расширить этот ответ, чтобы сделать расширенный комментарий о том, как ответы @ttnphns и @Gus_est сочетаются друг с другом.


The answer by @Gus_est explores the first meaning. The answer by @ttnphns explores the second meaning.Я протестую (И удивляюсь, услышав - после того, как мы оба долго говорили об определениях в комментариях к mty-ответу.) Я предложил два термина: матрица коэффициентов контрастности (где строки - контрасты, линейная комбинация средних значений) или L-матрица, и матрица схемы контрастного кодирования , также известная как C-матрица. Оба связаны, я обсуждал оба.
ttnphns

(продолжение.) Контраст Коэффициент L матрица является стандартным термином в ANOVA / общей линейной модели, используемые в текстах , и в SPSS документы, например . Схемы кодирования смотрите здесь .
ttnphns

You were asking about meaning #2Мы на самом деле не уверены, что означает термин ОП. ОП показал несколько примеров схем контрастного кодирования - это не обязательно означает, что он / она не интересовался L матрицами.
ttnphns

1
Я счастлив, что сейчас мы говорим на одном языке. По крайней мере, так кажется. Было бы хорошо для всех, особенно для читателя, если вы ответите на вопрос, демонстрируя, как отчеты Gus и ttnphns преобразуются в один и тот же результат. Если вы хотите достичь.
ttnphns

1
(продолжение) Конечно, L-матрица в обоих «подходах» одинакова (и таинственная G-матрица не требуется). Покажите, что два эквивалентных пути (L - произвольный, X - пустышки): L -> XC -> regression -> resultи X -> [regression -> adjusting to test for L] -> resultоставьте один и тот же результат. Второй путь - это то, как будет работать программа ANOVA (часть в скобках []); 1-й путь - это дидактическая демонстрация того, как контрасты разрешимы только с помощью регрессионной программы.
ttnphns

3

Контраст сравнивает две группы, сравнивая их разницу с нулем. В контрастной матрице строки являются контрастами и должны быть добавлены к нулю, столбцы - это группы. Например:

Допустим, у вас есть 4 группы A, B, C, D, которые вы хотите сравнить, тогда контрастная матрица будет:

Группа: ABCD
A против B: 1 -1 0 0
C против D: 0 0 -1 1
A, B против D, C: 1 1 -1 -1

Перефразируя из понимания промышленных экспериментов :

Если есть группа из k объектов для сравнения со средними значениями k подгрупп, контрастность в этом наборе из k объектов определяется любым набором из k коэффициентов, [c1, c2, c3, ... cj, ..., ck ] эта сумма к нулю.

Пусть C будет контрастом, тогда

Сзнак равнос1μ1+с2μ2+,,,сJμJ+,,,сКμК

Сзнак равноΣJзнак равно1КсJμJ

с ограничением

ΣJзнак равно1КсJзнак равно0

Те подгруппы, которым присвоен нулевой коэффициент, будут исключены из сравнения. (*)

Фактически сравнение определяют знаки коэффициентов, а не выбранные значения. Абсолютные значения коэффициентов могут быть любыми, если сумма коэффициентов равна нулю.

(*) Каждое статистическое программное обеспечение имеет свой способ указания, какие подгруппы будут исключены / включены.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.