PCA cuando la dimensionalidad es mayor que el número de muestras


21

Me he encontrado con un escenario en el que tengo 10 señales / persona para 10 personas (es decir, 100 muestras) que contienen 14000 puntos de datos (dimensiones) que necesito pasar a un clasificador. Me gustaría reducir la dimensionalidad de estos datos y PCA parece ser la forma de hacerlo. Sin embargo, solo he podido encontrar ejemplos de PCA donde el número de muestras es mayor que el número de dimensiones. Estoy usando una aplicación PCA que encuentra las PC usando SVD. Cuando lo paso a mi conjunto de datos de 100x14000, hay 101 PC devueltas, por lo que la gran mayoría de las dimensiones obviamente se ignoran. El programa indica que las primeras 6 PC contienen 90% de la variación.

¿Es razonable suponer que estas 101 PC contienen esencialmente toda la variación y que las dimensiones restantes son despreciables?

Uno de los documentos que he leído afirma que, utilizando un conjunto de datos similar (aunque de calidad ligeramente inferior) que el mío, pudieron reducir 4500 dimensiones a 80 y retener el 96% de la información original. El documento muestra los detalles de la técnica de PCA utilizada, solo 3100 muestras estaban disponibles, y tengo razones para creer que se usaron menos muestras para realizar PCA (para eliminar el sesgo de la fase de clasificación).

¿Me estoy perdiendo algo o esta es realmente la forma en que se usa PCA con un conjunto de datos de alta dimensionalidad y bajo tamaño de muestra? Cualquier comentario sería muy apreciado.


2
Si no tiene muchos más datos que dimensiones, es difícil encontrar una dirección que elimine la mayor parte de la variabilidad, que es lo que se supone que debe hacer el primer componente principal. En general existe la maldición de la dimensionalidad. Los datos tienden a alejarse del centro en grandes dimensiones. Bellman escribió sobre esto en la década de 1960.
Michael R. Chernick

Respuestas:


9

Vería el problema desde un ángulo ligeramente diferente: ¿qué tan complejo puede permitirse un modelo con solo 10 sujetos / 100 muestras?

Y esa pregunta con la que generalmente respondo: mucho menos de 100 PC. Tenga en cuenta que trabajo en un tipo diferente de datos (espectros vibracionales), por lo que las cosas pueden variar un poco. En mi campo, una configuración común sería usar 10 o 25 o 50 PC calculadas a partir de espectros O (1000) de sujetos O (10).

Esto es lo que haría:

  • Mire la variación cubierta por esas 100 PC. Por lo general, encuentro que solo unos pocos componentes realmente contribuyen a la variación en nuestros datos.

  • Prefiero PLS como pretratamiento para la clasificación sobre PCA, ya que hace un trabajo mucho mejor al ordenar las direcciones que tienen una alta variación que no ayuda a la clasificación (en mi caso, podrían ser variaciones de enfoque, diferentes espesores de muestra). ..). En mi experiencia, a menudo obtengo clasificadores similares con 10 variables latentes PLS o 25 a 50 PC.

  • Las muestras de validación deben procesarse con la rotación de PCA calculada solo a partir del conjunto de entrenamiento; de lo contrario, la validación puede (y en casos extremos como los suyos probablemente) tendrá un sesgo excesivamente optimista.
    En otras palabras, si realiza una validación cruzada o fuera de arranque, el preprocesamiento de PCA o PLS debe calcularse para cada combinación de tren / conjunto de prueba por separado.


Gracias por las publicaciones muy informativas. Estoy trabajando con datos de señales biométricas. Para realizar la clasificación con un rendimiento razonable, necesito menos de 100 PC, estaría bien en algún lugar en el rango de 25-50. He considerado reducir mi frecuencia de muestreo para reducir la cantidad de muestras que necesito examinar, pero ¿esperaría que la resolución valiera la pena o tendrá algún efecto dado que la capacitación del mismo tamaño sigue siendo la misma? ? Aunque necesito PCA para ser coherente con otros estudios en el campo, definitivamente consideraré PLS como un enfoque secundario.
James

1
@ James: Me temo que la pregunta sobre la frecuencia de muestreo no se puede responder sin conocer sus datos. Esencialmente es la cuestión del tamaño efectivo de la muestra. Sin saber nada más, solo podemos decir que está en algún lugar entre n (personas) yn (muestras). Si las 10 muestras de 1 persona son mucho más similares entre sí que con las muestras de una persona diferente, entonces más muestras no agregan mucha información al conjunto de datos. Puede comprobarlo creando un modelo con todas las muestras y un segundo modelo con solo una muestra por persona y comparando su rendimiento.
cbeleites apoya a Monica

@James: (parte 2) Si cree que las muestras de una persona son bastante similares entre sí, debe tener cuidado de que los conjuntos de validación y capacitación no compartan personal (es decir, todas las muestras de una persona están en capacitación o en equipo de prueba).
cbeleites apoya a Monica

Gracias por volver a mí. Mis datos tienen un alto grado de variabilidad con una superposición significativa en el espacio muestral entre las clases de usuarios. Pero lo siento, en lugar de reducir las muestras, quise reducir la resolución en los 14000 puntos de datos, así que digamos que cada 2º, 3º o 4º punto se usaron en PCA, pero con la misma cantidad de muestras de usuario reales. Tenía curiosidad por saber si se esperaría que tal caída en la resolución tuviera un impacto positivo, negativo o nulo en los resultados del PCA, dado que mis dimensiones ya son mucho más grandes que mis muestras.
James

1
th


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.