Seleção de modelo PCA usando AIC (ou BIC)

12

Desejo usar o Critério de informações de Akaike (AIC) para escolher o número apropriado de fatores a serem extraídos em um PCA. O único problema é que não tenho certeza de como determinar o número de parâmetros.

Considere uma matriz , em que representa o número de variáveis ​​e o número de observações, de modo que . Como a matriz de covariância é simétrica, uma estimativa de probabilidade máxima de poderia definir o número de parâmetros na AIC igual a .T×NXNTXN(0,Σ)ΣN(N+1)2

Alternativamente, em um PCA, você poderia extrair os primeiros autovetores e autovalores de , chamá-los e e depois calcular onde é a variação residual média. De acordo com a minha contagem, se você tiver fatores de f , você terá parâmetros f em \ Lambda_ {f} , parâmetros Nf em \ beta_ {f} e 1 parâmetro em \ sigma_ {r} ^ {2} .fΣβfΛf

Σ=βfΛfβf+Iσr2
σr2ffΛfNfβf1σr2

Essa abordagem está correta? Parece que levaria a mais parâmetros do que a abordagem de probabilidade máxima como o número de factores aumenta para N .

John
fonte
1
Nf superconta os parâmetros: há redundância devido ao fato de os autovetores serem mutuamente ortogonais.
whuber
10
O primeiro vetor próprio possui parâmetros livres. A condição de ortogonalidade restringe o segundo vetor próprio ao hiperespaço ortogonal ao primeiro, necessitando apenas parâmetros . Cada vetor próprio sucessivo precisa de um parâmetro a menos que o anterior. No limite de autovetores, você descarta (porque agora é zero), fornecendo parâmetros = in toto, de acordo com o seu primeiro parâmetro contagem. N - 1 N σ 2 r N + ( N - 1 ) + + 1 N ( N + 1 ) / 2NN1Nσr2N+(N1)++1N(N+1)/2
whuber
1
@ A.Donda A situação é vaga: suponha que você também tenha indicado a multiplicidade de cada autovalor e que essas multiplicidades são somando Permitindo que o PCA encontre uma transformação ortogonal, teríamos parâmetros para determiná-lo. Mas os estabilizadores de cada espaço próprio são grupos ortogonais nas dimensõesCada um deles elimina parâmetros, deixando parâmetros para rotações. Os valores próprios fornecer os restantes parâmetros. N . N ( N - 1 ) / 2 n i . n i ( n i - 1 ) / 2 N ( N - 1 ) / 2 - s i = 1 n i ( n i - 1 ) / 2n1,n2,,ns,N.N(N1)/2ni.ni(ni1)/2
N(N1)/2i=1sni(ni1)/2
s
whuber
1
(Devo acrescentar que a aplicação dessa contagem à pergunta é duvidosa: o PCA usa todos os parâmetros , mesmo que encontre alguns autovalores de maior multiplicidade. E em quase qualquer conjunto de dados real, de qualquer maneira, nunca obterá uma multiplicidade maior que )1N(N1)/21
whuber
1
@ whuber, obrigado! Minha pergunta é motivada por uma situação em que eu estimo uma matriz de covariância sob uma restrição nos valores próprios.
A.Delda

Respostas:

5

Os trabalhos de Minka ( Escolha automática de dimensionalidade para PCA , 2000) e de Tipping & Bishop ( Análise probabilística de componentes principais ) a respeito de uma visão probabilística do PCA podem fornecer a estrutura de seu interesse. O trabalho de Minka fornece uma aproximação do log- probabilidade onde é a dimensionalidade latente do seu conjunto de dados usando uma aproximação de Laplace; como declarado explicitamente: " Uma simplificação do método de Laplace é a aproximação BIC " .logp(D|k)kD

Claramente, isso leva a um ponto de vista bayesiano do seu problema que não se baseia nos critérios da teoria da informação (divergência de KL) usados ​​pela AIC.

Com relação à pergunta original "determinação do número de parâmetros", também acho que o comentário do @ whuber carrega a intuição correta.

usεr11852 diz Reinstate Monic
fonte
Eu estava brincando com AIC versus AICc em matrizes aleatórias de tamanhos variados. AICc parecia estar funcionando melhor. Essas referências parecem boas, mas ainda não tive chance de digerir.
John
6

A seleção de um número "apropriado" de componentes no PCA pode ser executada com elegância com a Análise Paralela (PA) da Horn. Os documentos mostram que esse critério supera consistentemente as regras práticas, como o critério do cotovelo ou a regra de Kaiser. O pacote R "paran" possui uma implementação de PA que requer apenas alguns cliques do mouse.

Obviamente, quantos componentes você retém dependem dos objetivos da redução de dados. Se você deseja apenas manter a variação "significativa", o PA fornecerá uma redução ideal. Se você deseja minimizar a perda de informações dos dados originais, no entanto, você deve reter componentes suficientes para cobrir 95% da variação explicada. Obviamente, isso manterá muito mais componentes que o PA, embora para conjuntos de dados de alta dimensão, a redução de dimensionalidade ainda seja considerável.

