PCA и исследовательский факторный анализ по одному и тому же набору данных: различия и сходства; фактор-модель против PCA

19

Я хотел бы знать, имеет ли какой-либо логический смысл проводить анализ основных компонентов (PCA) и анализ факторных факторов (EFA) на одном и том же наборе данных. Я слышал, профессионалы прямо рекомендуют:

  1. Понять, какова цель анализа, и выбрать PCA или EFA для анализа данных;
  2. Сделав один анализ, нет необходимости делать другой анализ.

Я понимаю мотивационные различия между ними, но мне просто интересно, есть ли что-то неправильное в интерпретации результатов, представленных PCA и EFA одновременно?

user42538
источник
8
Почему небезопасность? Если вы понимаете мотивационные различия между ними, вы должны занять одну из двух позиций: расценивать их как взаимодополняющие и быть готовыми изучить обе. Считайте кого-то более убедительным за то, что вы хотите сделать. Кажется, вы хотите, чтобы вам сказали, что есть правильная вещь, но PCA с или против FA - такая давняя область противоречий, что, если два эксперта соглашаются, обычно только они оба не согласны с третьим экспертом, но для разных причины.
Ник Кокс
Что ты изучаешь? Некоторые социальные науки, такие как счастье или объективные данные, такие как процентные ставки?
Аксакал

Ответы:

20

Обе модели - главный компонент и общий фактор - являются похожими прямыми линейными регрессионными моделями, предсказывающими наблюдаемые переменные по скрытым переменным. Пусть у нас есть центрированные переменные V1 V2 ... Vp, и мы решили извлечь 2 компонента / фактора FI и FII . Тогда модель представляет собой систему уравнений:

V1=a1IFI+a1IIFII+E1

V2=a2IFI+a2IIFII+E2

...

Vp=

где коэффициент a представляет собой нагрузку, F является фактором или компонентом, а переменная E является остатками регрессии. Здесь модель FA отличается от модели PCA именно тем, что FA накладывает требование: переменные E1, E2 ... Ep (члены ошибки, которые не связаны с F s) не должны коррелировать друг с другом ( см. Рисунки ). Эти переменные ошибки FA называют «уникальными факторами»; их дисперсии известны («уникальности»), а их регистр значений - нет. Поэтому факторные оценки F рассчитываются только как хорошие приближения, они не являются точными.

(Представление матричной алгебры этой модели общего факторного анализа приведено в сноске )1

Принимая во внимание, что в PCA переменные ошибки от предсказания различных переменных могут свободно коррелировать: на них ничего не накладывается. Они представляют тот «окаменелость», для которого мы взяли оставленные размеры p-2 . Мы знаем значения E и поэтому можем вычислить оценки компонентов F как точные значения.

В этом была разница между моделью PCA и моделью FA.

Именно из-за вышеупомянутой разницы FA может объяснить парные корреляции (ковариации). PCA обычно не может этого сделать (если только число извлеченных компонентов не равно p ); это может только объяснить многомерную дисперсию . Таким образом, если термин «факторный анализ» определен с целью объяснения корреляций, PCA не является факторным анализом. Если «Факторный анализ» определяется более широко как метод, обеспечивающий или предлагающий скрытые «черты», которые могут быть интерпретированы, PCA может рассматриваться как особая и самая простая форма факторного анализа.2

Иногда - в некоторых наборах данных при определенных условиях - PCA оставляет термины E, которые почти не коррелируют. Тогда PCA может объяснить корреляции и стать как FA. Нередко встречаются наборы данных со многими переменными. Это заставило некоторых наблюдателей утверждать, что результаты PCA становятся ближе к результатам FA по мере роста данных. Я не думаю, что это правило, но тенденция действительно может быть. В любом случае, учитывая их теоретические различия, всегда хорошо выбирать метод осознанно. FA - более реалистичная модель, если вы хотите уменьшить переменные до значений, которые вы будете рассматривать как реальные скрытые признаки, стоящие за переменными и заставляющие их коррелировать.

Но если у вас есть другая цель - уменьшить размерность при максимально возможном сохранении расстояний между точками облака данных - PCA лучше, чем FA. (Тем не менее, процедура итеративного многомерного масштабирования (MDS) будет даже лучше, чем тогда. PCA представляет собой неитеративную метрическую MDS.) Если вы в дальнейшем не сильно беспокоитесь о расстояниях и заинтересованы только в сохранении как можно большей части общей дисперсии данных По возможности, в нескольких измерениях - PCA - оптимальный выбор.


