Quais são as diferenças entre a análise fatorial e a análise de componentes principais?

215

Parece que vários pacotes estatísticos que uso envolvem esses dois conceitos. No entanto, estou me perguntando se existem suposições diferentes ou 'formalidades' de dados que devem ser verdadeiras para usar uma sobre a outra. Um exemplo real seria incrivelmente útil.

Brandon Bertelsen
fonte
2
As análises de componentes e análise de fator capítulos principais do livro seguinte, que está disponível na maioria das bibliotecas universitárias, abordar a sua pergunta exatamente: apa.org/pubs/books/4316510.aspx
user31256
3
Além das respostas abaixo, você também pode ler isso e este meu.
precisa saber é o seguinte
2
E outra boa pergunta como "devo usar PCA ou FA": stats.stackexchange.com/q/123063/3277 .
precisa saber é o seguinte
3
@ttnphns: Gostaria de encorajá-lo a emitir uma resposta neste tópico, talvez consistindo em uma lista anotada de suas respostas em outros tópicos relacionados. Isso poderia substituir seus comentários acima (atualmente quatro comentários com links) e seria mais prático, especialmente se você anotasse brevemente cada link. Por exemplo, procure aqui a explicação desse problema, procure uma explicação desse problema, etc. É apenas uma sugestão, mas acredito que esse tópico se beneficiaria muito com isso! Uma vantagem específica é que você sempre pode adicionar mais links a essa resposta.
Ameba
2
Uma pergunta semelhante foi perguntado sobre MathOverflow, e recebeu o que eu considero uma excelente resposta: mathoverflow.net/questions/40191/...
Daniel Moskovich

Respostas:

156

A análise de componentes principais envolve a extração de compostos lineares das variáveis ​​observadas.

A análise fatorial é baseada em um modelo formal que prevê variáveis ​​observadas a partir de fatores latentes teóricos.

Na psicologia, essas duas técnicas são frequentemente aplicadas na construção de testes em várias escalas para determinar quais itens carregam em quais escalas. Eles normalmente produzem conclusões substantivas semelhantes (para uma discussão, consulte Métodos fatoriais analíticos de desenvolvimento de escalas de Comrey (1988) em personalidade e psicologia clínica). Isso ajuda a explicar por que alguns pacotes de estatísticas parecem agrupá-los. Também vi situações em que "análise de componentes principais" está incorretamente rotulada "análise fatorial".

Em termos de uma regra de ouro simples , sugiro que você:

  1. Execute a análise fatorial se você assumir ou desejar testar um modelo teórico de fatores latentes que causam variáveis ​​observadas.

  2. Executar análise de componentes principais Se você deseja simplesmente reduzir suas variáveis ​​observadas correlacionadas para um conjunto menor de variáveis ​​compostas independentes importantes.

Jeromy Anglim
fonte
5
A regra geral é altamente útil. Obrigado por isso.
Brandon Bertelsen
11
Em relação à regra prática (1): eu não testaria um modelo teórico de fatores latentes com uma análise fatorial confirmatória, em vez de um fator exploratório?
Roman
11
@roman Sim. Um CFA oferece muito mais controle sobre o modelo do que o EFA. Por exemplo, você pode restringir as cargas a zero; equiparar cargas; ter resíduos correlacionados; adicione fatores de ordem superior; etc.
Jeromy Anglim
3
Jeremy Anglim É realmente correto dizer que o PCA cria um "conjunto menor de variáveis ​​compostas independentes importantes". Ou você deve realmente dizer "conjunto menor de variáveis ​​compostas não correlacionadas importantes". Se os dados subjacentes usados ​​no PCA não forem normalmente distribuídos (multivariados), os dados dimensionais reduzidos serão apenas não correlacionados?
FXQuantTrader 26/10
11
É fácil obter o segundo polegar da regra, mas como aplico o primeiro? Parece estranho, mas quando eu sei que quero executar um modelo de fator em relação às variáveis ​​observadas?
Ben
48

Da minha resposta aqui:

O PCA é seguido por uma rotação (como o varimax) ainda é PCA?

A Análise de Componentes Principais (PCA) e Análise de Fatores Comuns (CFA) são métodos distintos. Geralmente, eles produzem resultados semelhantes e o PCA é usado como o método de extração padrão nas rotinas de Análise de fator do SPSS. Isso, sem dúvida, resulta em muita confusão sobre a distinção entre os dois.

A linha inferior é que estes são dois modelos diferentes, conceitualmente. No PCA, os componentes são combinações lineares ortogonais reais que maximizam a variação total. Na FA, os fatores são combinações lineares que maximizam a parte compartilhada da variação - subjacente às "construções latentes". É por isso que a FA é frequentemente chamada de "análise fatorial comum". A FA usa uma variedade de rotinas de otimização e o resultado, diferentemente do PCA, depende da rotina de otimização usada e dos pontos de partida para essas rotinas. Simplesmente não existe uma única solução única.

Em R, a função factanal () fornece ao CFA uma extração de probabilidade máxima. Portanto, você não deve esperar que ele reproduza um resultado do SPSS baseado em uma extração de PCA. Simplesmente não é o mesmo modelo ou lógica. Não tenho certeza se você obteria o mesmo resultado se usasse a extração de máxima verossimilhança do SPSS, pois eles podem não usar o mesmo algoritmo.

