Respuestas:
El siguiente artículo: La retención de componentes en el análisis de componentes principales con la aplicación de datos de microarrays de ADNc por Cangelosi y Goriely ofrece una visión general bastante agradable de la regla general estándar para detectar el número de componentes en un estudio. (Gráfico de pantalla, Proporción de la varianza total explicada, Regla de valor propio promedio, Diagrama de valor propio log, etc.) La mayoría de ellos son bastante fáciles de implementar en R.
En general, si su diagrama de pantalla no es muy concluyente, entonces solo necesita "elegir su veneno". No hay ningún derecho absoluto o incorrecto para ningún dato, ya que en realidad la cantidad de PC que se debe utilizar depende de su comprensión del problema. El único conjunto de datos que puede "realmente" conocer la dimensionalidad es el que construyó usted mismo. :-) Los componentes principales al final del día proporcionan la descomposición óptima de los datos bajo una métrica RSS (donde, como subproducto, obtiene que cada componente represente un modo principal de variación) e incluye o excluye un número dado de componentes dicta tu percepción sobre la dimensionalidad de tu problema.
Como cuestión de preferencia personal, me gusta el enfoque de Minka sobre esta elección automática de dimensionalidad para PCA que se basa en una interpretación probabilística de PCA pero, nuevamente, ingresa al juego de tratar de modelar la probabilidad de sus datos para una dimensionalidad dada. (Link proporciona el código de Matlab si desea seguir este razonamiento).
Intenta entender más tus datos. p.ej. ¿Realmente cree que el 99.99% de la variación de su conjunto de datos se debe a las covariables de su modelo? Si no es probable, probablemente no necesite incluir dimensiones que exhiban una proporción tan pequeña de la varianza total. ¿Crees que en realidad un componente refleja la variación por debajo de un umbral de diferencias notables? Eso probablemente significa que hay poca relevancia en incluir ese componente en su análisis.
En cualquier caso, buena suerte y verifique sus datos cuidadosamente. (Trazarlos también hace maravillas).
Ha habido un trabajo posterior muy agradable sobre este problema en los últimos años desde que esta pregunta se hizo y respondió originalmente. Recomiendo encarecidamente el siguiente documento de Gavish y Donoho: El umbral óptimo óptimo para valores singulares es 4 / sqrt (3)
Su resultado se basa en el análisis asintótico (es decir, hay una solución óptima bien definida a medida que su matriz de datos se vuelve infinitamente grande), pero muestran resultados numéricos impresionantes que muestran que el procedimiento asintóticamente óptimo funciona para conjuntos de datos pequeños y de tamaño realista, incluso bajo diferentes ruidos. modelos.
También explican el caso no cuadrado en el documento. Aquí tienen un buen suplemento de código (en MATLAB), pero los algoritmos serían fáciles de implementar en R o en cualquier otro lugar: https://purl.stanford.edu/vg705qn9070
Advertencias:
El problema con el criterio de Kaiser (todos los valores propios superiores a uno) es que el número de factores extraídos suele ser aproximadamente un tercio del número de elementos o escalas en la batería, independientemente de si muchos de los factores adicionales son ruido. El análisis paralelo y el criterio de pantalla generalmente son procedimientos más precisos para determinar la cantidad de factores a extraer (de acuerdo con los textos clásicos de Harmon y Ledyard Tucker, así como el trabajo más reciente de Wayne Velicer).
psy
opsych
en R, y los programas SPSS, SAS y MATLAB para determinar la cantidad de componentes y factores. Utilizando el análisis paralelo y la prueba MAP de Velicer de manera más general.