8 votos

¿Cómo se comporta el PCA cuando no hay correlación en el conjunto de datos?

Todos sabemos que El análisis de componentes principales se ejecuta sobre una matriz de covarianza/correlación Pero, ¿qué pasa si tenemos unos datos de muy alta dimensión, suponiendo 75 características y 157849 filas? ¿Cómo aborda esto el PCA?

  • ¿Aborda este problema de la misma manera que lo hace para conjuntos de datos correlacionados?
  • ¿Mi varianza explicada se distribuirá por igual entre las 75 características?
  • Me encontré con Prueba de BARTLETT y Prueba KMO que nos ayuda:
    • en la identificación de la correlación presente o no, y
    • la proporción de varianza que podría ser una varianza común entre las variables

respectivamente. Ciertamente puedo aprovechar estas dos pruebas para tomar una decisión controlada, pero todavía estoy buscando una respuesta hacia:

  • ¿Cómo se comporta el PCA cuando no hay correlación en el conjunto de datos?

Quiero conseguir una interpretación de esto de forma que pueda explicárselo a mi hermano no técnico.

Ejemplo práctico con Python:

s = pd.Series(data=[1,1,1],index=['a','b','c'])
diag_data = np.diag(s) 
df = pd.DataFrame(diag_data, index=s.index, columns=s.index)
# Normalizing
df = (df.subtract(df.mean())).divide(df.std())

Lo que parece:

        a            b          c
a   1.154701    -0.577350   -0.577350
b   -0.577350   1.154701    -0.577350
c   -0.577350   -0.577350   1.154701

La matriz de covarianza tiene este aspecto:

Cor = np.corrcoef(df.T)
Cor

array([[ 1. , -0.5, -0.5],
       [-0.5,  1. , -0.5],
       [-0.5, -0.5,  1. ]])

Ahora, el cálculo de las proyecciones del PCA:

eigen_vals,eigen_vects = np.linalg.eig(Cor)
projections = pd.DataFrame(np.dot(df,eigen_vects))

Y las proyecciones lo son:

        0             1             2
0   1.414214    -2.012134e-17   -0.102484
1   -0.707107   -2.421659e-16   -1.170283
2   -0.707107   -1.989771e-16   1.272767

El Ratio explicado parece estar distribuido por igual entre dos características:

[0.5000000000000001, -9.680089716721685e-17, 0.5000000000000001]

Ahora, cuando intenté calcular el error Q-Residual para encontrar el error de reconstrucción, obtuve cero para todas las características:

a    0.0
b    0.0
c    0.0
dtype: float64

Esto indicaría que el PCA en un conjunto de datos no correlacionados como la matriz de identidad nos da las proyecciones que están muy cerca de los puntos de datos originales. Y los mismos resultados se obtienen con el MATRIZ DIAGONAL .

Si el error de reconstrucción es muy bajo, esto sugeriría que, en una sola tubería, podemos fijar el método PCA para ejecutar e incluso si el conjunto de datos no lleva mucha correlación obtendremos los mismos resultados después de la transformación PCA, pero para el conjunto de datos que tiene características altamente correlacionadas, podemos evitar nuestra maldición de la dimensionalidad.

¿Opinión del público al respecto?

19voto

Dave Puntos 76

Si no tiene correlación observada, entonces su matriz de covarianza es diagonal, y el PCA diagonaliza una matriz que ya es diagonal (por lo que no hace nada).

Si no hay correlación poblacional pero se observan pequeñas correlaciones muestrales debido a la variabilidad del muestreo, entonces el PCA está diagonalizando una matriz de covarianza que es casi diagonal, y el resultado será un conjunto de características mínimamente diferente del PCA.

2voto

jgradim Puntos 1143

Los componentes son los vectores propios de la matriz de covarianza. Si la matriz de covarianza es diagonal, las características ya son vectores propios. Por lo tanto, PCA generalmente devolverá las características originales (hasta el escalamiento), ordenadas en varianza decreciente. Sin embargo, si tiene una matriz de covarianza degenerada en la que dos o más características tienen la misma varianza, un algoritmo mal diseñado que devuelva combinaciones lineales de esas características satisfaría técnicamente la definición de PCA tal y como se da generalmente.

1voto

user86176 Puntos 6

Si la verdadera matriz de covarianza subyacente es la identidad:

  • el eigen principal vectores de la matriz de correlación de la muestra apuntará en direcciones aleatorias, en lugar de direcciones que son informativas sobre la naturaleza de los datos.
  • el mayor eigen valores de la matriz de correlación de la muestra seguirá siendo mayor que los valores propios más pequeños, por definición, y esto podría inducirle a pensar que hay alguna señal. Si teme que le ocurra esto, puede intentar verificar que los pares propios que utiliza superar el límite superior esperado de los datos iid. Esto se rige por la Distribución de Marchenko-Pastur (wiki) . Si quiere ver un ejemplo, el límite superior M-P es utilizado para la selección de componentes principales por Aviv Regev y coautores en su análisis de la actividad génica durante la embriogénesis del pez cebra (artículo de Science).