Para o bem ou para o mal no R, você pode, no entanto, reproduzir a "análise fatorial" mista que o SPSS fornece como padrão. Aqui está o processo em R. Com esse código, sou capaz de reproduzir o resultado de "Análise fatorial" do componente principal do SPSS usando esse conjunto de dados. (Com exceção do sinal, que é indeterminado). Esse resultado também pode ser girado usando qualquer um dos métodos de rotação disponíveis de 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)
Brett
fonte
5
Observe que você obterá os mesmos resultados com principal(attitude, 2, rotate="none")o psychpacote e que a regra de Kayser (ev> 1) não é a maneira mais recomendada de testar a dimensionalidade (superestima o número de fatores).
chl
5
Sim, eu sei que o diretor psíquico encerra isso. Meu objetivo era mostrar o que a "análise fatorial" do SPSS estava fazendo ao usar o método de extração de componentes principais. Concordo que a regra de autovalor é uma maneira pobre de selecionar o número de fatores. Mas, é exatamente isso que o SPSS faz por padrão e era isso que eu estava demonstrando.
Brett
11
factanal()fornece EFA não CFA. Além disso, pela minha experiência, a extração de máxima verossimilhança do SPSS deve fornecer o mesmo resultado, uma factanal()vez que não há rotação oblíqua.
pe-pe-rry
2
O que significa o seguinte: 'Na FA, os fatores são combinações lineares que maximizam a parte compartilhada da variação - "construções latentes" subjacentes. '?
conjeturas
Observe também que o CFA pode representar FA confirmatória (em oposição à FA explicativa ) em vez de FA comum .
Richard Hardy
33

Você está certo sobre o seu primeiro ponto, embora na FA você geralmente trabalhe com os dois (singularidade e comunidade). A escolha entre PCA e FA é um debate de longa data entre psicometristas. Eu não sigo exatamente seus pontos, no entanto. A rotação dos eixos principais pode ser aplicada independentemente do método usado para construir fatores latentes. De fato, na maioria das vezes é a rotação VARIMAX (rotação ortogonal, considerando fatores não correlacionados) que é usada, por razões práticas (interpretação mais fácil, regras mais fáceis de pontuação ou interpretação de pontuações de fatores, etc.), embora rotação oblíqua (por exemplo, PROMAX ) provavelmente pode refletir melhor a realidade (construções latentes geralmente estão correlacionadas), pelo menos na tradição da AF, em que você supõe que um construto latente está realmente no centro das inter-correlações observadas entre suas variáveis. O ponto é que o PCA seguido pela rotação do VARIMAX distorce um pouco a interpretação das combinações lineares das variáveis ​​originais na tradição "análise de dados" (veja o trabalho de Michel Tenenhaus). De uma perspetiva psicométrica, os modelos de FA devem ser preferidos, pois explicitamente explicam erros de medição, enquanto o PCA não se importa com isso. Resumidamente, usando o PCA, você está expressando cada componente (fator) como uma combinação linear das variáveis, enquanto na FA essas são as variáveis ​​que são expressas como combinações lineares dos fatores (incluindo comunalidade e componentes de exclusividade, como você disse). O ponto é que o PCA seguido pela rotação do VARIMAX distorce um pouco a interpretação das combinações lineares das variáveis ​​originais na tradição "análise de dados" (veja o trabalho de Michel Tenenhaus). De uma perspetiva psicométrica, os modelos de FA devem ser preferidos, pois explicitamente explicam erros de medição, enquanto o PCA não se importa com isso. Resumidamente, usando o PCA, você está expressando cada componente (fator) como uma combinação linear das variáveis, enquanto na FA essas são as variáveis ​​que são expressas como combinações lineares dos fatores (incluindo comunalidade e componentes de exclusividade, como você disse). O ponto é que o PCA seguido pela rotação do VARIMAX distorce um pouco a interpretação das combinações lineares das variáveis ​​originais na tradição "análise de dados" (veja o trabalho de Michel Tenenhaus). De uma perspetiva psicométrica, os modelos de FA devem ser preferidos, pois explicitamente explicam erros de medição, enquanto o PCA não se importa com isso. Resumidamente, usando o PCA, você está expressando cada componente (fator) como uma combinação linear das variáveis, enquanto na FA essas são as variáveis ​​que são expressas como combinações lineares dos fatores (incluindo comunalidade e componentes de exclusividade, como você disse). Os modelos de FA devem ser preferidos, pois explicitamente explicam erros de medição, enquanto o PCA não se importa com isso. Resumidamente, usando o PCA, você está expressando cada componente (fator) como uma combinação linear das variáveis, enquanto na FA essas são as variáveis ​​que são expressas como combinações lineares dos fatores (incluindo comunalidade e componentes de exclusividade, como você disse). Os modelos de FA devem ser preferidos, pois explicitamente explicam erros de medição, enquanto o PCA não se importa com isso. Resumidamente, usando o PCA, você está expressando cada componente (fator) como uma combinação linear das variáveis, enquanto na FA essas são as variáveis ​​que são expressas como combinações lineares dos fatores (incluindo comunalidade e componentes de exclusividade, como você disse).

Eu recomendo que você leia primeiro as seguintes discussões sobre este tópico:

chl
fonte
7
Só para dizer que minha resposta pode parecer um pouco fora de tópico, já que essa pergunta foi mesclada com outra, stats.stackexchange.com/questions/3369/… (eu inicialmente respondo a esta).
chl
6
Ah, eu queria saber por que você ligado a este queston, nesta questão ... :)
Brandon Bertelsen
11
PCA followed by VARIMAX rotation somewhat distorts the interpretation of the linear combinations of the original variables in the "data analysis" tradition. Chl, você poderia explicar? Isso é interessante.
precisa saber é o seguinte
32