1 Модель данных факторного анализа: , где - анализируемые данные (столбцы центрированы или стандартизированы), - общие значения факторов (неизвестные истинные) , не факторные оценки) с единичной дисперсией, - матрица нагрузок общего фактора (матрица шаблонов), - уникальные значения фактора (неизвестно), - вектор нагрузок уникального фактора, равный sq. корень уникальности ( ). Часть может быть помечена как " EV F A E u u 2 E d i a g ( u )V=FA+Ediag(u)Vn cases x p variablesFn x mAp x mEn x pupu2Ediag(u)«Для простоты, как это в формулах, открывающих ответ.

Основные предположения модели:

  • E E F VFПеременные и (общие и уникальные факторы соответственно) имеют нулевые средние и единичные дисперсии; обычно считается многомерным нормальным, но в общем случае не обязательно должен быть многомерным нормальным (если оба предполагаются многомерным нормальным, то тоже таковы);EEFV
  • FEПеременные не связаны друг с другом и не связаны с переменнымиF

A A ( м ) Σ2 Из общих факторного анализа модели , что загрузки из м общих факторов ( м < р переменных), также обозначается , следует тщательно воспроизвести наблюдаемые ковариации (или корреляцию) между переменным, . Так что если факторы ортогональны, теорема фундаментального фактора утверждает, чтоAA(m)Σ

Е Е +dIвг(у2)Σ^=AA и ,ΣΣ^+diag(u2)

где - матрица воспроизводимых ковариаций (или корреляций) с общими дисперсиями ("сообществами") на диагонали; и уникальные отклонения («уникальности»), которые представляют собой отклонения минус сообщества, представляют собой вектор . Недиагональное расхождение ( ) Связано с тем, что факторы представляют собой теоретическую модель, генерирующую данные, и как таковую, она проще, чем наблюдаемые данные, на которых она была построена. Основными причинами расхождений между наблюдаемой и воспроизводимой ковариациями (или корреляциями) могут быть: (1) число факторов m не является статистически оптимальным; (2) частичные корреляции (это U2Σ^u2p(p-1)/2факторы, которые не относятся к общим факторам) (3) общины плохо собраны, их первоначальные ценности были плохими; (4) отношения не являются линейными, использование линейной модели вызывает сомнения; (5) модель «подтип», полученная методом извлечения, не является оптимальной для данных (см. О различных методах извлечения ). Другими словами, некоторые предположения о данных FA не полностью соблюдаются.

Что касается простого PCA , он воспроизводит ковариации по нагрузкам именно тогда, когда m = p (используются все компоненты), и обычно не делает этого, если m < p (сохраняется только несколько первых компонентов). Фактор теоремы для PCA:

Σ=AA(p)=AA(m)+AA(pm) ,

поэтому как загрузки, так и отброшенные загрузки представляют собой смеси общностей и уникальностей, и ни одна из них не может помочь восстановить ковариации. Чем ближе m к p , тем лучше PCA, как правило, восстанавливает ковариации, но маленькие m (что часто представляет наш интерес) не помогают. Это отличается от FA, который предназначен для восстановления ковариаций с довольно небольшим оптимальным количеством факторов. Если приближается к диагонали, PCA становится похожим на FA, сA(m)A(pm)AA(pm)A(m)восстановление всех ковариаций. Это случается иногда с PCA, как я уже упоминал. Но у PCA отсутствует алгоритмическая способность форсировать такую ​​диагонализацию. Это алгоритмы FA, которые делают это.

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

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

Подведем итоги объясненных различий между двумя методами. ФА направлена ​​( прямо или косвенно ) на минимизацию различий между отдельными соответствующими недиагональными элементами и . Успешная модель FA - это та, которая оставляет ошибки для ковариаций малыми и случайными (нормальные или однородные около 0, нет выбросов / толстых хвостов). PCA максимизирует только которая равна (и' т г а гр е ( А А ' ) т т с е ( ' A ) A 'ΣAAtrace(AA)trace(AA)AAравен ковариационной матрице главных компонентов, которая является диагональной матрицей). Таким образом, PCA не «занят» всеми отдельными ковариациями: он просто не может, просто являясь формой ортогонального вращения данных.