M-P sólo funciona para datos con media 0 y varianza 1. Puede que haya alguna teoría similar para otras situaciones; no estoy seguro.

0voto

Jacob Maibach Puntos 101

Depende de la verdadera estructura de covarianza de la población. Si varias características tienen la misma varianza poblacional, la varianza de muestreo puede mezclar arbitrariamente las características observadas, mientras que si todas las características tienen varianzas poblacionales diferentes esto no puede ocurrir.

Permítanme mostrar esto a través de una derivación. Supongamos que la verdadera matriz de covarianza de la población es $A$ y su observado es $A + \epsilon B$ , donde $\epsilon$ es un número positivo pequeño. Básicamente, se puede pensar en $B$ como la dirección en la que se perturba la matriz de covarianza (perturbación significa "error" debido al muestreo), y $\epsilon$ es la magnitud de esa perturbación.

Recuerde que el PCA consiste básicamente en observar los vectores propios de la matriz de covarianza. Si la verdadera covarianza es $A = aI$ los vectores propios de $A + \epsilon B$ son sólo vectores propios $v$ de $B$ . En otras palabras, si se ejecuta el ACP en los datos observados, se obtendrán características determinadas totalmente por la variación del muestreo.

La razón por la que esto sucede es que el PCA no tiene una solución única para su verdadera matriz de covarianza en primer lugar. Es decir, cada vez que se intenta diagonalizar una matriz con valores propios duplicados, se tropieza con el problema de que hay múltiples formas válidas de elegir vectores propios unitarios (porque se tienen espacios propios que tienen dimensión mayor que uno). Por lo tanto, incluso si $A$ no es de la forma $aI$ pero tiene valores propios duplicados, habrá algún conjunto de vectores propios de $A + \epsilon B$ que se desviará de las características originales de una manera dictada totalmente por los vectores propios de $B$ .

Afortunadamente, en la realidad es raro encontrar variables con exactamente la misma varianza poblacional. En este caso, podemos demostrar que las características son robustas frente a la variación del muestreo. En realidad, esto es cierto en general (es decir, independientemente de la suposición de que las variables de la población no están correlacionadas).

Para ver esto, podemos simplemente aproximar los vectores propios de $(A + \epsilon B)$ bajo algunos supuestos suaves. Básicamente queremos demostrar que son sólo una perturbación de los vectores propios de $A$ por un término que escala de forma aproximadamente lineal con $\epsilon$ .

La primera suposición es, por supuesto, que todos los valores propios de $A$ son únicos. Sin embargo, en segundo lugar, tenemos que suponer que los eigenspaces de $A$ y $B$ son disjuntos, lo que significa que tienen diferentes vectores propios. De nuevo podemos apelar a la realidad: una matriz aleatoria casi nunca tendrá los mismos vectores propios que una matriz fija (a menos que esa matriz fija sea un múltiplo de $I$ ).

Aviso de que esta "prueba" es muy larga y además no es exactamente válida. El principal punto débil es que asumo que la solución es analítica, que es lo que realmente queremos demostrar. En cualquier caso, espero que proporcione alguna idea.

[inicio de la prueba]

Dejemos que $u$ denotan el $i^{th}$ vector propio de $A$ para algunos $i$ y tienen un valor propio $\alpha$ . Podemos escribir arbitrariamente el vector propio de $(A + \epsilon B)$ como $(u+v)$ para algunos $v$ tomando un vector propio de la matriz y dejando que $v$ sea ese vector propio menos $u$ .

Ahora, ¿qué es $(A + \epsilon B)(u+v)$ ? Debería ser $\lambda (u + v)$ para algunos $\lambda$ . Para simplificar, podemos reescribir esto como $(\alpha + \epsilon \gamma)(u+v)$ para $\gamma = \epsilon^{-1}(\lambda - \alpha)$ . Esto tiene sentido porque los valores propios son una función continua de las entradas de la matriz, lo que se puede demostrar utilizando que el determinante es una función continua (ya que es un polinomio) y luego utilizando que los valores propios se definen utilizando el determinante.

Por otro lado, también tenemos $$ (A + \epsilon B)(u+v) = Au + Av + \epsilon B (u+v) = \alpha u + Av + \epsilon B (u+v). $$ Así, \begin{align*} (A + \epsilon B)(u+v) &= (\alpha + \epsilon \gamma)(u+v) = \alpha u + \epsilon \gamma u + \alpha v + \epsilon \gamma v \\ Av + eBu + eBv &= \epsilon \gamma u + (a + \epsilon \gamma)v \\ \epsilon B u + (A + \epsilon B)v &= \epsilon \gamma u + (\alpha + \epsilon \gamma)v \\ \epsilon(B - \gamma I)u + ((A - \alpha I) + \epsilon (B - \gamma I))v &= 0 \end{align*}

