Каковы различия между факторным анализом и анализом основных компонентов?


215

Кажется, что ряд статистических пакетов, которые я использую, объединяют эти два понятия. Тем не менее, мне интересно, есть ли разные предположения или «формальности» данных, которые должны быть верны, чтобы использовать одно над другим. Реальный пример был бы невероятно полезным.


2
Главы анализа основных компонентов и факторного анализа в следующей книге, которая доступна в большинстве библиотек колледжей, точно решают ваш вопрос: apa.org/pubs/books/4316510.aspx
user31256

3
В дополнение к ответам ниже вы можете также прочитать это и это мое.
ttnphns

2
И еще один хороший вопрос, такой как «должен ли я использовать PCA или FA»: stats.stackexchange.com/q/123063/3277 .
ttnphns

3
@ttnphns: Я бы посоветовал вам опубликовать ответ в этой теме, возможно, состоящий из аннотированного списка ваших ответов в других связанных темах. Это может заменить ваши комментарии выше (в настоящее время четыре комментария со ссылками) и будет более практичным, особенно если вы кратко аннотируете каждую ссылку. Например, ищите объяснение этой проблемы здесь, ищите объяснение этой проблемы и т. Д. Это всего лишь предложение, но я верю, что эта тема очень выиграет от этого! Одним из преимуществ является то, что вы всегда можете добавить больше ссылок на этот ответ.
амеба

2
Аналогичный вопрос был задан на MathOverflow, и я получил отличный ответ: mathoverflow.net/questions/40191/…
Даниил Москович

Ответы:


156

Анализ основных компонентов включает в себя выделение линейных композитов наблюдаемых переменных.

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

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

С точки зрения простого эмпирического правила , я бы посоветовал вам:

  1. Запустите факторный анализ, если вы предполагаете или хотите проверить теоретическую модель скрытых факторов, вызывающих наблюдаемые переменные.

  2. Запустите анализ основных компонентов Если вы хотите просто уменьшить ваши коррелированные наблюдаемые переменные до меньшего набора важных независимых составных переменных.


5
Эмпирическое правило там очень полезно. Спасибо за это.
Брэндон Бертельсен

1
Относительно эмпирического правила (1): Разве я не проверил бы теоретическую модель скрытых факторов с помощью подтверждающего факторного анализа, а не исследовательского фа?
Роман

1
@roman Да. CFA дает вам гораздо больший контроль над моделью, чем EFA. Например, вы можете ограничить нагрузки до нуля; выравнивать нагрузки; коррелировали остатки; добавить факторы более высокого порядка; и т. д.
Джером Энглим

3
@Jeromy Anglim Действительно ли правильно сказать, что PCA создает «меньший набор важных независимых составных переменных». Или вы действительно должны сказать «меньший набор важных некоррелированных составных переменных». Если базовые данные, используемые в PCA, не распределяются (многовариантно) нормально, данные уменьшенного размера будут только некоррелированными?
FXQuantTrader

1
Легко получить второй большой палец правила, но как применить первый? Звучит, может быть странно, но когда я узнаю, что хочу запустить фактор-модель для наблюдаемых переменных?
Бен

48

Из моего ответа здесь:

За PCA следует ротация (например, varimax), все еще PCA?

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

Суть в том, что это две разные модели, концептуально. В PCA компоненты представляют собой реальные ортогональные линейные комбинации, которые максимизируют общую дисперсию. В FA факторы представляют собой линейные комбинации, которые максимизируют общую часть дисперсии - лежащие в основе «скрытые конструкции». Вот почему ФА часто называют «анализом общего фактора». FA использует различные процедуры оптимизации, и результат, в отличие от PCA, зависит от используемой процедуры оптимизации и исходных точек для этих процедур. Просто нет единственного уникального решения.

В R функция factanal () предоставляет CFA максимальное извлечение правдоподобия. Таким образом, вы не должны ожидать, что он воспроизведет результат SPSS, основанный на извлечении PCA. Это просто не та же модель или логика. Я не уверен, что вы получите тот же результат, если вы используете извлечение максимального правдоподобия SPSS, так как они могут не использовать тот же алгоритм.

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

data(attitude)
# Compute eigenvalues and eigenvectors of the correlation matrix.
pfa.eigen <- eigen(cor(attitude))
# Print and note that eigenvalues are those produced by SPSS.
# Also note that SPSS will extract 2 components as eigenvalues > 1 = 2.
pfa.eigen$values
# Set a value for the number of factors (for clarity)
kFactors <- 2
# Extract and transform two components.
pfa.eigen$vectors[, seq_len(kFactors)]  %*% 
  diag(sqrt(pfa.eigen$values[seq_len(kFactors)]), kFactors, kFactors)