Uma observação final sobre o PCA como um problema de "seleção de modelo". Não concordo plenamente com a resposta de Peter. Vários documentos reformularam o PCA como um problema do tipo regressão, como o Sparse PCA, o Sparse Probabilistic PCA ou o ScotLASS. Nestas soluções PCA "baseadas em modelo", as cargas são parâmetros que podem ser configurados para 0 com termos de penalidade apropriados. Presumivelmente, nesse contexto, também seria possível calcular estatísticas do tipo AIC ou BIC para o modelo em consideração.

Essa abordagem poderia, teoricamente, incluir um modelo em que, por exemplo, dois PCs sejam irrestritos (todas as cargas diferentes de zero), versus um modelo em que PC1 é irrestrita e PC2 tenha todas as cargas definidas como 0. Isso seria equivalente a inferir se o PC2 é redundante no todo.

Referências (PA) :

  • Dinno, A. (2012). paran: Teste de Horn dos principais componentes / fatores. Pacote R versão 1.5.1. http://CRAN.R-project.org/package=paran
  • Horn JL 1965. Uma justificativa e um teste para o número de fatores na análise fatorial. Psychometrika . 30: 179-185
  • Hubbard, R. & Allen SJ (1987). Uma comparação empírica de métodos alternativos para extração de componentes principais. Journal of Business Research, 15 , 173-190.
  • Zwick, WR & Velicer, WF 1986. Comparação de cinco regras para determinar o número de componentes a reter. Boletim Psicológico. 99 : 432-442
Ben M.
fonte
Bem-vindo ao site, @BenM. Pela sua resposta, acho que será bom ter você por perto (embora eu não conheça o PCA além do básico para avaliar suas reivindicações). Uma pergunta, você observa que essas posições foram bem estabelecidas, você poderia listar algumas publicações representativas nas quais o leitor interessado poderia encontrar mais detalhes?
gung - Restabelece Monica
-1

AIC é projetado para seleção de modelo. Este não é realmente um problema de seleção de modelo e talvez seja melhor seguir uma abordagem diferente. Uma alternativa poderia ser especificar uma certa porcentagem total de variação explicada (como, por exemplo, 75%) e parar quando a porcentagem atingir 75%, se alguma vez ocorrer.

Michael R. Chernick
fonte
1
Estou selecionando entre diferentes modelos com base no número de fatores (o modelo com 1 fator versus o modelo com 2, etc.). O problema com a porcentagem de variância é principalmente o fato de ignorar o custo de estimar autovetores adicionais, especialmente quando o número de observações é menor que o número de variáveis. AIC se encaixa bem com uma abordagem probabilística de PCA.
John
3
Michael, você poderia explicar exatamente por que esse não é um problema de seleção de modelos? Parece que John claramente o formulou como um.
whuber
@whuber Qual é o modelo estatístico? Parece-me que decidir o número de componente principal usado para representar x% da variação em uma variável Y não está selecionando um modelo. Também não pensaria nos componentes principais como parâmetros do modelo.
Michael R. Chernick
2
Considere vetores 2D desenhados a partir de N ( 0 , Σ ) . Podemos parametrizar Σ em termos de duas variâncias σ 2 ie uma correlação ρ . Aninhado dentro deste modelo seria o modelo | p | = 1 . Agora, também podemos parametrizá-lo em termos do ângulo θ do primeiro componente principal e dos valores próprios λ 1λ 2 desses componentes. Aninhado dentro deste seria o modelo λ 2 = 0XiN(0,Σ)Σσi2ρ|ρ|=1θλ1λ2λ2=0. Ambas as perspectivas testam a correlação perfeita (colinearidade); eles apenas usam parametrizações diferentes. Se você permitir o primeiro como modelo, deverá permitir o segundo.
whuber
-3

AIC não é apropriado aqui. Você não está selecionando entre modelos com números variáveis ​​de parâmetros - um componente principal não é um parâmetro.

Existem vários métodos para decidir o número de fatores ou componentes de uma análise fatorial ou análise de componentes principais - teste de scree, valor próprio> 1 etc. Mas o teste real é substantivo: que número de fatores faz sentido ? Observe os fatores, considere os pesos e descubra qual é o mais adequado para seus dados.

Como outras coisas nas estatísticas, isso não é algo que pode ser facilmente automatizado.

Peter Flom - Restabelece Monica
fonte
4
Se "um componente principal não é um parâmetro", a fortiori nenhum coeficiente de pode ser um parâmetro (porque Σ é completamente determinado pela decomposição do componente principal). Esta é uma afirmação intrigante. ΣΣ
whuber
1
@whuber Um parâmetro de uma matriz de covariância talvez, mas não um parâmetro de modelo. Eu fico do lado de Peter nisso.
Michael R. Chernick
3
Peter, exatamente que distinção você faz entre um "parâmetro de modelo" e um "parâmetro"? Não tenho conhecimento de nada disso e gostaria de saber mais sobre isso. Se seu objetivo é encontrar uma descrição parcimoniosa das covariâncias multivariadas, elas não constituem parâmetros "modelo"?
whuber
3
nmn
1
Obrigado pela informação. As séries temporais são uma área da estatística sobre a qual sei pouco.
Peter Flom - Restabelece Monica