Selezione del modello PCA tramite AIC (o BIC)


12

Voglio utilizzare l'Akaike Information Criterion (AIC) per scegliere il numero appropriato di fattori da estrarre in un PCA. L'unico problema è che non sono sicuro di come determinare il numero di parametri.

Considera una matrice , dove rappresenta il numero di variabili e il numero di osservazioni, in modo tale che . Poiché la matrice di covarianza è simmetrica, una stima della massima verosimiglianza di potrebbe impostare il numero di parametri nell'AIC pari a .X N T X N ( 0 , Σ ) Σ N ( N + 1 )T×NXNTXN(0,Σ)ΣN(N+1)2

In alternativa, in un PCA, è possibile estrarre i primi autovettori e autovalori di , li chiamano e e quindi calcolare dove è la varianza residua media. Secondo il mio conteggio, se hai fattori , allora avresti parametri in , parametri in e parametro in .Σ β f Λ f Σ = β f Λ f β f + I σ 2 r σ 2 r f f Λ f N f β f 1 σ 2 rfΣβfΛf

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

Questo approccio è corretto? Sembra che porterebbe a più parametri rispetto all'approccio massima verosimiglianza come il numero di fattori aumenta a .N


1
Nf sovrastima i parametri: c'è ridondanza a causa del fatto che gli autovettori sono reciprocamente ortogonali.
whuber

10
Il primo autovettore ha parametri liberi. La condizione di ortogonalità limita il secondo autovettore all'iperspazio ortogonale al primo, richiedendo solo parametri . Ogni autovettore successivo necessita di un parametro in meno rispetto al precedente. Al limite di autovettori scarti (perché è ormai pari a zero), dando = parametri in toto, in accordo con il tuo primo parametro contare. N - 1 N σ 2 r N + ( N - 1 ) + + 1 N ( N + 1 ) / 2NN1Nσr2N+(N1)++1N(N+1)/2
whuber

1
@ A.Donda La situazione è vaga: supponiamo che tu abbia anche indicato la molteplicità di ogni autovalore e che queste molteplicità siano sommando a Consentendo che PCA trovi una trasformazione ortogonale, avremmo parametri per determinarlo. Ma gli stabilizzatori di ciascun eigenspace sono gruppi ortogonali nelle dimensioniCiascuno elimina quindi i parametri , lasciando i parametri per le rotazioni. I autovalori forniscono i parametri rimanenti. 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 ) / 2 sn1,n2,,ns,N.N(N1)/2ni.ni(ni1)/2
N(N1)/2i=1sni(ni1)/2
s
whuber

