Selección de modelo de PCA usando AIC (o BIC)

12

Quiero usar el Criterio de información de Akaike (AIC) para elegir el número apropiado de factores para extraer en un PCA. El único problema es que no estoy seguro de cómo determinar el número de parámetros.

Considere una matriz , donde representa el número de variables y el número de observaciones, de modo que . Dado que la matriz de covarianza es simétrica, una estimación de probabilidad máxima de podría establecer el número de parámetros en el AIC igual a .X N T X N ( 0 , Σ ) Σ N ( N + 1 )T×NXNTXN(0,Σ)ΣN(N+1)2

Alternativamente, en una PCA, puede extraer los primeros vectores propios y valores propios de , llamarlos y y luego calcular donde es la varianza residual promedio. Según mi cuenta, si tiene factores , entonces tendría parámetros en , parámetros en y parámetro en .Σ β 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

¿Es correcto este enfoque? Parece que conduciría a más parámetros que el método de máxima verosimilitud como el número de factores se incrementa a .N

John
fuente
1
Nf exceso los parámetros: existe redundancia debido al hecho de que los vectores propios son mutuamente ortogonales.
whuber
10
El primer vector propio tiene parámetros libres. La condición de ortogonalidad restringe el segundo vector propio al hiperespacio ortogonal al primero, y solo necesita parámetros . Cada vector propio sucesivo necesita un parámetro menos que el anterior. En el límite de vectores propios, descarta (porque ahora es cero), dando = parámetros en total, de acuerdo con su primer parámetro contar. N - 1 N σ 2 r N + ( N - 1 ) + + 1 N ( N + 1 ) / 2NN1Nσr2N+(N1)++1N(N+1)/2
whuber
1
@ A.Donda La situación es vaga: supongamos que también ha indicado la multiplicidad de cada valor propio y que estas multiplicidades son sumando a Si que PCA encuentre una transformación ortogonal, tendríamos parámetros para determinarlo. Pero los estabilizadores de cada espacio propio son grupos ortogonales en las dimensionesCada uno de ellos elimina los parámetros , dejando parámetros para las rotaciones. Los valores propios suministran los parámetros restantes. 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
(Debo agregar que la aplicación de este conteo a la pregunta es dudosa: la PCA usa todos los parámetros , incluso si puede encontrar algunos valores propios de mayor multiplicidad. Y en casi cualquier conjunto de datos real, nunca obtendrá una multiplicidad mayor que todos modos.)1N(N1)/21
whuber
1
@whuber, gracias! Mi pregunta está motivada por una situación en la que calculo una matriz de covarianza bajo una restricción en los valores propios.
A. Donda

Respuestas:

5

logp(D|k)kD

Claramente, esto toma un punto de vista bayesiano de su problema que no se basa en los criterios de teoría de la información (divergencia KL) utilizados por AIC.

Con respecto a la pregunta original de "determinación del número de parámetros", también creo que el comentario de @ whuber lleva la intuición correcta.

usεr11852
fuente
Estaba jugando con AIC versus AICc en matrices aleatorias de diferentes tamaños. AICc parecía estar funcionando mejor. Esas referencias se ven bien, pero aún no he tenido la oportunidad de digerir.
John
6

La selección de un número "apropiado" de componentes en PCA se puede realizar de manera elegante con el Análisis paralelo de Horn (PA). Los documentos muestran que este criterio supera constantemente las reglas generales, como el criterio del codo o la regla de Kaiser. El paquete R "paran" tiene una implementación de PA que requiere solo un par de clics del mouse.

Por supuesto, cuántos componentes retiene depende de los objetivos de la reducción de datos. Si solo desea retener la varianza que es "significativa", la PA dará una reducción óptima. Sin embargo, si desea minimizar la pérdida de información de los datos originales, debe retener suficientes componentes para cubrir una variación explicada del 95%. Obviamente, esto mantendrá muchos más componentes que PA, aunque para conjuntos de datos de alta dimensión, la reducción de dimensionalidad seguirá siendo considerable.

Una nota final sobre PCA como un problema de "selección de modelo". No estoy totalmente de acuerdo con la respuesta de Peter. Ha habido una serie de documentos que reformularon PCA como un problema de tipo de regresión, como Sparse PCA, Sparse Probabilistic PCA o ScotLASS. En estas soluciones PCA "basadas en modelos", las cargas son parámetros que se pueden establecer en 0 con los términos de penalización apropiados. Presumiblemente, en este contexto, también sería posible calcular estadísticas de tipo AIC o BIC para el modelo en consideración.