Existem inúmeras definições sugeridas na web. Aqui está um de um glossário on-line sobre aprendizado estatístico :

Análise do componente principal

Construindo novos recursos que são os principais componentes de um conjunto de dados. Os componentes principais são variáveis ​​aleatórias de variação máxima, construídas a partir de combinações lineares dos recursos de entrada. Equivalentemente, são as projeções nos eixos dos componentes principais, que são linhas que minimizam a distância quadrada média de cada ponto no conjunto de dados. Para garantir a exclusividade, todos os eixos dos componentes principais devem ser ortogonais. O PCA é uma técnica de probabilidade máxima para regressão linear na presença de ruído gaussiano nas entradas e saídas. Em alguns casos, o PCA corresponde a uma transformação de Fourier, como o DCT usado na compactação de imagem JPEG. Veja "Autofaces para reconhecimento" (Turk & Pentland, J Cognitive Neuroscience 3 (1), 1991), Bishop, "

Análise fatorial

Uma generalização do PCA baseada explicitamente na probabilidade máxima. Como o PCA, supõe-se que cada ponto de dados surja da amostragem de um ponto em um subespaço e, em seguida, perturbando-o com ruído gaussiano de dimensão total. A diferença é que a análise fatorial permite que o ruído tenha uma matriz de covariância diagonal arbitrária, enquanto o PCA assume que o ruído é esférico. Além de estimar o subespaço, a análise fatorial estima a matriz de covariância do ruído. Consulte "O algoritmo EM para misturas de analisadores de fatores". Escolha de dimensionalidade para PCA ".

Dirk Eddelbuettel
fonte
2
A descrição da Análise Fatorial obtém o ponto principal (covariância diagonal), mas historicamente não foi desenvolvida como uma generalização do PCA.
conjectures
11
Então basicamente no PCA um svd é a matriz de covariância e na FA a matriz de correlação? É sempre difícil para mim encontrar a matemática real depois que os métodos construíram muita terminologia no campo em que são aplicados. (off-topic: uma vez me levou uma tarde inteira entender o que a modelagem caminho é até que eu encontrei um (1) papel dos anos 70 que declarou a equação da matriz por trás dele.)
Mark van der Loo
28

A resposta principal neste tópico sugere que o PCA é mais uma técnica de redução de dimensionalidade, enquanto a FA é mais uma técnica de variável latente. Isso é sensu stricto correto. Mas muitas respostas aqui e muitos tratamentos em outros lugares apresentam PCA e FA como dois métodos completamente diferentes, com objetivos, métodos e resultados diferentes, se não opostos. Discordo; Acredito que, quando o PCA é considerado uma técnica de variável latente, ele é bastante próximo do AF, e eles devem ser vistos como métodos muito semelhantes.

Forneci minha própria conta das semelhanças e diferenças entre o PCA e o FA no seguinte encadeamento: Existe algum bom motivo para usar o PCA em vez do EFA? Além disso, o PCA pode substituir a análise fatorial? Argumento que, por razões matemáticas simples, pode-se esperar que o resultado da PCA e FA seja bastante semelhante, dado apenas que o número de variáveis ​​não é muito pequeno (talvez mais de uma dúzia). Veja minha resposta [longa!] No tópico vinculado para obter detalhes matemáticos e simulações de Monte Carlo. Para uma versão muito mais concisa do meu argumento, veja aqui: Sob quais condições o PCA e o FA produzem resultados semelhantes?

n=178p=13

Matriz de correlação do conjunto de dados do vinho

n=178

Análise PCA e FA do conjunto de dados do vinho

p=131 1331 1 ).

Observe que quase não há diferença entre PCA e FA! Existem pequenos desvios aqui e ali, mas a imagem geral é quase idêntica, e todas as cargas são muito semelhantes e apontam nas mesmas direções. Isso é exatamente o que era esperado da teoria e não é surpresa; ainda assim, é instrutivo observar.

PS. Para um biplot PCA muito mais bonito do mesmo conjunto de dados, consulte esta resposta por @vqv .

PPS. Enquanto os cálculos de PCA são padrão, os cálculos de FA podem exigir um comentário. As cargas fatoriais foram calculadas por um algoritmo de "fatores principais iterados" até a convergência (9 iterações), com comunalidades inicializadas com correlações parciais. Uma vez convergidos os carregamentos, os escores foram calculados pelo método de Bartlett. Isso produz pontuações padronizadas; Eu as ampliei pelas respectivas variações de fatores (dadas pelos comprimentos das cargas).

