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.
fuente
Respuestas:
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.
fuente
fuente
Llegando a esto desde un ángulo diferente:
fuente