Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Los conjuntos de datos geocientíficos suelen cargar muchas características correlacionadas: concentraciones de óxidos en un análisis de roca, miles de celdas de malla en un campo climático, decenas de características de formas de onda. Reducir la dimensionalidad antes de modelar ayuda porque:

  1. El costo de la mayoría de los algoritmos crece con el número de dimensiones de entrada.
  2. Las características redundantes agregan cómputo sin agregar información.
  3. Los modelos más simples son más robustos en conjuntos de datos pequeños.
  4. Con menos características, los datos son más fáciles de entender.
  5. La visualización es más fácil en dos o tres dimensiones.

Las técnicas de reducción de dimensionalidad caen en dos categorías: la selección de características y la extracción de características.

1. Selección de características

La selección de características conserva un subconjunto de las dimensiones originales. Un enfoque de selección hacia adelante comienza con la única variable que más reduce el error y agrega variables una por una. Una selección hacia atrás comienza con todas las variables y las elimina una por una.

Un primer paso rápido es mirar la matriz de correlación: las características fuertemente correlacionadas cargan información redundante, y a menudo se puede descartar uno de ellos.

Usamos una tabla geoquímica sintética del paquete del curso mlgeo_synth. Cada fila es un análisis de roca total: siete óxidos de elementos mayores en % en peso, la densidad, la susceptibilidad magnética y una etiqueta de litología (basalto, andesita o granito).

🖥️ Diapositivas — Sesión 10 (mié 21 oct)

Loading...
label granite 2794 basalt 1713 andesite 493 Name: count, dtype: int64
Loading...

El SiO2 está fuertemente anticorrelacionado con MgO, FeO y CaO, y la densidad sigue a los óxidos máficos. Dos efectos generan esta estructura. Primero, la diferenciación ígnea: a medida que un fundido evoluciona, SiO2 y K2O suben mientras que MgO, FeO y CaO bajan. Segundo, el cierre composicional (closure): los óxidos suman aproximadamente 100 % en peso, así que si uno sube, los demás deben bajar. ¿Qué características descartaría usted con base en esta matriz?

2. Extracción de características

La extracción de características construye un conjunto nuevo y más pequeño de dimensiones como combinaciones de las originales. Los métodos pueden ser no supervisados (análisis de componentes principales, análisis de componentes independientes) o supervisados (análisis discriminante lineal).

3. Análisis de componentes principales

El PCA es un método no supervisado que proyecta los datos a un espacio de menor dimensión con una pérdida mínima de varianza.

Sean Y=y1,⋯ ,yn\mathbf{Y} = \mathbf{y}_1,\cdots,\mathbf{y}_n los datos, medidos nn veces sobre múltiples campos de medición (la longitud de y\mathbf{y}). Cada columna de Y\mathbf{Y} representa una observación única. Cada fila de Y\mathbf{Y} representa un solo parámetro.

Para realizar el PCA:

  1. Centre los datos restando la media de cada fila de Y\mathbf{Y} (y usualmente escale cada fila a varianza unitaria).
  2. Calcule la matriz de covarianza de los datos centrados, C=1n−1Y∗Y\mathbf{C} = \frac{1}{n-1} \mathbf{Y}^{\ast}\mathbf{Y}. La matriz de covarianza es simétrica y semidefinida positiva, así que puede diagonalizarse.
  3. Calcule la descomposición en valores singulares (SVD):

X=UΣVT,\mathbf{X} = \mathbf{U} \Sigma \mathbf{V}^T,

donde las columnas de V\mathbf{V} son los vectores propios, o componentes principales. La primera componente principal apunta en la dirección de mayor varianza.

3.1 La geometría del PCA: una nube gaussiana rotada

Para construir intuición, empezamos con una nube de puntos en dos dimensiones: 10 000 observaciones extraídas de una gaussiana estirada y rotada.

<Figure size 640x480 with 1 Axes>

Paso 1: reste la media

<Figure size 640x480 with 1 Axes>
shape of B (2, 10000) and shape of covB (2, 2)
[[1.21210083 1.65131023]
 [1.65131023 3.08978984]]

Paso 2: SVD de la matriz de covarianza

eigenvalues (variances along each axis): [4.05048593 0.25140474]
eigenvectors (rows of VT):
[[-0.50286768 -0.8643634 ]
 [-0.8643634   0.50286768]]