ameba
fonte
11
Qual software você usou para criar os gráficos de análise fatorial e PCA?
rnso
11
Eu usei o Matlab. Eu estava pensando em colar o código na minha resposta (como normalmente é meu hábito), mas não queria desorganizar ainda mais esse segmento ocupado. Mas, pensando bem, eu deveria publicá-lo em algum site externo e deixar um link aqui. Eu vou fazer isso.
Ameba 30/03
2
É verdade que o PCA e o FA às vezes nem chegam a dar resultados semelhantes (cargas) e, portanto, o PCA pode ser visto como um caso específico de FA, quando a análise fatorial é definida amplamente. Ainda FA (sensu stricto) e PCA são teoricamente bem diferentes.
precisa saber é o seguinte
2
(cont.) Fatores são traços latentes transcendentes; pr. componentes são derivações imanentes. Apesar de suas duas parcelas de carregamento parecerem praticamente semelhantes, teoricamente elas são fundamentalmente diferentes. O plano de componentes à esquerda foi produzido como um subespaço das variáveis ​​que se projetam nele. O plano fatorial foi produzido como um espaço diferente do espaço das variáveis ​​e, portanto, elas se projetam em um espaço "alienígena" na plotagem correta.
precisa saber é o seguinte
3
(cont.) Mas a foto correta (FA) na verdade não é um verdadeiro biplot , é uma sobreposição de dois gráficos de dispersão distintos, espaços diferentes: o gráfico de carregamento (onde os eixos são fatores reais) e o gráfico de pontuação do objeto (onde os eixos são os fatores estimados como escores). O espaço real de fator substitui o espaço variável "parental", mas o espaço de pontuação do fator é seu subespaço. Você sobrepôs dois pares heterogêneos de eixos, mas eles têm os mesmos rótulos ("fator1" e "fator2" nos dois pares), situação que é fortemente enganosa e nos convence a pensar que é um biplot de boa-fé , como o esquerdo.
precisa saber é o seguinte
25

Uma explicação básica, mas um tipo de meticulosa, da análise PCA vs Fator com a ajuda de gráficos de dispersão, em etapas lógicas. (Agradeço a @amoeba que, em seu comentário à pergunta, me incentivou a postar uma resposta no lugar de fazer links para outros lugares. Portanto, aqui está uma resposta tardia e de lazer.)

PCA como resumo variável (extração de recurso)

Espero que você já tenha entendimento do PCA. Para reviver agora.

insira a descrição da imagem aqui

V1 1V2uma

P1 1=uma1 11 1V1 1+uma1 12V2

P2=uma21 1V1 1+uma22V2

Esses coeficientes são cossenos de rotação (= direção cossenos, direções principais) e compreendem o que é chamado de autovetores, enquanto os autovalores da matriz de covariância são as principais variações do componente. No PCA, geralmente descartamos os últimos componentes fracos: assim, resumimos os dados com alguns componentes extraídos primeiro, com pouca perda de informações.

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

Com nossos dados plotados, P1 = .73543*V1 + .67761*V2descartamos os valores do componente P1 (escores) e o componente P2. A variância de P1 é 1.75756o primeiro valor próprio da matriz de covariância e, portanto, P1 explica 86.5%a variância total que é igual a(1.07652+.95534) = (1.75756+.27430) .

PCA como previsão variável (recurso "latente")

P1 1 V1 1V2

V1 1=uma1 11 1P1 1+E1 1

V2=uma1 12P1 1+E2

umaE

insira a descrição da imagem aqui

V1 1^=uma1 11 1P1 1V2^=uma1 12P1 1E1 1=V1 1-V1 1^E2=V2-V2^

Agora, o que é característico do PCA é que, se calcularmos E1 e E2 para cada ponto nos dados e plotarmos essas coordenadas - ou seja, fazer o gráfico de dispersão dos erros, os "dados de erro" da nuvem coincidirão com o componente descartado P2. E sim: a nuvem é plotada na mesma imagem que a nuvem bege - e você vê na verdade o eixo P2 (da Fig.1 ), lado a lado com as pontuações dos componentes P2.

Não é de admirar, você pode dizer. É tão óbvio: no PCA , o (s) componente (s) júnior (is) descartado (s) é o que decompõe (s) com precisão os erros de previsão E, no modelo que explica (restaura) as variáveis ​​originais V pelo (s) recurso (s) latente (s) P1. Os erros E juntos constituem apenas os componentes deixados de fora. Aqui é onde a análise fatorial começa a diferir do PCA.

A idéia de FA comum (recurso latente)

Formalmente, o modelo que prevê variáveis ​​manifestas pelo (s) recurso (s) latente (s) extraído (s) é o mesmo na AF e na APC; [ Eq.3 ]:

V1 1=uma1 1F+E1 1

V2=uma2F+E2

onde F é o fator comum latente extraído dos dados e substituindo o que era P1 na Eq.2 . A diferença no modelo é que, na FA, diferentemente do PCA, é necessário que as variáveis ​​de erro (E1 e E2) não sejam correlacionadas .

umaumaumaumaumaumauma são autovetores.

OK, de volta ao tópico. E1 e E2 não são correlacionados na análise fatorial; portanto, eles devem formar uma nuvem de erros redondos ou elípticos, mas não na diagonal. Enquanto no PCA, sua nuvem formava uma linha reta coincidindo com o P2 na diagonal. Ambas as idéias são demonstradas na foto:

insira a descrição da imagem aqui

Observe que os erros são redondos (não na diagonal alongada) da nuvem na FA. O fator (latente) na FA é orientado de maneira um pouco diferente, ou seja, não é o primeiro componente principal que é o "latente" no PCA. Na foto, a linha de fator é estranhamente cônica - ficará claro o porquê no final.

Qual é o significado dessa diferença entre PCA e FA? Variáveis ​​correlacionadas, que são vistas na forma elíptica na diagonal da nuvem de dados. P1 desnatou a variação máxima, de modo que a elipse é co-direcionada para P1. Consequentemente, P1 explicou por si só a correlação; mas não explicou adequadamente a quantidade de correlação existente ; procurou explicar a variação nos pontos de dados, não a correlação. Na verdade, ela superestimou a correlação, cujo resultado foi o aparecimento da nuvem diagonal correlacionada de erros que compensa a super-conta. P1 sozinho não pode explicar a força da correlação / covariação de maneira abrangente. O fator F podefaça sozinho; e a condição em que é possível fazê-lo é exatamente onde os erros podem ser forçados a não serem correlacionados. Como a nuvem de erros é redonda, nenhuma correlação - positiva ou negativa - permaneceu após a extração do fator, portanto, foi o fator que analisou tudo.