5
Обратите внимание, что вы получите те же результаты, principal(attitude, 2, rotate="none")что psychи в пакете, и что правило Кейзера (ev> 1) - не самый рекомендуемый способ проверки на размерность (он переоценивает количество факторов).
ЧЛ

5
Да, я знаю, что психиатр заворачивает это. Моя цель состояла в том, чтобы показать, что делает «факторный анализ» SPSS при использовании метода извлечения основных компонентов. Я согласен с тем, что правило собственных значений - плохой способ выбора количества факторов. Но это именно то, что SPSS делает по умолчанию, и это было то, что я демонстрировал.
Бретт

1
factanal()обеспечивает EFA не CFA. Кроме того, по моему опыту, извлечение максимального правдоподобия в SPSS должно давать тот же результат, factanal()что и при отсутствии наклонного вращения.
pe-pe-rry

2
Что означает следующее: «В FA факторы представляют собой линейные комбинации, которые максимизируют общую часть дисперсии - лежащие в основе« скрытые конструкции ». «?
предположения

Также обратите внимание, что CFA может обозначать подтверждающую FA (в отличие от пояснительной FA ) вместо обычной FA .
Ричард Харди

33

Вы правы в своем первом пункте, хотя в FA вы обычно работаете с обоими (уникальность и общность). Выбор между PCA и FA - давняя дискуссия среди психометристов. Я не совсем следую вашим указаниям. Вращение главных осей может применяться независимо от того, какой метод используется для построения скрытых факторов. Фактически, в большинстве случаев это вращение VARIMAX (ортогональное вращение с учетом некоррелированных факторов), которое используется по практическим соображениям (простейшая интерпретация, простейшие правила оценки или интерпретация показателей факторов и т. Д.), Хотя наклонное вращение (например, PROMAX ) возможно, лучше отражает реальность (скрытые конструкции часто коррелируют друг с другом), по крайней мере, в традиции FA, где вы предполагаете, что скрытая конструкция действительно лежит в основе наблюдаемых взаимосвязей между вашими переменными. Дело в том, что PCA с последующим вращением VARIMAX несколько искажает интерпретацию линейных комбинаций исходных переменных в традиции «анализа данных» (см. Работу Мишеля Тененхауса). С психометрической точки зрения предпочтительнее модели FA, поскольку они явно учитывают ошибки измерений, в то время как PCA не заботится об этом. Вкратце, используя PCA, вы выражаете каждый компонент (фактор) как линейную комбинацию переменных, тогда как в FA это переменные, которые выражаются как линейные комбинации факторов (включая компоненты общности и уникальности, как вы сказали). Дело в том, что PCA с последующим вращением VARIMAX несколько искажает интерпретацию линейных комбинаций исходных переменных в традиции «анализа данных» (см. Работу Мишеля Тененхауса). С психометрической точки зрения предпочтительнее модели FA, поскольку они явно учитывают ошибки измерений, в то время как PCA не заботится об этом. Вкратце, используя PCA, вы выражаете каждый компонент (фактор) как линейную комбинацию переменных, тогда как в FA это переменные, которые выражаются как линейные комбинации факторов (включая компоненты общности и уникальности, как вы сказали). Дело в том, что PCA с последующим вращением VARIMAX несколько искажает интерпретацию линейных комбинаций исходных переменных в традиции «анализа данных» (см. Работу Мишеля Тененхауса). С психометрической точки зрения предпочтительнее модели FA, поскольку они явно учитывают ошибки измерений, в то время как PCA не заботится об этом. Вкратце, используя PCA, вы выражаете каждый компонент (фактор) как линейную комбинацию переменных, тогда как в FA это переменные, которые выражаются как линейные комбинации факторов (включая общности и компоненты уникальности, как вы сказали). Модели FA должны быть предпочтительными, поскольку они явно учитывают ошибки измерений, в то время как PCA не заботится об этом. Вкратце, используя PCA, вы выражаете каждый компонент (фактор) как линейную комбинацию переменных, тогда как в FA это переменные, которые выражаются как линейные комбинации факторов (включая общности и компоненты уникальности, как вы сказали). Модели FA должны быть предпочтительными, поскольку они явно учитывают ошибки измерений, в то время как PCA не заботится об этом. Вкратце, используя PCA, вы выражаете каждый компонент (фактор) как линейную комбинацию переменных, тогда как в FA это переменные, которые выражаются как линейные комбинации факторов (включая компоненты общности и уникальности, как вы сказали).