Este enfoque podría incluir teóricamente un modelo en el que, por ejemplo, dos PC no tienen restricciones (todas las cargas no son cero), en comparación con un modelo en el que PC1 no tiene restricciones y PC2 tiene todas las cargas en 0. Esto sería equivalente a inferir si PC2 es redundante en conjunto.

Referencias (PA) :

  • Dinno, A. (2012). paran: Prueba de Horn de componentes / factores principales. Paquete R versión 1.5.1. http://CRAN.R-project.org/package=paran
  • Horn JL 1965. Una justificación y una prueba para el número de factores en el análisis factorial. Psychometrika . 30: 179-185
  • Hubbard, R. y Allen SJ (1987). Una comparación empírica de métodos alternativos para la extracción de componentes principales. Journal of Business Research, 15 , 173-190.
  • Zwick, WR & Velicer, WF 1986. Comparación de cinco reglas para determinar el número de componentes a retener. Boletín psicológico. 99 : 432–442
Ben M.
fuente
Bienvenido al sitio, @BenM. Según su respuesta, creo que sería bueno tenerlo cerca (aunque no sé lo suficiente sobre PCA más allá de lo básico para evaluar sus reclamos). Una pregunta, usted nota que estas posiciones han sido bien establecidas, ¿podría enumerar un par de publicaciones representativas donde el lector interesado podría encontrar más detalles?
gung - Restablece a Monica
-1

AIC está diseñado para la selección del modelo. Esto no es realmente un problema de selección de modelo y quizás sea mejor que adoptes un enfoque diferente. Una alternativa podría ser especificar un cierto porcentaje total de varianza explicado (como digamos 75%) y detenerse cuando el porcentaje alcanza el 75% si alguna vez lo hace.

Michael R. Chernick
fuente
1
Estoy seleccionando entre diferentes modelos en función de la cantidad de factores (el modelo con 1 factor versus el modelo con 2, etc.). El problema con el porcentaje de varianza es principalmente que ignora el costo de estimar vectores propios adicionales, especialmente cuando el número de observaciones es menor que el número de variables. AIC encaja bien con un enfoque probabilístico de PCA.
John
3
Michael, ¿podrías explicar exactamente por qué este no es un problema de selección de modelo? Parece que John lo ha formulado claramente como uno.
whuber
@whuber ¿Cuál es el modelo estadístico? Me parece que decidir el número de componente principal utilizado para representar el x% de la varianza en una variable Y no es seleccionar un modelo. Tampoco pensaría en los componentes principales como parámetros del modelo.
Michael R. Chernick
2
XiN(0,Σ)Σσi2ρ|ρ|=1θλ1λ2λ2=0. Ambas perspectivas prueban la correlación perfecta (colinealidad); solo usan diferentes parametrizaciones. Si permite el primero como modelo, debe permitir el segundo.
whuber
-3

AIC no es apropiado aquí. No está seleccionando entre modelos con un número variable de parámetros: un componente principal no es un parámetro.

Existen varios métodos para decidir la cantidad de factores o componentes de un análisis factorial o análisis de componentes principales: prueba de pantalla, valor propio> 1, etc. Pero la prueba real es sustantiva: ¿qué cantidad de factores tiene sentido ? Observe los factores, considere los pesos y descubra cuál se adapta mejor a sus datos.

Al igual que otras cosas en las estadísticas, esto no es algo que pueda automatizarse fácilmente.

Peter Flom - Restablece a Monica
fuente
44
ΣΣ
1
@whuber Un parámetro de una matriz de covarianza puede ser, pero no un parámetro modelo. Estoy del lado de Peter en esto.
Michael R. Chernick
3
Peter, ¿qué distinción haces exactamente entre un "parámetro modelo" y un "parámetro"? No estoy al tanto de tal cosa y agradecería saber sobre esto. Si su propósito es encontrar una descripción parsimoniosa de las covarianzas multivariadas, ¿no constituyen parámetros "modelo"?
whuber
3
nmn
1
Gracias por la info. Las series de tiempo son un área de estadística de la que sé poco.
Peter Flom - Restablece a Monica