Этот вопрос в основном касается определений PCA / FA, поэтому мнения могут отличаться. Мое мнение таково, что PCA + varimax не следует называть PCA или FA, но довольно явно упоминается, например, как «PCA с ротацией varimax».
Я должен добавить, что это довольно запутанная тема. В этом ответе я хочу объяснить , что поворот на самом деле является ; это потребует некоторой математики. Случайный читатель может перейти непосредственно к иллюстрации. Только тогда мы сможем обсудить, следует ли называть ротацию PCA + «PCA».
Одной из ссылок является книга Джоллиффа «Анализ основных компонентов», раздел 11.1 «Ротация основных компонентов», но я считаю, что это может быть более понятным.
Пусть - матрица данных которую мы считаем центрированной. PCA составляет ( см. Мой ответ здесь ) разложение по сингулярному значению: . Существует два эквивалентных, но дополняющих друг друга представления об этой декомпозиции: более «PCA-стиль» «проекция» и более FA-стиль «скрытые переменные». n × p X = U S V ⊤Xn×pX=USV⊤
Согласно представлению в стиле PCA, мы нашли группу ортогональных направлений (это собственные векторы ковариационной матрицы, также называемые «главными направлениями» или «осями») и «главные компоненты» ( также называемые основным компонентом «баллы») являются проекциями данных по этим направлениям. Основные компоненты некоррелированы, первый имеет максимально возможную дисперсию и т. Д. Мы можем написать:U S X = U S ⋅ V ⊤ = Счета ⋅ Основные направления .VUS
X=US⋅V⊤=Scores⋅Principal directions.
Согласно представлению в стиле FA, мы обнаружили некоррелированные «скрытые факторы» дисперсии единиц, которые приводят к наблюдаемым переменным через «нагрузки». Действительно, являются стандартизованными главными компонентами (некоррелированными и с единичной дисперсией), и если мы определим нагрузки как , затем (Обратите внимание, что .) Оба представления эквивалентны. Обратите внимание, что нагрузки являются собственными векторами, масштабированными по соответствующим собственным значениям ( являются собственными значениями ковариационной матрицы).L=VS/ √U˜=n−1−−−−−√U X= √L=VS/n−1−−−−−√S ⊤=SS/ √
X=n−1−−−−−√U⋅(VS/n−1−−−−−√)⊤=U˜⋅L⊤=Standardized scores⋅Loadings.
S⊤=SS/n−1−−−−−√
(Я должен добавить в скобках, что PCA FA≠ ; FA явно нацелена на поиск скрытых факторов, которые линейно отображаются на наблюдаемые переменные с помощью нагрузок; он более гибкий, чем PCA, и дает разные нагрузки. Именно поэтому я предпочитаю называть вышеупомянутые «Представление в стиле FA на PCA», а не FA, хотя некоторые люди считают это одним из методов FA.)
Теперь, что делает вращение? Например, ортогональное вращение, например, варимакс. Во-первых, он рассматривает только компонентов, а именно:Тогда он принимает квадрат ортогональной матрицы и вставляет в это разложение: где повернутые нагрузки определяются какX ≈ U k S k Vk<p
X≈UkSkV⊤k=U˜kL⊤k.
k×kTTT⊤=IX≈UkSkV⊤k=UkTT⊤SkV⊤k=U˜rotL⊤rot,
˜ U r o t = ˜ U k T T L r o tLrot=LkT, И вращали стандартизованные баллы даются . (Цель этого состоит в том, чтобы найти такой, чтобы стал как можно ближе к плотности, чтобы облегчить ее интерпретацию.)
U˜rot=U˜kTTLrot
Обратите внимание, что вращаются: (1) стандартизированные оценки, (2) нагрузки. Но не сырые оценки и не основные направления! Таким образом, вращение происходит в скрытом пространстве, а не в исходном пространстве. Это абсолютно важно.
С точки зрения стиля FA, ничего особенного не произошло. (A) Латентные факторы все еще некоррелированы и стандартизированы. (B) Они по-прежнему отображаются на наблюдаемые переменные посредством (повернутых) нагрузок. (C) Величина дисперсии, получаемой каждым компонентом / фактором, определяется суммой квадратов значений соответствующего столбца нагрузок в . (D) Геометрически, нагрузки все еще охватывают то же самое мерное подпространство в (подпространство, охватываемое первыми собственными векторами PCA). (E) Аппроксимация к и ошибка восстановления не изменились вообще. (F) Ковариационная матрица все еще аппроксимируется одинаково хорошо: k R p k XLrotkRpkX
Σ≈LkL⊤k=LrotL⊤rot.
Но точка зрения в стиле PCA практически рухнула. Поворотные нагрузки больше не соответствуют ортогональным направлениям / осям в , т. Е. Столбцы не являются ортогональными! Хуже того, если вы [ортогонально] проецируете данные на направления, заданные повернутыми нагрузками, вы получите коррелированные (!) Проекции и не сможете восстановить оценки. [Вместо этого, чтобы вычислить стандартизированные оценки после поворота, нужно умножить матрицу данных на псевдообратную загрузку . Кроме того, можно просто повернуть исходные стандартизированные оценки с помощью матрицы вращения:L r o t ˜ U r o t = X ( L + r o t ) ⊤ ˜ U r o t = ˜ U T kkRpLrotU˜rot=X(L+rot)⊤U˜rot=U˜T ] Кроме того, повернутые компоненты последовательно не фиксируют максимальное количество отклонений: дисперсия перераспределяется между компонентами (даже хотя все повернутых компонентов отражают столько же дисперсии, сколько все исходных главных компонентов).kk
Вот иллюстрация. Данные представляют собой двухмерный эллипс, вытянутый вдоль главной диагонали. Первое главное направление - главная диагональ, второе ортогонально ей. Векторы нагрузки PCA (собственные векторы, масштабированные по собственным значениям) показаны красным, указывая в обоих направлениях, а также растянуты на постоянный коэффициент для видимости. Затем я применил ортогональное вращение на к нагрузкам. Результирующие векторы нагрузки показаны пурпурным цветом. Обратите внимание, что они не ортогональны (!).30∘
Интуиция в стиле FA здесь выглядит следующим образом: представьте себе «скрытое пространство», в котором точки заполняют небольшой круг (происходят из двумерного гауссиана с единичными отклонениями). Это распределение точек затем растягивается вдоль нагрузок PCA (красный), чтобы стать эллипсом данных, который мы видим на этом рисунке. Однако такое же распределение точек можно вращать и затем растягивать вдоль повернутых нагрузок PCA (пурпурный), чтобы получить тот же эллипс данных .
[Чтобы действительно увидеть, что ортогональное вращение нагрузок - это вращение , нужно взглянуть на биплот PCA; там векторы / лучи, соответствующие исходным переменным, будут просто вращаться.]
Давайте подведем итоги. После ортогонального вращения (такого как варимакс) оси с "вращаемыми главными" не являются ортогональными, и ортогональные проекции на них не имеют смысла. Так что лучше отбросить всю эту точку зрения осей / проекций. Было бы странно все еще называть это PCA (что касается проекций с максимальной дисперсией и т. Д.).
С точки зрения стиля FA, мы просто повернули наши (стандартизированные и некоррелированные) скрытые факторы, что является действительной операцией. В ФА нет «проекций»; вместо этого скрытые факторы генерируют наблюдаемые переменные посредством нагрузок. Эта логика все еще сохраняется. Однако мы начали с основных компонентов, которые на самом деле не являются факторами (так как PCA - это не то же самое, что FA). Так что было бы странно называть это также FA.
Вместо того, чтобы обсуждать, нужно ли «называть» это, скорее, PCA или FA, я бы посоветовал тщательно определить точную используемую процедуру: «PCA, сопровождаемый поворотом варимакса».
Пост скриптум. Это является возможным рассмотреть альтернативную процедуру вращения, где вставляется между и . Это будет вращать необработанные оценки и собственные векторы (вместо стандартизированных оценок и нагрузок). Самая большая проблема с этим подходом состоит в том, что после такой «ротации» результаты больше не будут некоррелированными, что является довольно фатальным для PCA. Это можно сделать, но это не так, как обычно понимают и применяют вращения.U S V ⊤TT⊤USV⊤