Я рекомендую вам сначала прочитать следующие обсуждения на эту тему:


7
Просто сказать, что мой ответ может выглядеть немного не по теме, поскольку этот вопрос был объединен с другим, stats.stackexchange.com/questions/3369/… (я изначально отвечаю на последний).
Chl

6
Ах, мне было интересно, почему вы связались с этим квестоном, в этом вопросе ... :)
Брэндон Бертельсен,

1
PCA followed by VARIMAX rotation somewhat distorts the interpretation of the linear combinations of the original variables in the "data analysis" tradition, Хл, не могли бы вы объяснить это? Это интересно.
ttnphns

32

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

Анализ главных компонентов

Создание новых функций, которые являются основными компонентами набора данных. Основными компонентами являются случайные величины максимальной дисперсии, построенные из линейных комбинаций входных объектов. Эквивалентно, они являются проекциями на оси главных компонентов, которые являются линиями, которые минимизируют среднее квадратическое расстояние до каждой точки в наборе данных. Для обеспечения уникальности все оси главных компонентов должны быть ортогональными. PCA - это метод максимального правдоподобия для линейной регрессии при наличии гауссовского шума на входах и выходах. В некоторых случаях PCA соответствует преобразованию Фурье, например DCT, используемому при сжатии изображений JPEG. См. «Собственные лица для распознавания» (Turk & Pentland, J Cognitive Neuroscience 3 (1), 1991), Bishop, «

Факторный анализ

Обобщение PCA, которое явно основано на максимальной вероятности. Как и в случае PCA, предполагается, что каждая точка данных возникает в результате выборки точки в подпространстве и последующего возмущения ее полноразмерным гауссовским шумом. Разница в том, что факторный анализ позволяет шуму иметь произвольную диагональную ковариационную матрицу, в то время как PCA предполагает, что шум является сферическим. В дополнение к оценке подпространства факторный анализ оценивает ковариационную матрицу шума. См. «Алгоритм EM для смесей факторных анализаторов». Выбор размерности для PCA ».


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

1
Таким образом, в основном, в PCA одна свв матрица ковариации и в FA матрица корреляции? Мне всегда трудно найти реальную математику после того, как методы выстроили много терминологии из области, где они применяются. (не по теме: однажды мне потребовался целый день, чтобы понять, что такое моделирование траектории, пока я не нашел одну (1) статью из 70-х годов, в которой изложено матричное уравнение.)
Марк ван дер Лоо

28

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

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

n=178p=13

Корреляционная матрица набора винных данных

n=178

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

p=131331

Обратите внимание, что между PCA и FA едва ли есть разница! Здесь и там есть небольшие отклонения, но общая картина почти идентична, и все нагрузки очень похожи и указывают в одном и том же направлении. Это именно то, что ожидалось от теории, и это не удивительно; Тем не менее, поучительно наблюдать.

PS. Более симпатичный набор PCA из того же набора данных см. В этом ответе @vqv .

PPS. В то время как расчеты PCA являются стандартными, расчеты FA могут потребовать комментариев. Факторные нагрузки вычислялись по алгоритму «итерированные главные факторы» до сходимости (9 итераций), причем сообщества были инициализированы с частичными корреляциями. Как только нагрузки сошлись, оценки были рассчитаны с использованием метода Бартлетта. Это дает стандартизированные оценки; Я увеличил их на соответствующие коэффициенты дисперсии (определяемые длинами нагрузки).


1
Какое программное обеспечение вы использовали для создания графиков PCA и факторного анализа?
Марсо

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

2
Это правда, что PCA и FA иногда и вовсе не дают схожие результаты (нагрузки), и поэтому PCA можно рассматривать как особый случай FA, когда факторный анализ определяется широко. Тем не менее, FA (sensu stricto) и PCA теоретически весьма различны.
ttnphns

2
(продолжение) Факторы являются трансцендентными скрытыми чертами; пара компоненты являются имманентными деривациями. Несмотря на то, что ваши два графика загрузки выглядят практически одинаково, теоретически они принципиально отличаются. Плоскость компонентов слева создавалась как подпространство переменных, которые проецируют себя на нее. Плоскость фактора была создана как пространство, отличное от пространства переменных, и поэтому они проецируются на «чужое» пространство на правом графике.
ttnphns

