1.8. Descomposición cruzada

El módulo de descomposición cruzada contiene estimadores supervisados para la reducción de la dimensionalidad y la regresión, pertenecientes a la familia de los «mínimos cuadrados parciales».

../_images/sphx_glr_plot_compare_cross_decomposition_001.png

Los algoritmos de descomposición cruzada encuentran las relaciones fundamentales entre dos matrices (X e Y). Son enfoques de variables latentes para modelar las estructuras de covarianza en estos dos espacios. Tratan de encontrar la dirección multidimensional en el espacio X que explica la máxima dirección de varianza multidimensional en el espacio Y. En otras palabras, PLS proyecta tanto X como Y en un subespacio de menor dimensión tal que la covarianza entre transformada(X) y transformada(Y) es máxima.

El PLS guarda similitudes con la «Regresión de Componentes Principales» (PCR), en la que las muestras se proyectan primero en un subespacio de menor dimensión y los objetivos y se predicen utilizando transformed(X). Uno de los problemas de la PCR es que la reducción de la dimensionalidad no está supervisada y puede ignorar algunas variables importantes: La PCR mantendría las características con la mayor varianza, pero es posible que las características con una pequeña varianza sean relevantes para predecir el resultado. En cierto modo, PLS permite el mismo tipo de reducción de la dimensionalidad, pero teniendo en cuenta los objetivos y. El siguiente ejemplo ilustra este hecho: * Regresión por componentes principales frente a la regresión por mínimos cuadrados parciales.

Aparte de CCA, los estimadores PLS son especialmente adecuados cuando la matriz de predictores tiene más variables que observaciones, y cuando hay multicolinealidad entre las características. Por el contrario, la regresión lineal estándar fracasaría en estos casos a menos que sea regularizada.

Las clases incluidas en este módulo son PLSRegression, PLSCanonical, CCA and PLSVD

1.8.1. PLSCanonical

Aquí describimos el algoritmo usado en PLSCanonical. Los otros estimadores usan variantes de este algoritmo, y se detallan a continuación. Recomendamos la sección 1 para más detalles y comparaciones entre estos algoritmos. En 1, PLSCanonical corresponde a «PLSW2A».

Dadas dos matrices centradas XRn×d y YRn×t, y un número de componentes K, PLSCanonical prosigue como se indica a continuación:

Defina X1 como X y Y1 como Y. Entonces, para cada k[1,K]:

  • a) compute ukRd and vkRt, the first left and right singular vectors of the cross-covariance matrix C=XkTYk. uk and vk are called the weights. By definition, uk and vk are choosen so that they maximize the covariance between the projected Xk and the projected target, that is Cov(Xkuk,Ykvk).

  • b) Project Xk and Yk on the singular vectors to obtain scores: ξk=Xkuk and ωk=Ykvk

  • c) Regress Xk on ξk, i.e. find a vector γkRd such that the rank-1 matrix ξkγkT is as close as possible to Xk. Do the same on Yk with ωk to obtain δk. The vectors γk and δk are called the loadings.

  • d) deflate Xk and Yk, i.e. subtract the rank-1 approximations: Xk+1=XkξkγkT, and Yk+1=YkωkδkT.

Al final, hemos aproximado X como una suma de matrices de rango 1: X=ΞΓT donde ΞRn×K contiene las puntuaciones en sus columnas, y ΓTRK×d contiene las cargas en sus filas. Del mismo modo, para Y, tenemos Y=ΩΔT.

Observa que las matrices de puntuación Ξ y Omega corresponden a las proyecciones de los datos de entrenamiento X y Y, respectivamente.

El paso a) puede realizarse de dos maneras: calculando toda la SVD de C y conservando sólo los vectores singulares con los mayores valores singulares, o calculando directamente los vectores singulares utilizando el método de la potencia (cf. sección 11.3 en 1), que corresponde a la opción 'nipals del parámetro algorithm.

1.8.1.1. Transformación de datos

Para transformar X en X¯, necesitamos encontrar una matriz de proyección P tal que barX=XP. Sabemos que para los datos de entrenamiento, Ξ=XP, y X=ΞΓT. Estableciendo P=U(ΓTU)1 donde U es la matriz con los uk en las columnas, tenemos XP=XU(ΓTU)1=Ξ(ΓTU)(ΓTU)1=Ξ tal y como se quiere. Se puede acceder a la matriz de rotación P desde el atributo x_rotations_.

Del mismo modo, Y puede ser transformada usando la matriz de rotación V(ΔTV)1, a lo que se tiene acceso a través del atributo y_rotations_.

1.8.1.2. Predicción de los objetivos Y

Para predecir los objetivos de algunos datos X, estamos buscando una matriz de coeficiente βRd×t tal que Y=Xβ.

La idea es tratar de predecir los objetivos transformados Ω como una función de las muestras transformadas Ξ, calculando αR tal que Ω=αΞ.

Luego, tenemos Y=ΩΔT=αΞΔT, y ya que Ξ son los datos de entrenamiento transformados, tenemos que Y=XαPΔT, y como resultado la matriz de coeficiente β=αPΔT.

β puede ser accedido mediante el atributo coef_.

1.8.2. PLSSVD

PLSSVD es una versión simplificada de PLSCanonical descrita anteriormente: en lugar de disminuir iterativamente las matrices Xk y Yk, PLSSVD calcula la SVD de :math: C = X^TY sólo una vez, y almacena los vectores singulares n_componentes correspondientes a los mayores valores singulares en las matrices U y V, correspondientes a los atributos x_weights_ y y_weights_. Aquí, los datos transformados son simplemente transformed(X) = XU y transformed(Y) = YV.

Si n_components == 1, PLSVD y PLSCanonical son estrictamente equivalentes.

1.8.3. PLSRegression

El estimador PLSRegression es similar a PLSCanonical con algorithm='nipals', con 2 diferencias importantes:

  • en el paso a) del método de potencia para calcular uk y vk, vk nunca se normaliza.

  • en el paso c), los objetivos Yk se aproximan utilizando la proyección de Xk (es decir, ξk) en lugar de la proyección de Yk (es decir, ωk). En otras palabras, el cálculo de las cargas es diferente. Como resultado, la disminución en el paso d) también se verá afectada.

Estas dos modificaciones afectan a la salida de predict y transform, que no son las mismas que para PLSCanonical. Además, mientras que el número de componentes está limitado por min(n_samples, n_features, n_targets) en PLSCanonical, aquí el límite es el rango de XTX, es decir, min(n_samples, n_features).

PLSRegression también se conoce como PLS1 (objetivos simples) y PLS2 (objetivos múltiples). Al igual que Lasso, PLSRegression es una forma de regresión lineal regularizada donde el número de componentes controla la fuerza de la regularización.

1.8.4. Análisis de Correlación Canónica

El Análisis de Correlación Canónica se desarrolló previa e independientemente de PLS. Pero resulta que CCA es un caso especial de PLS, y corresponde a PLS en el «Modo B» en la literatura.

CCA difiere de PLSCanonical en la forma en que los pesos uk y vk son calculados en el método de potencia del paso a). Los detalles se pueden encontrar en la sección 10 de 1.

Como CCA involucra la inversión de XkTXk y YkTYk, este estimador puede ser inestable si el número de características o objetivos es mayor que el número de muestras.