СПС по корреляции или ковариации?

153

Каковы основные различия между выполнением анализа главных компонентов (PCA) на матрице корреляции и ковариационной матрице? Они дают одинаковые результаты?

случайный
источник
2
Поздний ответ, но вы можете найти ОЧЕНЬ полезные раздаточные материалы по многомерному анализу данных «по-французски» в отделе биоинформатики Лиона. Они получены от авторов пакета R ade4 . Это по-французски, хотя.
ЧЛ
3
Для дополнительного обсуждения, пожалуйста, посетите stats.stackexchange.com/questions/62677/… .
whuber

Ответы:

130

Вы склонны использовать ковариационную матрицу, когда переменные шкалы похожи, и корреляционную матрицу, когда переменные находятся в разных шкалах.

Использование матрицы корреляции эквивалентно стандартизации каждой из переменных (для обозначения 0 и стандартного отклонения 1). В целом, PCA с и без стандартизации даст разные результаты. Особенно когда весы разные.

В качестве примера рассмотрим этот heptathlonнабор данных R. Некоторые из переменных имеют среднее значение около 1,8 (прыжок в высоту), в то время как другие переменные (пробег 800 м) около 120.

library(HSAUR)
heptathlon[,-8]      # look at heptathlon data (excluding 'score' variable)

Это выводит:

                   hurdles highjump  shot run200m longjump javelin run800m
Joyner-Kersee (USA)   12.69     1.86 15.80   22.56     7.27   45.66  128.51
John (GDR)            12.85     1.80 16.23   23.65     6.71   42.56  126.12
Behmer (GDR)          13.20     1.83 14.20   23.10     6.68   44.54  124.20
Sablovskaite (URS)    13.61     1.80 15.23   23.92     6.25   42.78  132.24
Choubenkova (URS)     13.51     1.74 14.76   23.93     6.32   47.46  127.90
...

Теперь давайте сделаем PCA на ковариацию и корреляцию:

# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)

biplot(hep.PC.cov)
biplot(hep.PC.cor)  

СПС по корреляции или ковариации

Обратите внимание, что PCA на ковариации преобладают run800mи javelin: PC1 почти равен run800m(и объясняет отклонения), а PC2 почти равен (вместе они объясняют ). PCA по корреляции гораздо более информативен и показывает некоторую структуру данных и взаимосвязи между переменными (но обратите внимание, что объясненная разница падает до и ).82%97 % 64 % 71 %javelin97%64%71%

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

csgillespie
источник
Какова ситуация, если я сначала конвертирую переменные в z-показатели?
Jirka-x1
9
@ Jirka-x1 ковариационная матрица стандартизированных переменных (т. Е. Z баллов) равна корреляционной матрице.
Алексис
@Alexis Следовательно, можно ли сделать вывод, что ковариационная матрица стандартизированных переменных равна корреляционной матрице стандартизированных переменных?
ДБ
1
@JamieBullock (ковариационная матрица) для стандартизированных данных = (корреляционная матрица). ли данные стандартизированными (корреляция нечувствительна к линейным преобразованиям данных. Так, например, если у вас есть и и они коррелируют с , тогда если и и также коррелируют с ). ΣRR=RXYrXYX=aX+bY=aY+b XYrXY
Алексис
Одно важное замечание: при использовании ковариации в вашем PCA ваши компьютеры не будут коррелироваться друг с другом, что не относится к PCA на основе корреляции. Это особенно важно, когда мы собираемся выполнить PCA до регрессии в многолинейном наборе объясняющих переменных. Однако теория, лежащая в основе этого, не ясна. Может ли кто-нибудь пролить свет на эту разницу?
Уран
54

Бернард Флери в своей превосходной книге, посвященной многомерному анализу, описал это как антисвойство главных компонентов. Это на самом деле хуже, чем выбирать между корреляцией или ковариацией. Если вы изменили единицы измерения (например, галлоны в американском стиле, дюймы и т. Д., Литры в европейском стиле, сантиметры), вы получите существенно разные проекции данных.

Аргумент против автоматического использования матриц корреляции заключается в том, что это довольно грубый способ стандартизации ваших данных. Проблема с автоматическим использованием ковариационной матрицы, которая очень очевидна для этих данных гепаталона, состоит в том, что переменные с наибольшей дисперсией будут доминировать над первым главным компонентом (свойство максимизации дисперсии).

Таким образом, «лучший» метод для использования основан на субъективном выборе, тщательном осмыслении и некотором опыте.

Пол Хьюсон
источник
46

НЕТРАНСФОРМИРОВАННЫЕ (RAW) ДАННЫЕ: Если у вас есть переменные с широко варьирующимися шкалами для необработанных, нетрансформированных данных, то есть калорийность питания в день, экспрессия генов, ELISA / Luminex в единицах мкг / дл, нг / дл, на основе нескольких порядков Величина экспрессии белка, а затем использовать корреляцию в качестве входных данных для PCA. Однако, если все ваши данные основаны, например, на экспрессии генов на той же платформе с аналогичным диапазоном и масштабом, или вы работаете с доходностью активов журнала, тогда использование корреляции приведет к огромному количеству информации.

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