1
(Vorrei aggiungere che l'applicazione di questo conteggio alla domanda è dubbia: il PCA utilizza tutti i parametri , anche se potrebbe capitare di trovare alcuni autovalori di maggiore molteplicità. E in quasi tutti i set di dati reali, non otterrà mai una molteplicità maggiore di ).1N(N1)/21
whuber

1
@whuber, grazie! La mia domanda è motivata da una situazione in cui stima una matrice di covarianza sotto un vincolo sugli autovalori.
A. Donda,

Risposte:


5

Le opere di Minka ( scelta automatica della dimensionalità per PCA , 2000) e di Tipping & Bishop ( Probabilistic Principal Component Analysis ) riguardanti una visione probabilistica di PCA potrebbero fornirti il ​​quadro che ti interessa. Il lavoro di Minka fornisce un'approssimazione del log- verosimiglianza dove k è la dimensionalità latente del set di dati D usando un'approssimazione di Laplace; come affermato esplicitamente: "Una semplificazione del metodo di Laplace è l'approssimazione del BIC."logp(D|k)kD

Chiaramente questo assume un punto di vista bayesiano del tuo problema che non si basa sui criteri della teoria dell'informazione (KL-divergenza) usati dall'AIC.

Per quanto riguarda l'originale domanda "determinazione del numero di parametri", penso anche che il commento di @ whuber porti l'intuizione corretta.


Stavo giocando con AIC contro AICc su matrici casuali di varie dimensioni. AICc sembra funzionare meglio. Quei riferimenti sembrano buoni, ma non ho ancora avuto la possibilità di digerire.
Giovanni,

6

La selezione di un numero "appropriato" di componenti in PCA può essere eseguita elegantemente con Parallel Analysis (PA) di Horn. I documenti mostrano che questo criterio supera costantemente le regole empiriche come il criterio del gomito o la regola di Kaiser. Il pacchetto R "paran" ha un'implementazione di PA che richiede solo un paio di clic del mouse.

Naturalmente, quanti componenti conservi dipendono dagli obiettivi della riduzione dei dati. Se si desidera solo mantenere una varianza "significativa", PA darà una riduzione ottimale. Se si desidera ridurre al minimo la perdita di informazioni dei dati originali, tuttavia, è necessario conservare componenti sufficienti a coprire la varianza spiegata al 95%. Ciò manterrà ovviamente molti più componenti rispetto alla PA, sebbene per i set di dati ad alta dimensione, la riduzione della dimensionalità sarà ancora considerevole.

Un'ultima nota su PCA come problema di "selezione del modello". Non sono pienamente d'accordo con la risposta di Peter. Ci sono stati diversi articoli che hanno riformulato la PCA come un problema di tipo regressione, come Sparse PCA, Sparse Probabilistic PCA o ScotLASS. In queste soluzioni PCA "basate sul modello", i caricamenti sono parametri che possono essere impostati su 0 con termini di penalità appropriati. Presumibilmente, in questo contesto, sarebbe anche possibile calcolare le statistiche di tipo AIC o BIC per il modello in esame.

Questo approccio potrebbe teoricamente includere un modello in cui, ad esempio, due PC sono senza restrizioni (tutti i carichi diversi da zero), rispetto a un modello in cui PC1 è senza restrizioni e PC2 ha tutti i carichi impostati su 0. Ciò equivarrebbe a dedurre se PC2 è ridondante su tutto.

Riferimenti (PA) :

  • Dinno, A. (2012). paran: Test di corno dei principali componenti / fattori. Versione pacchetto R 1.5.1. http://CRAN.R-project.org/package=paran
  • Horn JL 1965. Una logica e un test per il numero di fattori nell'analisi fattoriale. Psicometrika . 30: 179–185
  • Hubbard, R. & Allen SJ (1987). Un confronto empirico di metodi alternativi per l'estrazione dei componenti principali. Journal of Business Research, 15 , 173-190.
  • Zwick, WR & Velicer, WF 1986. Confronto di cinque regole per determinare il numero di componenti da conservare. Bollettino psicologico. 99 : 432–442

Benvenuto nel sito, @BenM. Dalla tua risposta, penso che sarà bello averti in giro (anche se non so abbastanza su PCA oltre le basi per valutare le tue affermazioni). Una domanda, noti che queste posizioni sono state ben stabilite, potresti elencare un paio di pubblicazioni rappresentative in cui il lettore interessato potrebbe trovare maggiori dettagli?
gung - Ripristina Monica

-1

AIC è progettato per la selezione del modello. Questo non è davvero un problema di selezione del modello e forse sarebbe meglio adottare un approccio diverso. Un'alternativa potrebbe essere quella di specificare una certa percentuale totale di varianza spiegata (come diciamo 75%) e fermarsi quando la percentuale raggiunge il 75% se mai lo fa.


1
Sto selezionando tra diversi modelli in base al numero di fattori (il modello con 1 fattore rispetto al modello con 2, ecc.). Il problema con la percentuale di varianza è principalmente che ignora il costo della stima di autovettori aggiuntivi, specialmente quando il numero di osservazioni è inferiore al numero di variabili. L'AIC si adatta bene a un approccio probabilistico alla PCA.
Giovanni,

3
Michael, potresti spiegare esattamente perché questo non è un problema di selezione del modello? Sembra che John lo abbia chiaramente formulato come uno.
whuber

@whuber Qual è il modello statistico? Mi sembra che decidere il numero del componente principale usato per rappresentare la x% della varianza in una variabile Y non stia selezionando un modello. Non penserei nemmeno ai componenti principali come parametri del modello.
Michael R. Chernick,

2
XiN(0,Σ)Σσi2ρ|ρ|=1θλ1λ2λ2=0. Entrambe le prospettive testano la perfetta correlazione (collinearità); usano solo diverse parametrizzazioni. Se si consente il primo come modello, è necessario consentire il secondo.
whuber

-3

AIC non è appropriato qui. Non si sta selezionando tra modelli con un numero variabile di parametri: un componente principale non è un parametro.

Esistono diversi metodi per decidere il numero di fattori o componenti da un'analisi fattoriale o da un'analisi dei componenti principali - test di ghiaia, autovalore> 1, ecc. Ma il test reale è sostanziale: quale numero di fattori ha senso ? Guarda i fattori, considera i pesi, scopri qual è il più adatto ai tuoi dati.

Come altre cose nelle statistiche, questo non è qualcosa che può essere facilmente automatizzato.


4
ΣΣ

1
@whuber Un parametro di una matrice di covarianza forse ma non un parametro del modello. Mi schierò con Peter su questo.
Michael R. Chernick,

3
Peter, esattamente che distinzione stai facendo tra un "parametro modello" e un "parametro"? Non sono a conoscenza di nulla del genere e quindi gradirei conoscere questo. Se il tuo scopo è trovare una descrizione parsimoniosa delle covarianze multivariate, non costituiscono parametri "modello"?
whuber

3
nmn

1
Grazie per le informazioni. Le serie storiche sono un'area delle statistiche di cui so poco.
Peter Flom - Ripristina Monica
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.