3
(продолжение) Но правый рисунок (FA) на самом деле не является истинным биплотом , это скорее наложение двух разных диаграмм рассеяния, разных пространств: графика загрузки (где оси являются истинными факторами) и графика оценки объекта (где оси оценочные факторы в виде баллов). Истинное факторное пространство заполняет «родительское» пространство переменных, но факторное пространство является его подпространством. Вы наложили две гетерогенные пары осей, но они имеют одинаковые метки ("factor1" и "factor2" в обеих парах), что сильно вводит в заблуждение и заставляет нас думать, что это добросовестный биплот , как и левый.
ttnphns

25

Базовое, но довольно кропотливое объяснение PCA и факторного анализа с помощью диаграмм рассеяния, в логических шагах. (Я благодарю @amoeba, который в своем комментарии к этому вопросу побудил меня опубликовать ответ вместо ссылок на другие места. Так что это досуг, поздний ответ.)

PCA как суммирование переменных (извлечение признаков)

Надеюсь, у вас уже есть понимание PCA. Возродить сейчас.

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

V1V2a

P1=a11V1+a12V2

P2=a21V1+a22V2

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

Covariances
        V1       V2 
V1  1.07652   .73915 
V2   .73915   .95534 

----PCA---- 
Eigenvalues      % 
P1  1.75756   86.500 
P2   .27430   13.500 

Eigenvectors
        P1       P2
V1   .73543  -.67761 
V2   .67761   .73543

С нашими построенными данными, значениями компонента P1 (оценки) P1 = .73543*V1 + .67761*V2и компонентом P2 мы отказываемся. Дисперсия P1 является 1.75756, то первым собственным значением матрицы ковариации, и поэтому P1 объясняет 86.5%в общей дисперсии , которая равна (1.07652+.95534) = (1.75756+.27430).

PCA как переменное прогнозирование («скрытая» функция)

P1 V1V2

V1=a11P1+E1

V2=a12P1+E2

aE

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

V1^=a11P1V2^=a12P1E1=V1V1^E2=V2V2^

Теперь, что характерно для PCA, так это то, что если мы вычислим E1 и E2 для каждой точки в данных и построим эти координаты - т.е. создадим диаграмму рассеяния только ошибок, облако «данные об ошибках» будет совпадать с отброшенным компонентом P2. И это так: облако изображено на той же картинке, что и бежевое облако, и вы видите, что оно фактически формирует ось P2 (на рис.1 ) в виде листов с оценками компонентов P2.

Не удивительно, вы можете сказать. Это так очевидно: в PCA отброшенный младший компонент (-ы) - это то, что точно разлагается (-ются) в ошибках предсказания E, в модели, которая объясняет (восстанавливает) исходные переменные V скрытой характеристикой (-ами) P1. Ошибки E вместе составляют только пропущенные компоненты. Здесь факторный анализ начинает отличаться от СПС.

Идея общего ФА (скрытая особенность)

Формально модель прогнозирования явных переменных по извлеченным скрытым признакам (ам) в FA такая же, как и в PCA; [ Ур.3 ]:

V1=a1F+E1

V2=a2F+E2

где F - скрытый общий фактор, извлеченный из данных и заменяющий то, что было P1 в уравнении 2 . Различие в модели состоит в том, что в FA, в отличие от PCA, переменные ошибки (E1 и E2) должны быть некоррелированными друг с другом .

aaaaaaa

ОК, вернемся к теме. E1 и E2 некоррелированы в факторном анализе; таким образом, они должны образовывать облако ошибок, круглых или эллиптических, но не по диагонали. В то время как в PCA их облако образовало прямую линию, совпадающую с диагонально идущей P2. Обе идеи демонстрируются на рисунке:

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

Обратите внимание, что ошибки - это круглое (не вытянутое по диагонали) облако в FA. Фактор (скрытый) в ФА ориентирован несколько иначе, то есть он не является первым основным компонентом, который является «скрытым» в ППШ. На рисунке линия фактора немного странно коническая - станет ясно, почему, в конце концов.

В чем смысл этой разницы между PCA и FA? Переменные коррелировали, что видно по диагонально-эллиптической форме облака данных. P1 снял максимальную дисперсию, поэтому эллипс сориентирован на P1. Следовательно, P1 объяснил собой корреляцию; но это не объяснило существующее количество корреляции адекватно; он пытался объяснить различия в точках данных, а не корреляцию. Фактически, это переоценило корреляцию, результатом которой стало появление диагонального, коррелированного облака ошибок, которое компенсирует перерасчет. Один P1 не может объяснить силу корреляции / ковариации всесторонне. Фактор F можетсделай это один; и условие, когда оно становится способным делать это, именно там, где ошибки могут быть вынуждены быть некоррелированными. Поскольку облако ошибок является круглым, никакой корреляции - положительной или отрицательной - не осталось после того, как фактор был извлечен, следовательно, это фактор, который снял все это.

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