ПРЕОБРАЗОВАННЫЕ ДАННЫЕ: Если данные были преобразованы с помощью нормализации, процентилей или стандартизации среднего нуля (т. Е. баллов), так что диапазон и масштаб всех непрерывных переменных одинаковы, то вы можете использовать матрицу ковариации без проблем. (корреляция будет означать-ноль стандартизировать переменные). Напомним, однако, что эти преобразования не будут устранять асимметрию (т. Е. Левый или правый хвост на гистограммах) в ваших переменных до запуска PCA . Типичный анализ PCA не включает устранение асимметрии; однако некоторым читателям может потребоваться устранить асимметрию, чтобы соответствовать строгим нормальным нормам.ZC

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

ПЕРЕКЛЮЧЕННЫЕ ПЕРЕМЕННЫЕ: Если какая-либо из переменных перекошена с левым или правым хвостом в их гистограммах, т. Е. Критерий нормальности Шапиро-Уилка или Лилифорса является значительным , то могут возникнуть некоторые проблемы, если вам нужно применить нормальность предположение. В этом случае используйте оценки Ван-дер-Вардена (преобразования), определенные для каждой переменной. Оценка Ван дер Вардена (VDW) для одного наблюдения - это просто обратное кумулятивное (стандартное) нормальное отображение значения процентиля наблюдения. Например, скажем, у вас есть наблюдений для непрерывной переменной, вы можете определить баллы VDW, используя:(P<0.05)n=100

  1. Сначала отсортируйте значения в порядке возрастания, затем назначьте ранги, чтобы получить рангиRi=1,2,,100.
  2. Затем определите процентиль для каждого наблюдения как . pcti=Ri/(n+1)
  3. Как только значения процентиля получены, введите их в функцию обратного отображения для CDF стандартного нормального распределения, то есть , чтобы получить баллы для каждого, используя . N(0,1)ZZi=Φ1(pcti)

Например, если вы подключите значение 0.025, вы получите . То же самое касается значения плагина , вы получите . pcti1.96=Φ1(0.025)pcti=0.9751.96=Φ1(0.975)

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

JoleT
источник
7
Это, безусловно, самый разумный ответ здесь, поскольку он действительно дает правильное представление о том, что ковариация выигрывает, когда это необходимо. Слишком много ответов здесь и в других местах упоминают обычное «это зависит», фактически не давая твердой основы того, почему следует предпочитать ковариацию, если это возможно . Здесь lep делает: ковариация не высекает какую-либо информацию о корреляции. Хороший пример данных об акциях: запасы с высокой бета-версией, конечно, будут иметь более высокие нагрузки, но они, вероятно, должны , как и любой аспект любого анализа, который более волатилен, обычно более интересен (в пределах разумного).
Томас Браун
3
Конечно, рассматриваемая проблема должна быть проанализирована на предмет того, является ли более высокая дисперсия интересным аспектом анализа. Если это не так, то, конечно, корреляция лучше, и это определенно верно, если единицы измерения разные.
Томас Браун
Отличный ответ +1. Я предполагаю, что еще одним примером может быть применение PCA для анализа временной структуры доходности облигаций в финансах. Различия в доходности при различных сроках погашения варьируются, но, поскольку все они являются доходностями, варьирующиеся масштабы обычно не являются неприемлемо широкими. Действительно, большая / меньшая волатильность определенной доходности к погашению сама по себе предоставляет богатую информацию.
Николай
11

Распространенный ответ заключается в том, чтобы предположить, что ковариация используется, когда переменные находятся в одном и том же масштабе, и корреляция, когда их масштабы различны. Однако это верно только тогда, когда масштаб переменных не является фактором. Иначе зачем кому-то делать ковариацию PCA? Было бы безопаснее всегда выполнять корреляцию PCA.

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

Рассмотрим сейчас население людей в разных штатах. Единицы измерения одинаковы - количество человек. Теперь масштабы могут быть другими: DC имеет 600K и CA - 38M человек. Должны ли мы использовать корреляционную матрицу здесь? По-разному. В некоторых приложениях мы хотим настроить размер государства. Использование ковариационной матрицы является одним из способов построения факторов, которые учитывают размер государства.

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

Аксакал
источник
2

Лично я считаю очень ценным обсуждение этих вариантов в свете модели анализа главных компонентов максимального правдоподобия (MLPCA) [1,2]. В MLPCA применяется масштабирование (или даже вращение), чтобы погрешности измерения в измеряемых переменных были независимыми и распределялись в соответствии со стандартным нормальным распределением. Это масштабирование также известно как максимальное правдоподобие (MALS) [3]. В некоторых случаях модель PCA и параметр, определяющий масштабирование / вращение MALS, могут оцениваться вместе [4].