Los valores propios están cerca de σ2=[4,0.25]\sigma^2 = [4, 0.25], los cuadrados de las longitudes de los ejes que usamos para construir la nube.

Paso 3: explore el resultado

<Figure size 640x480 with 1 Axes>
<Figure size 640x480 with 1 Axes>

La proyección rota la nube de modo que la dirección de mayor varianza quede sobre el eje horizontal. El PCA encontró la rotación que usamos para generar los datos.

3.2 PCA sobre una tabla geoquímica

Ahora aplicamos el PCA a la tabla geoquímica de la sección 1. Las características deben estandarizarse primero: los óxidos abarcan decenas de % en peso mientras que la susceptibilidad magnética es del orden de 10-3 SI, y sin escalar, las características de gran magnitud dominarían la covarianza.

Explained variance ratio: [0.782 0.097 0.06  0.037 0.01  0.006 0.004 0.003 0.001]
<Figure size 700x400 with 1 Axes>

Una componente captura la mayor parte de la varianza, y dos capturan casi toda. Los datos viven sobre una superficie de dimensión mucho menor de lo que sugieren las nueve características medidas.

Las cargas nos dicen qué significan las componentes. Cada componente principal es una combinación ponderada de las características originales; los pesos se llaman cargas (loadings).

<Figure size 1200x400 with 2 Axes>

En la PC1, SiO2, K2O y Na2O cargan con un signo mientras que MgO, FeO, CaO, la densidad y la susceptibilidad magnética cargan con el otro. Esta es exactamente la estructura de correlación que vimos en la sección 1: el cierre de los óxidos más la diferenciación ígnea. La PC1 actúa como un índice de diferenciación. El puntaje de PC1 de una muestra le dice dónde se ubica en el espectro que va del basalto al granito, en un solo número.

Note que el signo de una componente es arbitrario: la SVD puede devolver cualquiera de las dos orientaciones, así que solo importan los signos relativos de las cargas.

<Figure size 800x600 with 1 Axes>

El PCA nunca vio las etiquetas y, sin embargo, las tres litologías se separan a lo largo de la PC1, porque la composición y la litología están gobernadas por el mismo proceso subyacente. Este es un resultado común y útil: un método no supervisado recupera un eje con significado físico.

Una nota práctica: la SVD completa es costosa para matrices grandes. Scikit-learn cambia automáticamente a un solucionador de PCA aleatorizado cuando los datos superan 500 x 500 y el número de componentes solicitadas es menor que el 80 % de la dimensión más pequeña.

3.3 Análisis EOF de un campo climático

Aplicado a datos espaciotemporales, el PCA produce dos objetos ligados:

  • Funciones ortogonales empíricas (EOF): los vectores propios espaciales de la covarianza de los datos. Cada EOF es un mapa que explica una porción de la varianza total. En la ciencia del clima, las EOF identifican patrones dominantes como modos de circulación o estructuras de anomalías de temperatura.
  • Componentes principales (PC): las series de tiempo que dicen con qué fuerza se expresa cada EOF en cada paso de tiempo.

Juntas, las EOF y las PC describen la variabilidad espacial y temporal del conjunto de datos.

Usamos mlgeo_synth.climate_field, que genera 30 años de anomalías mensuales de temperatura sobre una malla global. El generador siembra estructuras conocidas — un modo estacional, un modo zonal (tipo tierra/océano) y una tendencia de calentamiento — y las devuelve en un diccionario truth, así que podemos comprobar si el análisis EOF las recupera.

field shape (months, lat, lon): (360, 40, 80)
truth keys: ['lat', 'lon', 'seasonal_pattern', 'zonal_pattern', 'trend_c_per_decade']
<Figure size 800x400 with 2 Axes>

Ponderación por área. La malla es equiangular: las celdas están espaciadas uniformemente en latitud y longitud. Pero el área física de una celda se encoge hacia los polos como cos⁡(ϕ)\cos(\phi). Sin corrección, la matriz de covarianza sobrerrepresenta las latitudes altas — muchas celdas de malla, poca área real. La corrección estándar es multiplicar cada punto de malla por cos⁡(ϕ)\sqrt{\cos(\phi)} antes de la SVD, de modo que la contribución de cada celda a la varianza (que es cuadrática en los datos) sea proporcional a su área.

Variance fraction of first 5 modes: [0.955 0.038 0.006 0.    0.   ]
<Figure size 1200x900 with 9 Axes>