Como redução da dimensionalidade, o PCA explica a variação, mas explica as correlações de maneira imprecisa. A FA explica correlações, mas não pode contabilizar (pelos fatores comuns) o máximo de variação de dados que o PCA. O (s) fator (es) na FA representam a parte da variabilidade que é a parte correlacional líquida, denominada comunalidade ; e, portanto, os fatores podem ser interpretados como forças / características / traços reais, mas não observáveis, que ocultam "dentro" ou "por trás" das variáveis ​​de entrada para que elas se correlacionem. Porque eles explicam a correlação bem matematicamente. Os principais componentes (poucos primeiros) explicam matematicamente que não tão bem e, portanto, podem ser chamados de "característica latente" (ou tal) apenas em algum momento e provisoriamente .

A multiplicação de cargas é o que explica (restaura) a correlação ou correlação na forma de covariância - se a análise foi baseada na matriz de covariância (como no exemplo) em vez da matriz de correlação. A análise fatorial que eu fiz com os dados gerados a_1=.87352, a_2=.84528, portanto, o produto a_1*a_2 = .73837é quase igual à covariância .73915. Por outro lado, as cargas de PCA foram a1_1=.97497, a1_2=.89832, a1_1*a1_2 = .87584superestimando.73915 consideravelmente.

Tendo explicado a principal distinção teórica entre PCA e FA, voltemos aos nossos dados para exemplificar a idéia.

FA: solução aproximada (pontuação dos fatores)

Abaixo está o gráfico de dispersão mostrando os resultados da análise que chamaremos provisoriamente de "análise fatorial subótima", Fig.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).

insira a descrição da imagem aqui

Veja as partidas da Fig.2 do PCA. A nuvem bege dos erros não é redonda, é diagonalmente elíptica - mas é evidentemente muito mais gorda do que a fina linha diagonal que ocorreu no PCA. Observe também que os conectores de erro (mostrados para alguns pontos) não são mais paralelos (no PCA, eles eram, por definição, paralelos a P2). Além disso, se você observar, por exemplo, os pontos "F" e "E" que estão espelhados simetricamente sobre o eixo F do fator , você encontrará, inesperadamente, as pontuações correspondentes de seus fatores como valores bastante diferentes. Em outras palavras, as pontuações dos fatores não são apenas pontuações dos componentes principais transformadas linearmente: o fator F é encontrado à sua maneira, diferente da maneira P1. E seus eixos não coincidem completamente se mostrados juntos no mesmo gráfico Fig.4 :

insira a descrição da imagem aqui

Além disso, eles são um pouco diferentemente orientados, F (como lado a lado com as pontuações) é mais curto, ou seja, é responsável por uma variação menor do que a P1. Como observado anteriormente, o fator é responsável apenas pela variabilidade responsável pela correlação de V1 V2, ou seja, a parte da variação total que é suficiente para trazer as variáveis ​​da covariância primitiva 0para a covariância factual .73915.

FA: solução ideal (fator verdadeiro)

Uma solução de fator ideal é quando os erros são redondos ou nuvem elíptica não diagonal: E1 e E2 são totalmente não correlacionados . A análise fatorial realmente retorna uma solução ótima. Eu não o mostrei em um gráfico de dispersão simples como os acima. Por que eu fiz? - pois teria sido a coisa mais interessante, afinal.