Чтобы интерпретировать PCA на основе корреляции и ковариации, можно утверждать, что:

  1. PCA на основе ковариации эквивалентна MLPCA всякий раз, когда дисперсионно-ковариационная матрица ошибок измерения предполагается диагональной с равными элементами на ее диагонали. Затем дисперсионный параметр погрешности измерения может быть оценен с использованием модели вероятностного анализа главных компонентов (PPCA) [5]. Я считаю это разумным допущением в нескольких случаях, которые я изучал, в частности, когда все измерения относятся к одному и тому же типу переменной (например, все потоки, все температуры, все концентрации или все измерения поглощения). Действительно, можно с уверенностью предположить, что ошибки измерения для таких переменных распределены независимо и одинаково.
  2. Основанный на корреляции PCA эквивалентен MLPCA всякий раз, когда матрица дисперсии-ковариации ошибок измерения предполагается диагональной с каждым элементом на диагонали, пропорциональной общей дисперсии соответствующей измеряемой переменной. Хотя это популярный метод, я лично считаю предположение о соразмерности необоснованным в большинстве случаев, которые я изучаю. Как следствие, это означает, что я не могу интерпретировать PCA на основе корреляции как модель MLPCA. В случаях, когда (1) подразумеваемые предположения о PCA на основе ковариации не применяются и (2) интерпретация MLPCA является ценной, я рекомендую использовать вместо этого один из методов MLPCA [1-4].
  3. PCA на основе корреляции и ковариации будет давать точно такие же результаты, как, например, скалярный множитель, когда все дисперсии для каждой переменной в точности равны друг другу. Когда эти индивидуальные отклонения похожи, но не одинаковы, оба метода дают одинаковые результаты.

Как уже говорилось выше, окончательный выбор зависит от допущений, которые вы делаете. Кроме того, полезность любой конкретной модели зависит также от контекста и цели вашего анализа. Цитируя Джорджа EP Box: «Все модели не правы, но некоторые полезны».

[1] Wentzell, PD, Andrews, DT, Hamilton, DC, Faber, K. & Kowalski, BR (1997). Анализ главных компонент максимального правдоподобия. Журнал Chemometrics, 11 (4), 339-366.

[2] Wentzell, PD & Lohnes, MT (1999). Анализ главных компонент с максимальной вероятностью с коррелированными ошибками измерения: теоретические и практические соображения Хемометрика и интеллектуальные лабораторные системы, 45 (1-2), 65-85.

[3] Hoefsloot, HC, Verouden, MP, Westerhuis, JA, & Smilde, AK (2006). Масштабирование максимального правдоподобия (MALS). Журнал Chemometrics, 20 (3‐4), 120-127.

[4] Нарасимхан С. и Шах, С.Л. (2008). Идентификация модели и оценка ковариационной матрицы ошибок по зашумленным данным с использованием PCA. Контрольно-инженерная практика, 16 (1), 146-155.

[5] Tipping, ME & Bishop, CM (1999). Вероятностный анализ главных компонент. Журнал Королевского статистического общества: Серия B (Статистическая методология), 61 (3), 611-622.

Крис Виллез
источник
-1

Прямо и просто: если весы похожи, используйте cov-PCA, если нет - используйте corr-PCA; в противном случае, лучше не защищаться. Если вы сомневаетесь, используйте F-тест на равенство дисперсий (ANOVA). Если он не прошел F-тест, используйте corr; в противном случае используйте cov.

Медвежья нога
источник
2
-1. Я не понимаю, почему проведение F-теста может быть уместным здесь. PCA - это исследовательский метод, а не подтверждающий (как и статистические тесты).
амеба
-5

Аргументы, основанные на масштабе (для переменных, выраженных в тех же физических единицах) кажутся довольно слабыми. Представьте себе набор (безразмерных) переменных, стандартные отклонения которых колеблются от 0,001 до 0,1. По сравнению со стандартизированным значением 1 они оба кажутся «небольшими» и сопоставимыми уровнями колебаний. Однако, когда вы выражаете их в децибелах, это дает диапазон -60 дБ против -10 и 0 дБ соответственно. Тогда это, вероятно, будет классифицировано как «большой диапазон» - особенно если вы включите стандартное отклонение, близкое к 0, то есть минус бесконечность дБ.

Мое предложение состояло бы в том, чтобы сделать ОБА основанный на корреляции и ковариации PCA. Если эти двое дают одинаковые (или очень похожие, что бы это ни значило) ПК, тогда вы можете быть уверены, что у вас есть ответ, который имеет смысл. Если они дают разные ПК, не используйте PCA, потому что два разных ответа на одну проблему - это не разумный способ решения вопросов.

Lucozade
источник
9
(-1) Получение «двух разных ответов на одну и ту же проблему» часто просто означает, что вы бездумно отбиваетесь, не задумываясь о том, какая техника подходит для ваших аналитических целей. Это не означает, что один или (как вы заявляете) оба метода не имеют смысла, но только то, что по крайней мере один из них может не подходить для проблемы или данных. Кроме того, во многих случаях можно ожидать, что PCA на основе ковариации и PCA на основе корреляции должны давать разные ответы. В конце концов, они измеряют различные аспекты данных. Делать оба по умолчанию не имеет смысла.
whuber
На самом деле очень разумно получить 2 разных ответа при использовании PCA с корреляцией и ковариацией. В случае с акциями это вопрос о том, следует ли учитывать бета-версии (или стандартное отклонение)
Juancentro