¿Recuperamos la estructura sembrada? El diccionario truth contiene los patrones estacional y zonal que usó el generador. Los comparamos con las EOF recuperadas mediante una correlación espacial de patrones. El signo de una EOF es arbitrario (una EOF y su negativo describen el mismo modo, con la PC invertida para compensar), así que miramos la magnitud de la correlación.

                seasonal_pattern       zonal_pattern
        EOF1                1.00               -0.00
        EOF2                0.00               -1.00
        EOF3               -0.12               -0.23

La EOF1 coincide con el patrón estacional sembrado y la EOF2 con el patrón zonal sembrado, con correlaciones de +/-1. Una correlación de -1 es tan buena como una de +1 aquí: es el mismo modo con el mapa y su PC ambos invertidos. Mire también las series de tiempo de las PC: la PC estacional oscila con un periodo de 12 meses, la PC zonal varía sin tendencia, y la PC3 — cuyo mapa se concentra en las latitudes altas del norte — deriva de manera sostenida en una dirección. Esa es la tendencia de calentamiento sembrada, de 0.25 grados C por década, amplificada hacia el Ártico (que la deriva aparezca hacia arriba o hacia abajo depende, otra vez, del signo arbitrario de la EOF).

Limitaciones del PCA sobre datos espaciotemporales. Las EOF están obligadas a ser ortogonales, pero los modos físicos de variabilidad no lo están, así que una sola EOF puede mezclar varios procesos y partir otros. El PCA es lineal, así que la dinámica no lineal se reparte entre muchas componentes. Las tendencias de gran escala pueden dominar los modos principales y ocultar señales locales. Y los resultados son sensibles a las decisiones de preprocesamiento: si remover o no el ciclo estacional, cómo escalar las variables y cómo ponderar la malla. Trate las EOF como una descripción de la varianza, no automáticamente como modos físicos.

4. Análisis de componentes independientes

El análisis de componentes independientes (ICA) separa una señal multivariada en componentes aditivas, estadísticamente independientes y no gaussianas. Es una forma de separación ciega de fuentes.

Diferencias con el PCA:

  • El PCA encuentra ejes ortogonales que maximizan la varianza, usando estadísticos de segundo orden (la covarianza). Sus componentes están descorrelacionadas pero no son necesariamente independientes.
  • El ICA encuentra componentes estadísticamente independientes, no necesariamente ortogonales, explotando la no gaussianidad. Requiere que las fuentes sean no gaussianas.

En las geociencias, el ICA se usa para la separación ciega de fuentes cuando varios procesos desconocidos están mezclados en las mediciones — por ejemplo, para separar las contribuciones sísmica, hidrológica y estacional en series de tiempo geodésicas.

La demostración clásica: tres señales fuente conocidas se mezclan en tres «receptores», y FastICA las desmezcla.

<Figure size 1100x800 with 4 Axes>

El ICA recupera las tres fuentes (salvo el orden, el signo y la escala). El PCA no: sus componentes ortogonales de máxima varianza siguen siendo mezclas de las fuentes.

5. t-SNE para visualización

El PCA es lineal. El t-distributed Stochastic Neighbor Embedding (t-SNE) es un método no lineal construido para la visualización: coloca los puntos en 2D de modo que los vecinos en el espacio de alta dimensión sigan siendo vecinos en el plano. Preserva bien la estructura local, pero las distancias entre clústeres en un gráfico t-SNE no son significativas, y es demasiado lento para conjuntos de datos grandes — así que submuestreamos.

El parámetro perplexity (perplejidad) fija aproximadamente cuántos vecinos considera cada punto. Los valores pequeños fragmentan los datos en muchos grumos pequeños; los valores grandes difuminan el detalle local. Pruebe siempre varios valores.

<Figure size 1200x500 with 2 Axes>

Los dos embeddings (proyecciones de baja dimensión) separan las litologías, pero la geometría cambia con la perplejidad — un recordatorio de que los gráficos t-SNE son cualitativos. UMAP es una alternativa popular y más rápida con objetivos similares; no está instalada en el entorno del curso, pero puede agregarla con el paquete umap-learn si quiere comparar.

6. Otras técnicas

  1. Proyecciones aleatorias
  2. Escalamiento multidimensional
  3. Isomap
  4. Análisis discriminante lineal (supervisado)