27 votos

Invertir el PCA en las variables originales

Tengo un conjunto de datos que tiene $n$ muestras descritas por $m$ variables. Hago un PCA para reducirlo a sólo 2 dimensiones y así poder hacer un bonito gráfico 2D de los datos. Entiendo que el $x,y$ Las coordenadas (es decir, las puntuaciones del PCA) del gráfico se calculan básicamente sumando los productos de los datos originales (tras el centrado) por las cargas de cada variable, así:

$$\mathrm{PC}_1 = X_1L_1 + X_2L_2 + ... + X_mL_m.$$

Mi pregunta es, si escojo un punto arbitrario en el espacio PCA (es decir, un valor para $\mathrm{PC}_1$ et $\mathrm{PC}_2$ o $x$ et $y$ en mi parcela), ¿hay una manera conveniente de traducir eso de nuevo a un conjunto de los valores originales (es decir, $X_1,X_2,\dots,X_m$ )?

Tenga en cuenta que no se espera una inversión del 100% (ya que sólo estoy utilizando 2 PC), por lo que una aproximación decente está bien.

29voto

Andrew Puntos 126

Sí. Básicamente, lo que hiciste fue hacer $$\mathrm{PC}=\mathbf{V}X,$$ donde $\mathrm{PC}$ son los componentes principales, $X$ es su matriz con los datos (centrados, y con puntos de datos en columnas) y $\mathbf{V}$ es la matriz con las cargas (la matriz con los vectores propios de la matriz de covarianza muestral de $X$ ). Por lo tanto, se puede hacer: $$\mathbf{V}^{-1}\cdot\mathrm{PC}=X,$$ pero, como la matriz de cargas es ortonormal (¡son vectores propios!), entonces $\mathbf{V}^{-1}=\mathbf{V}^{T}$ Así que..: $$\mathbf{V}^T\cdot\mathrm{PC}=X.$$ Tenga en cuenta que esto le da exactamente la misma ecuación que cita para la recuperación de los PC, pero ahora para los datos, y puede conservar tantos PCS como quiera.

2voto

Jeff Puntos 363

Tengo una duda sobre las respuestas anteriores. Ya que después de la reducción de dimensión, sólo conocemos 2 componentes principales, y el resto de componentes principales se abandonan. La matriz de proyección V no es una matriz cuadrada (no es completamente ortonormal, es una matriz semi-ortogonal). Supongamos que n es el número de muestras y m es el número de variables. $X$ es un $m$ -por- $n$ matriz, $V$ es una matriz de 2 por m (cuyas filas son los 2 primeros vectores propios de la matriz de covarianza de $X$ ), PC es una matriz de 2 por n. Entonces tenemos PC = VX. Entonces $VV^T$ es una matriz de identidad, pero $V^TV$ no lo es. Así, $V^TPC=V^TVX$ no puede darnos la matriz original exacta $X$ , ya que $V^TV$ no es una matriz de identidad.

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