2 votos

Selección del subconjunto de variables más asociadas a los componentes principales de los datos

Tengo una gran matriz de datos que estoy tratando de reducir a un conjunto de bases de tamaño razonable. La matriz original es de 916x225, y necesito reducir el número de variables (sus columnas) a unas 50, pero quiero seleccionar las más representativas de la matriz completa.

En concreto, quiero encontrar un subconjunto S de tamaño -digamos- 50 variables de todas, que deje la menor varianza no explicada en una regresión de todas las demás variables sobre S ("más representativa").

Mi enfoque actual es realizar el PCA ( prcomp en R), y obtener las columnas individuales que están más asociadas con cada componente principal. Asumo que la variable original con el mayor valor absoluto para su carga (es decir, el mayor valor absoluto en la matriz de rotación para cada variable), es por tanto la más representativa o la más correlacionada con ese PC.

¿Estoy interpretando esto correctamente? Si no es así, se agradece cualquier orientación adicional.

Actualización: A partir de los comentarios de abajo, quería añadir este punto aclaratorio para ayudar a centrar cualquier discusión en mi intención. Pido disculpas por no haberlo transmitido bien en la pregunta original.

Esencialmente, busco un subconjunto S de tamaño -digamos- L=50 variables de todas, que deje la menor varianza no explicada en una regresión de las otras variables sobre S ("más representativa"). Mi esperanza era que mediante el uso de PCA, podría encontrar cuántas PC son necesarias para, digamos, el 90% de la varianza, y luego elegir las variables que están más correlacionadas con cada PC.

Yo también pensé en la búsqueda por fuerza bruta, pero no lo he probado porque tengo 225 variables en mi matriz original, y 225 elige 50 viene a ser como 3*e+50. Eso podría llevar mucho tiempo para calcular todos esos modelos lineales.

0voto

Will Puntos 103

Creo que estás interpretando el PCA incorrectamente. El resultado del PCA es un conjunto de bases ortogonales de todas las observaciones de datos, en el que el primer componente principal contribuye a la mayor varianza, el segundo PC a la segunda, y así sucesivamente.

Sin embargo, entenderé que "encontrar los vectores columna más correlacionados con cada PC" significa "quiero reducir mi dimensionalidad/número de características". La selección de las variables más correlacionadas con los PCs no lo hará. Pero, ¡hay una manera! Usted puede transformar su matriz de observación a la nueva base encontrada por su PCA, logrando precisamente esto. Esto se hace mediante $T_{L} = X~W_{L}$ , donde $X$ es su matriz de observación, $W$ es la matriz de carga, $T$ es la matriz transformada, y $L$ es el número de componentes principales que se desea mantener. Así, si deja que $L=225$ (el máximo L, no puede haber más PC que el número original de características), entonces nada ha cambiado. Pero, si se deja $L=50$ entonces usted está proyectando efectivamente sus datos en el hiperplano de dimensión 50, en el nuevo espacio de características de componentes principales. Esta es la clave. Usted no está SELECCIONANDO 50 características, sino proyectando sus datos en los 50 componentes principales. Así, sus características serán diferentes de las originales, pero serán 50 características que son combinaciones lineales (/proyecciones) de las antiguas.

Por supuesto, también está el hecho de que no tienes ni idea de si tu conjunto de datos es linealmente separable; puede que quieras comprobarlo primero antes de seguir con el PCA.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X