Умножение нагрузок - это то, что объясняет (восстанавливает) корреляцию или корреляцию в форме ковариации - если анализ был основан на ковариационной матрице (как в нашем примере), а не на корреляционной матрице. Факторный анализ, который я сделал с данными, дал a_1=.87352, a_2=.84528, так что продукт a_1*a_2 = .73837почти равен ковариации .73915. С другой стороны, нагрузки PCA были a1_1=.97497, a1_2=.89832, поэтому сильно a1_1*a1_2 = .87584переоценивают .73915.

Объяснив основное теоретическое различие между PCA и FA, давайте вернемся к нашим данным, чтобы проиллюстрировать идею.

FA: приблизительное решение (коэффициент факторов)

Ниже приведена диаграмма рассеяния, на которой показаны результаты анализа, который мы условно будем называть «субоптимальным факторным анализом», рис.3 .

A technical detail (you may skip): PAF method used for factor extraction.
Factor scores computed by Regression method.
Variance of the factor scores on the plot was scaled to the true
factor variance (sum of squared loadings).

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

См. Вылеты из рис.2 СПС. Бежевое облако ошибок не круглое, оно по диагонали эллиптическое, но, тем не менее, оно намного толще, чем тонкая диагональная линия, возникшая в PCA. Также обратите внимание, что соединители ошибок (показанные для некоторых точек) больше не параллельны (в PCA они по определению параллельны P2). Более того, если вы посмотрите, например, на точки «F» и «E», которые лежат зеркально симметрично относительно оси F фактора , вы неожиданно обнаружите, что их соответствующие коэффициенты имеют совершенно разные значения. Другими словами, оценки факторов - это не просто линейно преобразованные оценки основных компонентов: фактор F по-своему отличается от метода P1. И их оси не полностью совпадают, если показаны вместе на одном графике Рис.4 :

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

Кроме того, они немного по-другому ориентированы, F (в виде мозаики с оценками) короче, то есть учитывает меньшую дисперсию, чем P1. Как отмечалось ранее, фактор учитывает только изменчивость, которая отвечает за корреляцию V1 V2, то есть той части полной дисперсии, которая достаточна, чтобы привести переменные из первичной ковариации 0к фактической ковариации .73915.

FA: оптимальное решение (истинный фактор)

Оптимальное факторное решение - когда ошибки круглые или недиагональное эллиптическое облако: E1 и E2 полностью некоррелированы . Факторный анализ на самом деле возвращает такое оптимальное решение. Я не показывал это на простом графике рассеяния, подобном приведенному выше. Почему я? - ведь это было бы самым интересным, в конце концов.

Причина в том, что было бы невозможно отобразить на диаграмме рассеяния достаточно адекватно, даже принимая трехмерный график. Это довольно интересный момент теоретически. Чтобы сделать E1 и E2 полностью некоррелированными, кажется, что все эти три переменные, F, E1, E2 должны лежать не в пространстве (плоскости), определяемом V1, V2; и три должны быть некоррелированы друг с другом . Я полагаю, что можно нарисовать такую ​​диаграмму рассеяния в 5D (и, может быть, с некоторым трюком - в 4D), но мы живем в мире 3D, увы. Фактор F должен быть некоррелированным как с E1, так и с E2 (в то время как оба они также некоррелированы), поскольку предполагается, что F является единственным (чистым) и полным источником корреляции в наблюдаемых данных. Анализ фактора расщепляется общая дисперсия изpВходные переменные в двух некоррелированных (неперекрывающихся) части: коммунальность часть ( m-мерном, где mобщие факторы правило) и единственность часть ( p-мерном, где ошибки, называемых также уникальные факторы, взаимно некоррелированны).

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

Выше, в разделе «Идея общей FA (скрытая особенность)» я отобразил коэффициент (ось F) в виде клина, чтобы предупредить, что истинная ось фактора не лежит на плоскости V1 V2. Это означает, что - в отличие от главного компонента P1 - фактор F в качестве оси не является вращением оси V1 или V2 в их пространстве, а F в качестве переменной не является линейной комбинацией переменных V1 и V2. Поэтому F моделируется (извлекается из переменных V1 v2), как будто внешняя, независимая переменная, а не их производная. Уравнения , как Eq.1 , откуда начинается PCA, неприменимы для вычисления истинного (оптимальный) фактора в факторном анализе, в то время как формально изоморфные уравнения Eq.2 и Eq.3действительны для обоих анализов. То есть в PCA переменные генерируют компоненты, а компоненты обратно предсказывают переменные; в факторах ФА генерировать / прогнозировать переменные, а не обратно - модель общего фактора концептуально предполагает это , хотя технически факторы извлекаются из наблюдаемых переменных.