Ahora, hay dos formas posibles de que esta ecuación se mantenga. Una implica tener $(A - \alpha I)v = 0$ . Sin embargo, esto significaría que $v$ es un vector propio de $A$ con valor propio $\alpha$ y, por lo tanto, también lo es $u+v$ . El problema con esto es que implicaría que $(u+v)$ es un vector propio de $B$ también, y por suposición $B$ no puede compartir vectores propios con $A$ . Por lo tanto, ciertamente $(A - \alpha I)v$ es distinto de cero.

Sin embargo, mirando la ecuación, el $(A - \alpha I)v$ es el único término que no parece proporcional a $\epsilon$ . ¿Por qué es interesante? Bueno, porque si no dependiera de $\epsilon$ en absoluto, la ecuación no podría tener una solución - ya que $\epsilon$ es esencialmente arbitraria, tomando el límite como $\epsilon \to 0$ crearía una ecuación incoherente. La solución consiste en reconocer que $v$ depende de $\epsilon$ y realmente debe ser al menos proporcional. Más precisamente, debe ser $$ v = w_{0} + \epsilon w_{1} + \epsilon^{2} w_{2} + (\mathrm{higher \ order \ terms}). $$ Estoy haciendo una suposición audaz de que $v$ es esencialmente analítica en $\epsilon$ pero como básicamente estamos resolviendo una ecuación polinómica ( $\gamma$ también es analítica en $\epsilon$ ), parece razonable. De todos modos, aquí es donde entra la aproximación.

Ahora bien, hay que tener en cuenta que el $w_{0}$ debe ser cero, ya que como $\epsilon \to 0$ Debemos tener $u+v \to u$ . Básicamente, si $\epsilon$ es bastante pequeño, entonces $v \approx \epsilon w$ . Además, \begin{align*} \epsilon(B - \gamma I)u + ((A - \alpha I) + \epsilon (B - \gamma I))v &= \epsilon(B - \gamma I)u + ((A - \alpha I) + \epsilon (B - \gamma I))\epsilon w \\ &= \epsilon(B - \gamma I)u + \epsilon (A - \alpha I) w + \epsilon^{2} (B - \gamma I) w \\ &\approx \epsilon (B - \gamma I)u + \epsilon (A - \alpha I) \end{align*} porque $\epsilon^{2} \approx 0$ .

Por lo tanto, dividiendo por $\epsilon$ al final sólo estamos resolviendo $$ (B - \gamma I)u + (A - \alpha I) w = 0 $$ o realmente $$ (B - \gamma I)u = -(A - \alpha I) w. $$ Ahora, $-(A - \alpha I) w$ es un vector desconocido en el espacio de columnas de $(A - \alpha I)$ . Conocer esto permite resolver para $\gamma$ . Una vez hecho esto, el término $(B - \gamma I)u$ se convierte en un vector conocido y sólo estamos resolviendo una ecuación lineal.

El valor de $\gamma$ es único porque el espacio de columnas de $(A - \alpha I)$ tiene una dimensión menor que el espacio completo. En otras palabras, es "difícil" obtener la imagen de $u$ exactamente en el subespacio, así que sólo hay una manera de hacerlo. Sin embargo, la solución para $w$ no es único, en el sentido de que $(\alpha I - A)w = y$ no tiene una solución única ( $y = (B - \gamma I)u$ ), con la razón de que $(\alpha I - A)$ tiene un espacio nulo no trivial, que contiene en particular los vectores propios de $A$ con el vector propio $\alpha$ . Sin embargo, podemos elegir el vector $w$ resolver nuestra ecuación lineal que viola mínimamente la ecuación que realmente queríamos resolver. En otras palabras, podemos elegirlo de manera que la norma de $(B - \gamma I)w$ es mínima. Esto es único.

[fin de la prueba]

Bien, ¿qué hemos demostrado con todo esto? Básicamente, para los pequeños $\epsilon$ es posible obtener una aproximación única a los vectores propios de $(A + \epsilon B)$ que tiene un "error" mínimo. Estos vectores propios se perturban a partir de los vectores propios de $A$ por una pequeña cantidad que es proporcional a $\epsilon$ . Por lo tanto, siempre que las características de la población real sean elegidas de forma única por el ACP (es decir, que tengan varianzas poblacionales distintas), las características de los datos observados también pueden ser elegidas de forma única por el ACP y están perturbadas respecto a las características reales por una cantidad aproximadamente proporcional al tamaño del error de muestreo (¡suponiendo que el error de muestreo sea pequeño!).

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