O motivo é que seria impossível mostrar em um gráfico de dispersão adequadamente o suficiente, mesmo adotando um gráfico 3D. É um ponto bastante interessante teoricamente. Para tornar E1 e E2 completamente sem correlação, parece que todas essas três variáveis, F, E1, E2 devem estar no espaço (plano) definido por V1, V2; e os três devem estar correlacionados entre si . Eu acredito que é possível desenhar um gráfico de dispersão em 5D (e talvez com algum truque - em 4D), mas vivemos no mundo 3D, infelizmente. O fator F deve estar não correlacionado com E1 e E2 (enquanto os dois também não estão correlacionados) porque F é suposto ser a única fonte (limpa) e completa de correlação nos dados observados. A análise fatorial divide a variação total dapinsira variáveis ​​em duas partes não correlacionadas (sem sobreposição): -dimensional, onde os erros são, também chamados de fatores únicos, não correlacionados).parte de comunidade ( m-dimensional, onde mos fatores comuns governam) e parte de exclusividade (p

Portanto, perdoe por não mostrar o verdadeiro fator dos nossos dados em um gráfico de dispersão aqui. Pode ser visualizado de forma bastante adequada através de vetores no "espaço sujeito", como feito aqui sem mostrar pontos de dados.

Acima, na seção "A idéia de FA comum (característica latente)", eu exibi o fator (eixo F) como uma cunha, a fim de avisar que o eixo do fator real não se encontra no plano V1 V2. Isso significa que - ao contrário do componente principal P1 - o fator F como eixo não é uma rotação do eixo V1 ou V2 em seu espaço, e F como variável não é uma combinação linear das variáveis ​​V1 e V2. Portanto, F é modelado (extraído das variáveis ​​V1 v2) como se fosse uma variável externa independente, não uma derivação delas. Equações como a Eq.1, de onde o PCA começa, não são aplicáveis ​​para calcular o fator verdadeiro (ideal) na análise fatorial, enquanto as equações formalmente isomórficas Eq.2 e Eq.3são válidos para ambas as análises. Ou seja, no PCA, as variáveis ​​geram componentes e os componentes preveem variáveis; em FA fator (s) gerar / prever variáveis, e não para trás - modelo fator comum conceitualmente assume assim , mesmo que tecnicamente factores são extraídos a partir das variáveis observados.

Não apenas o fator verdadeiro não é uma função das variáveis ​​manifestas, mas os valores do fator verdadeiro não são definidos exclusivamente . Em outras palavras, eles são simplesmente desconhecidos. Tudo isso se deve ao fato de estarmos no espaço analítico 5D excessivo e não no espaço 2D dos dados em nossa casa. Apenas boas aproximações ( existem vários métodos ) para valores reais de fator, chamados de pontuação fatorial , existem para nós. As pontuações dos fatores estão no plano V1 V2, como as pontuações dos componentes principais, são computadas como as funções lineares de V1, V2 também e foram elasque plotei na seção "FA: solução aproximada (pontuação dos fatores)". As pontuações dos componentes principais são valores reais dos componentes; os escores dos fatores são apenas uma aproximação razoável aos valores dos fatores reais indeterminados.

FA: arredondamento do procedimento

uma

Assim, a "solução fatorial" exibida por mim na seção "FA: solução aproximada (pontuação do fator)" foi baseada na carga ideal, ou seja, em fatores reais. Mas as pontuações não foram ótimas, por destino. As pontuações são calculadas para serem uma função linear das variáveis ​​observadas, como as pontuações dos componentes, para que ambas possam ser comparadas em um gráfico de dispersão e eu fiz isso em busca didática para mostrar como uma passagem gradual da ideia de PCA para a ideia de FA.

É preciso ter cuidado ao traçar as mesmas cargas fatoriais biplot com pontuações fatoriais no "espaço de fatores", estar consciente de que cargas pertencem a fatores verdadeiros, enquanto pontuações pertencem a fatores substitutos (veja meus comentários a esta resposta neste tópico).

A rotação de fatores (cargas) ajuda a interpretar os recursos latentes. A rotação de cargas também pode ser feita no PCA se você usar o PCA como se fosse uma análise fatorial (ou seja, consulte o PCA como previsão variável). O PCA tende a convergir em resultados com a AF à medida que o número de variáveis ​​aumenta (veja o tópico extremamente rico em semelhanças e diferenças práticas e conceituais entre os dois métodos). Veja minha lista de diferenças entre PCA e FA no final desta resposta . Os cálculos passo a passo do PCA vs FA no conjunto de dados da íris são encontrados aqui . Existe um número considerável de bons links para as respostas de outros participantes sobre o tópico fora deste tópico; Sinto muito, usei apenas alguns deles na resposta atual.

Veja também uma lista completa das diferenças entre PCA e FA aqui .

ttnphns
fonte
11
+1. É ótimo que você tenha escrito, esse tópico estava definitivamente sem uma resposta sua. Votei antes da leitura (o que raramente faço) e certamente gostei da leitura subsequente. Posso comentar mais tarde, mas um pequeno detalhe por enquanto: você escreveu várias vezes que na FA a nuvem de erros deve ser "redonda". Mas, na verdade, poderia muito bem ser elíptico (porque as exclusões para V1 e V2 podem ter variações diferentes), apenas precisa ter zero correlações. Eu acho que você não queria confundir os leitores com esse detalhe.
Ameba
11
V1 1=uma1 1F+E1 1V2=uma2F+E2(E1 1,E2)=N(0 0,Eu)- Agora use essas relações para gerar amostras de V1 e V2. Uma vez que V1 e V2 são gerados, se quisermos realizar a FA ideal, devemos obter estimativas quase precisas de (E1, E2), e formará uma nuvem elíptica. Além disso, agora F, E1, E2 podem ser representados no mesmo plano que V1 e V2.
kasa 12/07
@kasa, seu comentário foi elogiado pela minha resposta ou pelo comentário da ameba? Se o seu comentário é contrário à minha principal alegação de que na FA as três variáveis ​​latentes não se encontram no espaço original e você pode mostrá-lo, por que não emitir uma resposta mostrando isso? Mas observe que, na FA ideal, os erros são exatamente não correlacionados, não que possam ser imaginados como provenientes de uma população normal não correlacionada.
ttnphns 12/07
@ttnphns: Desculpe pela confusão, eu estava duvidando da sua reivindicação principal. Vou tentar mostrá-lo como resposta em alguns dias. Obrigado!
kasa 12/07
21

As diferenças entre análise fatorial e análise de componentes principais são:

• Na análise fatorial, existe um modelo estruturado e algumas premissas. A este respeito, é uma técnica estatística que não se aplica à análise de componentes principais, que é uma transformação puramente matemática.

• O objetivo da análise de componentes principais é explicar a variação, enquanto a análise fatorial explica a covariância entre as variáveis.

Uma das maiores razões para a confusão entre os dois tem a ver com o fato de que um dos métodos de extração fatorial na Análise Fatorial é chamado "método dos componentes principais". No entanto, uma coisa é usar o PCA e outra é usar o método dos componentes principais na FA. Os nomes podem ser semelhantes, mas há diferenças significativas. O primeiro é um método analítico independente, enquanto o último é apenas uma ferramenta para extração de fatores.

George Dontas
fonte
13

Para mim (e espero que isso seja útil), a análise fatorial é muito mais útil que o PCA.

Recentemente, tive o prazer de analisar uma escala através da análise fatorial. Essa escala (embora seja amplamente usada na indústria) foi desenvolvida usando o PCA e, até onde eu sei, nunca havia sido fatorada.

Ao realizar a análise fatorial (eixo principal), descobri que as comunalidades de três dos itens eram inferiores a 30%, o que significa que mais de 70% da variação dos itens não estava sendo analisada. O PCA apenas transforma os dados em uma nova combinação e não se importa com as comunidades. Minha conclusão foi que a escala não era muito boa do ponto de vista psicométrico, e confirmei isso com uma amostra diferente.

Essencialmente, se você deseja prever o uso dos fatores, use o PCA, enquanto que se quiser entender os fatores latentes, use a Análise Fatorial.

richiemorrisroe
fonte
11

Expandindo a resposta do @ StatisticsDocConsulting: a diferença de carga entre o EFA e o PCA não é trivial, com um pequeno número de variáveis. Aqui está uma função de simulação para demonstrar isso em 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()

Usando esse código, simulei amostras de 3 a 100 variáveis ​​com 500 iterações cada para produzir dados:

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)}