Не только истинный фактор не зависит от проявленного переменных истинного фактора значение является не определены однозначно . Другими словами, они просто неизвестны. Это все из-за того, что мы находимся в чрезмерном 5D аналитическом пространстве, а не в нашем домашнем 2D пространстве данных. Нам доступны только хорошие приближения (существует ряд методов ) к истинным значениям факторов, называемым показателями факторов . Факторные оценки лежат в плоскости V1 V2, как и оценки главных компонентов, они рассчитываются как линейные функции V1, V2, и это были оничто я построил в разделе «ФА: приблизительное решение (фактор оценки)». Оценка основных компонентов - это истинные значения компонентов; Факторные оценки являются лишь разумным приближением к неопределенным истинным значениям факторов.

FA: обзор процедуры

a

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

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

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

Смотрите также полный список различий между PCA и FA здесь .


1
+1. Здорово, что вы написали это, в этой теме определенно не было ответа от вас. Я проголосовал перед чтением (что я редко делаю), и, конечно, наслаждался последующим чтением. Я мог бы прокомментировать более позже, но один маленький отрывок на данный момент: вы несколько раз писали, что в FA облако ошибок должно быть «круглым». Но на самом деле, он вполне может быть эллиптическим (поскольку уникальности для V1 и V2 могут иметь разные отклонения), он просто должен иметь нулевую корреляцию. Я думаю, вы не хотели путать читателей с этой деталью.
амеба

1
V1=a1F+E1V2=a2F+E2(E1,E2)=N(0,I)- Теперь используйте эти отношения для генерации выборок V1 и V2. Как только V1 и V2 сгенерированы, если мы должны были выполнить оптимальную FA, мы должны получить почти точные оценки (E1, E2), и это сформирует эллиптическое облако. Более того, теперь F, E1, E2 могут быть представлены в той же плоскости, что и V1 и V2.
Каса

@kasa, твой комментарий приветствовал мой ответ или комментарий амебы? Если ваш комментарий противоречит моему основному утверждению, что в FA три скрытые переменные не лежат в исходном пространстве, и вы можете показать его, почему бы не выпустить ответ, показывающий это? Но, пожалуйста, обратите внимание, что в оптимальной ФА ошибки точно не коррелированы, а не то, что их можно представить как происходящие из нормальной некоррелированной популяции.
ttnphns

@ttnphns: Извините за путаницу, я усомнился в вашем основном утверждении. Я постараюсь показать это как ответ через пару дней. Спасибо!
Каса

21

Различия между факторным анализом и анализом основных компонентов:

• В факторном анализе есть структурированная модель и некоторые допущения. В этом отношении это статистический метод, который не применим к анализу главных компонентов, который является чисто математическим преобразованием.

• Целью анализа главных компонентов является объяснение дисперсии, в то время как факторный анализ объясняет ковариацию между переменными.

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


13

Для меня (и я надеюсь, что это полезно) факторный анализ гораздо полезнее, чем PCA.

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

Когда я выполнил факторный анализ (главная ось), я обнаружил, что сообщества для трех элементов составляли менее 30%, что означает, что более 70% отклонений элементов не анализировалось. PCA просто преобразует данные в новую комбинацию и не заботится о сообществах. Я пришел к выводу, что шкала была не очень хорошей с психометрической точки зрения, и я подтвердил это другой выборкой.

По сути, если вы хотите прогнозировать, используя факторы, используйте PCA, а если вы хотите понять скрытые факторы, используйте Factor Analysis.


11

Расширение ответа @ StatisticsDocConsulting: разница в загрузках между EFA и PCA нетривиальна с небольшим количеством переменных. Вот функция моделирования, чтобы продемонстрировать это в R:

simtestit=function(Sample.Size=1000,n.Variables=3,n.Factors=1,Iterations=100)
{require(psych);X=list();x=matrix(NA,nrow=Sample.Size,ncol=n.Variables)
for(i in 1:Iterations){for(i in 1:n.Variables){x[,i]=rnorm(Sample.Size)}
X$PCA=append(X$PCA,mean(abs(principal(x,n.Factors)$loadings[,1])))
X$EFA=append(X$EFA,mean(abs(factanal(x,n.Factors)$loadings[,1])))};X}

IterationsSample.Size=1000Iterationsprincipal()factanal()

Используя этот код, я смоделировал выборки из 3–100 переменных с 500 итерациями каждая для получения данных:

Y=data.frame(n.Variables=3:100,Mean.PCA.Loading=rep(NA,98),Mean.EFA.Loading=rep(NA,98))
for(i in 3:100)
{X=simtestit(n.Variables=i,Iterations=500);Y[i-2,2]=mean(X$PCA);Y[i-2,3]=mean(X$EFA)}

... для графика чувствительности средних нагрузок (по переменным и итерациям) к числу переменных:

.067


10

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


10

Цитата из действительно хорошего учебника (Браун, 2006, с. 22, выделение добавлено).
PCA = анализ основных компонентов
EFA = анализ разведочных факторов
CFA = анализ подтверждающих факторов

Хотя анализ основных компонентов (PCA), хотя и связан с ОДВ, часто ошибочно классифицируется как метод оценки общего факторного анализа. В отличие от оценок, рассмотренных в предыдущем параграфе (ML, PF), PCA опирается на другой набор количественных методов, которые не основаны на модели общего фактора. PCA не различает общую и уникальную дисперсию. Скорее, PCA стремится объяснить различия в наблюдаемых показателях, а не объяснять корреляции между ними. Таким образом, PCA более целесообразно использовать в качестве метода сокращения данных, чтобы сократить больший набор мер до меньшего, более управляемого количества составных переменных, которые будут использоваться в последующих анализах. Однако некоторые методологи утверждают, что СПС является разумной или, возможно, лучшей альтернативой ОДВ, ввиду того, что PCA обладает несколькими желаемыми статистическими свойствами (например, вычислительно проще, не подвержен неправильным решениям, часто дает результаты, аналогичные EFA, способность PCA рассчитывать оценку участника по основному компоненту, тогда как неопределенная природа ОДВ усложняет такие вычисления). Хотя дебаты по этому вопросу продолжаются, Fabrigar et al. (1999) приводят несколько аргументов против аргумента места PCA в факторном анализе. Эти авторы подчеркивают ситуации, когда ОДВ и СПС дают разные результаты; например, когда общины низки или когда есть только несколько индикаторов данного фактора (ср. Widaman, 1993). часто дает результаты, сходные с результатами EFA, способность PCA рассчитывать оценку участника по основному компоненту, тогда как неопределенный характер EFA усложняет такие вычисления). Хотя дебаты по этому вопросу продолжаются, Fabrigar et al. (1999) приводят несколько аргументов против аргумента места PCA в факторном анализе. Эти авторы подчеркивают ситуации, когда ОДВ и СПС дают разные результаты; например, когда общины низки или когда есть только несколько индикаторов данного фактора (ср. Widaman, 1993). часто дает результаты, сходные с результатами EFA, способность PCA рассчитывать оценку участника по основному компоненту, тогда как неопределенный характер EFA усложняет такие вычисления). Хотя дебаты по этому вопросу продолжаются, Fabrigar et al. (1999) приводят несколько аргументов против аргумента места PCA в факторном анализе. Эти авторы подчеркивают ситуации, когда ОДВ и СПС дают разные результаты; например, когда общины низки или когда есть только несколько индикаторов данного фактора (ср. Widaman, 1993). (1999) приводят несколько аргументов против аргумента места PCA в факторном анализе. Эти авторы подчеркивают ситуации, когда ОДВ и СПС дают разные результаты; например, когда общины низки или когда есть только несколько индикаторов данного фактора (ср. Widaman, 1993). (1999) приводят несколько аргументов против аргумента места PCA в факторном анализе. Эти авторы подчеркивают ситуации, когда ОДВ и СПС дают разные результаты; например, когда общины низки или когда есть только несколько индикаторов данного фактора (ср. Widaman, 1993).В любом случае, если основополагающее обоснование и эмпирические цели анализа соответствуют модели общего фактора, то концептуально и математически несовместимо проводить PCA; то есть ОДВ является более подходящим, если заявленная цель состоит в том, чтобы воспроизвести взаимосвязи набора показателей с меньшим количеством скрытых измерений, признавая наличие ошибки измерения в наблюдаемых измерениях.Флойд и Видаман (1995) подчеркивают, что оценки, основанные на ОДВ, с большей вероятностью будут обобщать в КФА, чем оценки, полученные из ПКА, поскольку, в отличие от ППД, ОДВ и КФА основаны на модели общего фактора. Это заслуживает внимания соображение в свете того факта, что ОДВ часто используется в качестве предшественника КФА при разработке масштабов и построении валидации. Подробную демонстрацию вычислительных различий между PCA и EFA можно найти в многомерных и факторных аналитических учебниках (например, Tabachnick & Fidell, 2001).