Благодаря максимизации следа - дисперсия объяснена м компонентов - PCA является учет ковариаций, так как ковариация разделяет дисперсию. В этом смысле PCA является «приближением низкого ранга» всей ковариационной матрицы переменных. И если смотреть с точки зрения наблюдений, то это приближение является приближением матрицы наблюдений евклидова расстояния (именно поэтому PCA является метрической системой MDS, называемой «анализ главных координат). Этот факт не должен отрывать нас от реальности того, что PCA не моделирует ковариационная матрица (каждая ковариация), генерируемая несколькими живыми скрытыми чертами, которые можно представить как трансцендентные по отношению к нашим переменным, аппроксимация PCA остается неизменной, даже если это хорошо: это упрощение данных.


Если вы хотите увидеть пошаговые вычисления, сделанные в PCA и FA, прокомментировать и сравнить, пожалуйста, посмотрите здесь .

ttnphns
источник
Это отличный ответ.
Субхаш С. Давар
2
+1 за то, что принес мне новую перспективу просмотра PCA. Теперь, насколько я понимаю, и PCA, и FA могут объяснить дисперсию наблюдаемых переменных, и поскольку FA диктует, что слагаемые ошибки для каждой переменной не должны коррелироваться, тогда как PCA не делает такой диктовки, поэтому FA может захватывать всю ковариацию в наблюдаемые переменные, но PCA не может этого сделать, потому что в PCA термины ошибок могут также содержать некоторую ковариацию наблюдаемых переменных, если только мы не используем все ПК для представления наблюдаемых переменных, верно?
авокадо
1
Точно. PCA может не только недооценивать значение ковариации (как вы, возможно, думаете), но и переоценивать его. Короче говоря, a1 * a2 <> Cov12, что является нормальным поведением для PCA. Для FA это будет признаком неоптимального решения (например, неправильное количество извлеченных факторов).
ttnphns
Σ=WW+σ2IΣ=WW+ΨΨ
говорит амеба: восстанови Монику
ΣWWWΨσ2
6

Я представил свой собственный отчет о сходствах и различиях между PCA и FA в следующей теме: Есть ли веская причина использовать PCA вместо EFA? Кроме того, может ли PCA заменить факторный анализ?

Обратите внимание, что мой аккаунт несколько отличается от аккаунта @ttnphns (как представлено в его ответе выше). Мое главное утверждение состоит в том, что PCA и FA не столь различны, как часто думают. Они действительно могут сильно различаться, когда число переменных очень мало, но имеют тенденцию давать довольно похожие результаты, когда количество переменных превышает дюжину. Смотрите мой [длинный!] Ответ в связанной ветке для математических деталей и моделирования Монте-Карло. Гораздо более краткую версию моего аргумента см. Здесь: при каких условиях PCA и FA дают одинаковые результаты?

Здесь я хотел бы прямо ответить на ваш главный вопрос: что-то не так с выполнением PCA и FA на одном и том же наборе данных? Мой ответ на это: Нет.

Когда вы используете PCA или FA, вы не проверяете какую-либо гипотезу. Оба они представляют собой исследовательские методы, которые используются для лучшего понимания данных. Так почему бы не изучить данные с помощью двух разных инструментов? На самом деле, давайте сделаем это!

Пример: набор данных вина

n=178p=13

PCA и FA анализ набора данных вина

амеба говорит восстановить монику
источник
If the results turn out to be very similar, then you can decide to stick with only one approach, Конечно. Насколько похоже тогда? If the results turn out to be very different, then maybe it tells you something about your dataЭто совершенно мистично и эзотерично.
ttnphns
Хм, извините, если неясно. Я имел в виду, что если есть много переменных и PCA дает очень разные нагрузки от FA, это нам что-то говорит. Возможно, сообщества очень низкие (т.е. в матрице корреляции преобладает диагональ, а недиагональные элементы малы). Это может быть интересным наблюдением. Если бы я по какой-то причине проанализировал один и тот же набор данных с помощью PCA и FA и получил очень разные результаты, я бы исследовал его дальше. Имеет ли это смысл?
амеба говорит восстановить Монику
@ttnphns: я сделал обновление с отработанным примером для одного конкретного набора данных. Я надеюсь, вам понравится! Смотрите также мой связанный (новый) ответ. Это первый раз, когда я сделал биплот FA, и наши предыдущие разговоры мне очень помогли в этом.
говорит амеба: восстанови монику