... para um gráfico da sensibilidade das cargas médias (entre variáveis ​​e iterações) ao número de variáveis:

.067

Nick Stauner
fonte
10

Pode-se pensar em um PCA como sendo uma FA na qual se supõe que as comunalidades sejam iguais a 1 para todas as variáveis. Na prática, isso significa que itens que teriam cargas fatoriais relativamente baixas na FA devido à baixa comunalidade terão cargas mais altas na PCA. Esse não é um recurso desejável se o objetivo principal da análise é reduzir o comprimento do item e limpar uma bateria de itens daqueles com cargas baixas ou equívocas, ou identificar conceitos que não estão bem representados no pool de itens.

EstatísticasDoc Consulting
fonte
10

Uma citação de um livro muito bom (Brown, 2006, pp. 22, grifo nosso).
PCA = análise de componentes principais
EFA = análise fatorial exploratória
CFA = análise fatorial confirmatória

Embora relacionada à AFE, a análise de componentes principais (PCA) é frequentemente categorizada como um método de estimativa da análise de fatores comuns. Diferentemente dos estimadores discutidos no parágrafo anterior (ML, PF), o PCA conta com um conjunto diferente de métodos quantitativos que não se baseiam no modelo de fator comum. O PCA não diferencia variâncias comuns e únicas. Em vez disso, o PCA visa explicar a variação nas medidas observadas, em vez de explicar as correlações entre elas. Assim, o PCA é usado de maneira mais apropriada como uma técnica de redução de dados para reduzir um conjunto maior de medidas para um número menor e mais gerenciável de variáveis ​​compostas para uso em análises subsequentes. No entanto, alguns metodologistas argumentaram que o PCA é uma alternativa razoável ou talvez superior ao EFA, Considerando que o PCA possui várias propriedades estatísticas desejáveis ​​(por exemplo, computacionalmente mais simples, não suscetíveis a soluções impróprias, geralmente produz resultados semelhantes aos da EFA, capacidade da PCA de calcular a pontuação de um participante em um componente principal, enquanto a natureza indeterminada de EFA complica tais cálculos). Embora o debate sobre esse assunto continue, Fabrigar et al. (1999) apresentam várias razões em oposição ao argumento do lugar da PCA na análise fatorial. Esses autores destacam as situações em que o EFA e o PCA produzem resultados diferentes; por exemplo, quando as comunidades são baixas ou quando existem apenas alguns indicadores de um determinado fator (cf. Widaman, 1993). freqüentemente produz resultados semelhantes aos do EFA, capacidade do PCA para calcular a pontuação de um participante em um componente principal, enquanto a natureza indeterminada do EFA complica esses cálculos). Embora o debate sobre esse assunto continue, Fabrigar et al. (1999) apresentam várias razões em oposição ao argumento do lugar da PCA na análise fatorial. Esses autores destacam as situações em que o EFA e o PCA produzem resultados diferentes; por exemplo, quando as comunidades são baixas ou quando existem apenas alguns indicadores de um determinado fator (cf. Widaman, 1993). freqüentemente produz resultados semelhantes aos do EFA, capacidade do PCA para calcular a pontuação de um participante em um componente principal, enquanto a natureza indeterminada do EFA complica esses cálculos). Embora o debate sobre esse assunto continue, Fabrigar et al. (1999) apresentam várias razões em oposição ao argumento do lugar da PCA na análise fatorial. Esses autores destacam as situações em que o EFA e o PCA produzem resultados diferentes; por exemplo, quando as comunidades são baixas ou quando existem apenas alguns indicadores de um determinado fator (cf. Widaman, 1993). (1999) apresentam várias razões em oposição ao argumento do lugar da PCA na análise fatorial. Esses autores destacam as situações em que o EFA e o PCA produzem resultados diferentes; por exemplo, quando as comunidades são baixas ou quando existem apenas alguns indicadores de um determinado fator (cf. Widaman, 1993). (1999) apresentam várias razões em oposição ao argumento do lugar da PCA na análise fatorial. Esses autores destacam as situações em que o EFA e o PCA produzem resultados diferentes; por exemplo, quando as comunidades são baixas ou quando existem apenas alguns indicadores de um determinado fator (cf. Widaman, 1993).Independentemente disso, se a lógica primordial e os objetivos empíricos de uma análise estiverem de acordo com o modelo de fator comum, será conceitualmente e matematicamente inconsistente conduzir a APC; isto é, a AFE é mais apropriada se o objetivo declarado é reproduzir as intercorrelações de um conjunto de indicadores com um número menor de dimensões latentes, reconhecendo a existência de erro de medição nas medidas observadas.Floyd e Widaman (1995) afirmam que as estimativas baseadas na AGE são mais propensas a generalizar a AGC do que as obtidas da PCA, pois, diferentemente da AGC, a AGE e a AGC são baseadas no modelo de fator comum. Essa é uma consideração digna de nota à luz do fato de que a EFA é frequentemente usada como precursora da CFA no desenvolvimento de escala e na validação de construtos. Uma demonstração detalhada das diferenças computacionais entre PCA e EFA pode ser encontrada em livros de análise multivariada e fatorial (por exemplo, Tabachnick e Fidell, 2001).