Браун, TA (2006). Подтверждающий факторный анализ для прикладных исследований. Нью-Йорк: Гилфорд Пресс.


6

В статье Tipping and Bischop обсуждается тесная связь между вероятностным PCA (PPCA) и факторным анализом. PPCA ближе к FA, чем классический PCA. Общая модель

y=μ+Wx+ϵ

WRp,dxN(0,I)ϵN(0,Ψ)

  • Ψ
  • Ψ=σ2I

Майкл Э. Типпинг, Кристофер М. Бишоп (1999). Вероятностный анализ главных компонентов , Журнал Королевского статистического общества, том 61, выпуск 3, страницы 611–622


2
+1. Да. Я считаю, что понимание PPCA необходимо для понимания отношений между PCA и FA. Но вы могли бы улучшить свой ответ, обсудив отношения PCA / PPCA.
амеба

3

Ни один из этих ответов не идеален. У FA или PCA есть несколько вариантов. Мы должны четко указать, какие варианты сравниваются. Я бы сравнил анализ факторов максимального правдоподобия и PCA отеля. Первые предполагают, что скрытая переменная соответствует нормальному распределению, но PCA не имеет такого предположения. Это привело к различиям, таким как решение, вложение компонентов, уникальность решения, алгоритмы оптимизации.


1
Интересно, не могли бы вы немного рассказать об этом - вы сказали, что в последнем предложении есть различия, но не предоставили много информации о том, какими могут быть эти различия, или как эти различия могут быть важными?
Серебряная

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

1
СПС Хотеллинга предполагает наличие скрытых гауссов.
предположения

1

Там много хороших ответов на этот пост, но недавно я столкнулся с другим отличием.

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

Просто чтобы проиллюстрировать это различие, рассмотрим Crabsнабор данных в R. В наборе данных Крабы есть 200 строк и 8 столбцов, описывающих 5 морфологических измерений на 50 крабах каждой из двух цветовых форм и обоих полов, видов - по сути, существует 4 (2x2) различных класса крабы.

library(MASS)
data(crabs)
lbl <- rep(1:4,each=50)
pc <- princomp(crabs[,4:8])
plot(pc) # produce the scree plot
X <- as.matrix(crabs[,4:8]) %*% pc$loadings
library(mclust)
res_12 <- Mclust(X[,1:2],G=4)
plot(res_12)


res_23 <- Mclust(X[,2:3],G=4)
plot(res_23)

Кластеризация с использованием ПК1 и ПК2: введите описание изображения здесь

Кластеризация с использованием ПК2 и ПК3: введите описание изображения здесь

#using PC1 and PC2:
     1  2  3  4
  1 12 46 24  5
  2 36  0  2  0
  3  2  1 24  0
  4  0  3  0 45

#using PC2 and PC3:
    1  2  3  4
  1 36  0  0  0
  2 13 48  0  0
  3  0  1  0 48
  4  1  1 50  2

Как видно из приведенных выше графиков, ПК2 и ПК3 несут больше различающей информации, чем ПК1.

Если попытаться кластеризовать, используя скрытые факторы, используя Анализаторы фактора, мы увидим гораздо лучший результат по сравнению с использованием первых двух ПК.

mfa_model <- mfa(y, g = 4, q = 2)
  |............................................................| 100%
table(mfa_model$clust,c(rep(1,50),rep(2,50),rep(3,50),rep(4,50)))

     1  2  3  4
  1  0  0  0 45
  2 16 50  0  0
  3 34  0  0  0
  4  0  0 50  5

Я должен сказать, что сомневаюсь, что этот ответ действительно отвечает на вопрос. Ответ касается кластерного анализа после PCA или FA, а не самих PCA и FA. Но даже в этом отношении ответ неясен или неокончен. Как объяснить разницу, которую вы показываете?
ttnphns

@ttnphns Я согласен с ответом о кластерном анализе. Тем не менее, OP также попросил сценарий реальной жизни с PCA / FA, где один должен быть использован поверх другого. Обычно PCA или FA никогда не являются конечной целью - например, в области социальных наук конечной целью будет разделение предметов на различные группы / группы. Мой ответ касается таких сценариев. Если вы думаете, что мой ответ может быть улучшен, не стесняйтесь указывать.
Каса

Я думаю, что ваш ответ может стать действительно актуальным, если вы объясните свой вывод. Вы утверждаете, что различия между PCA и FA являются внутренними для этих двух методов (только они становятся очевидными при кластеризации). Я думаю, что вы должны показать или, по крайней мере, предположить, как или почему теоретически возникают различия из различий моделей методов.
ttnphns
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.