Brown, TA (2006). Análise fatorial de confirmação para pesquisa aplicada. Nova York: Guilford Press.

Henrik
fonte
6

Em um artigo de Tipping e Bischop, a estreita relação entre PCA Probabalística (PPCA) e análise fatorial é discutida. O PPCA está mais próximo da FA do que o PCA clássico. O modelo comum é

y=μ+Wx+ϵ

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

  • Ψ
  • Ψ=σ2Eu

Michael E. Tipping, Christopher M. Bishop (1999). Análise probabilística de componentes principais , Jornal da Royal Statistical Society, Volume 61, Edição 3, Páginas 611–622

mnmltype
fonte
2
+1. Sim. Acredito que é necessário entender o PPCA para entender a relação entre PCA e FA. Mas você pode melhorar sua resposta discutindo o relacionamento PCA / PPCA.
Ameba
3

Nenhuma dessas respostas é perfeita. FA ou PCA tem algumas variantes. Devemos apontar claramente quais variantes são comparadas. Eu compararia a análise do fator de máxima verossimilhança e o PCA da Hotelling. Os primeiros assumem que a variável latente segue uma distribuição normal, mas o PCA não tem essa suposição. Isso levou a diferenças, como a solução, o aninhamento dos componentes, o único da solução, os algoritmos de otimização.

Hélice
fonte
11
Gostaria de saber se você poderia expandir um pouco isso - você disse que há diferenças na última frase, mas não recebeu muitas informações sobre quais podem ser essas diferenças ou de que maneira essas diferenças podem ser importantes?
Silverfish
11
Selecionar dois métodos mais distantes e afirmar que eles são realmente diferentes - como você - também não é uma lógica perfeita. Provavelmente, deve-se encontrar e relatar como esses dois são semelhantes. Como alternativa, pode-se escolher os métodos mais semelhantes (como PCA simples versus PAF ) e relatar de que maneira eles são diferentes.
ttnphns
11
O PCA de Hotelling assume gaussianos latentes.
conjectures
1

Há muitas ótimas respostas para este post, mas recentemente me deparei com outra diferença.

O clustering é um aplicativo em que PCA e FA produzem resultados diferentes. Quando existem muitos recursos nos dados, pode-se tentar encontrar as principais direções do PC e projetar os dados nesses PCs, e prosseguir com o cluster. Frequentemente, isso perturba os agrupamentos inerentes nos dados - este é um resultado comprovado. Os pesquisadores sugerem prosseguir com os métodos de agrupamento subespacial, que procuram fatores latentes de baixa dimensão no modelo.

Apenas para ilustrar essa diferença, considere o Crabsconjunto de dados no R. O caranguejo tem 200 linhas e 8 colunas, descrevendo 5 medições morfológicas em 50 caranguejos, cada uma das duas formas de cores e ambos os sexos, da espécie - Essencialmente, existem 4 (2x2) classes diferentes de caranguejos.

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)

Clustering usando PC1 e PC2: insira a descrição da imagem aqui

Clustering usando PC2 e PC3: insira a descrição da imagem aqui

#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

Como podemos ver nas parcelas acima, PC2 e PC3 carregam mais informações discriminatórias que PC1.

Se alguém tentar agrupar usando os fatores latentes usando um analisador de mistura de fatores, veremos resultados muito melhores em comparação ao uso dos dois primeiros PCs.

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
kasa
fonte
Devo dizer que duvido que esta resposta realmente responda à pergunta. A resposta é sobre análise de cluster após PCA ou FA, não sobre PCA e FA em si. Mas mesmo nesse aspecto a resposta é fraca ou inacabada. Como a diferença que você exibe deve ser explicada?
ttnphns 12/07
@ttnphns Concordo com a resposta sobre a análise de cluster. No entanto, o OP também solicitou um cenário da vida real com o PCA / FA, em que um precisa ser usado em detrimento do outro. Normalmente, PCA ou FA nunca é o objetivo final - pois, por exemplo, nas ciências sociais, o objetivo final seria segmentar os sujeitos em diferentes grupos / grupos. Minha resposta aborda esses cenários. Caso ache que minha resposta pode ser melhorada, fique à vontade para apontar.
kasa
Acho que sua resposta pode se tornar realmente relevante se você explicar sua descoberta. Você alega que as diferenças entre PCA e FA são intrínsecas para os dois métodos (somente elas se tornam aparentes no armazenamento em cluster). Eu acho que você deve mostrar ou pelo menos especular como ou por que as diferenças surgem teoricamente das diferenças dos modelos dos métodos.
ttnphns 12/07