Métodos potenciales de prospección, FCAG, 2024.
Macros $\LaTeX$ $\newcommand{\vec}[1]{\mathbf{#1}}$ $\newcommand{\SVD}{U\Sigma V^T}$ $\newcommand{\SVDdecon}{\sigma_1\vec{u}_1\vec{v}_1^T+\ldots+\sigma_r\vec{u}_r\vec{v}_r^T}$ $\newcommand{\R}{\mathbb R}$ $\newcommand{\norm}[2]{||\mathbf{#1}_{#2}||}$ $\DeclareMathOperator*{\argmin}{argmin}$
Para $A \in \R^{m,n}$, existe una única descomposición
En los métodos potenciales tendremos la mayor parte del tiempo $m\gg n$, es decir más observaciones que incógnitas.
Los vectores columna en $U$ se conocen como vectores singulares a izquierda: $\vec{u}_j \in \R^m$, son ortonormales y forman una base de $\R^m$.
Los vectores fila en $V^T$ se conocen como vectores singulares a derecha: $\vec{v}_j \in \R^n$, son ortonormales y forman una base de $\R^n$.
El número de valores singulares no nulos es el rango de A.
Las columnas de U son los autovectores de $AA^T$, y las filas de $V^T$ son los autovectores de $A^TA$. Los $r$ valores singulares en la diagonal de $\Sigma$ son la raíz cuadrada de los autovalores no nulos tanto de $AA^T$, como de $AA^T$.
La razón $\sigma_\text{max}/\sigma_\text{min}$ es el número de condición para una matriz $n \times n$ invertible. Este valor, como es sabido, es de particular importancia para caracterizar la matriz a invertir.
Las primeras $r$ columnas de U son una base ortogonal de $\text{Col}(A)$.
Las primeras $r$ columnas de V son una base ortogonal del espacio generado por las filas de $A$: $\text{Col}(A^T)$.
Las últimas $n-r$ columnas de V son una base ortogonal del espacio nulo de $A$.
En términos geométricos la SVD representa una rotación, un estiramiento (dilatación o compresión) y otra rotación: $A = U\Sigma V^T=\text{(ortogonal)}\,\text{(diagonal)}\,(\text{ortogonal})=\text{(rotación)}\,\text{(estiramiento)}\,(\text{rotación})$.
El costo computacional de la factorización SVD es del orden $O(mn^2+n^3)$, para $m\geqslant n$.
La aproximación dada por $A_l = \Sigma_{j=1}^l \sigma_j \vec{u}_j\vec{v}_j^T$, con $l\leq r$ se conoce como la aproximación SVD truncada. Puede probarse que representa la mejor aproximación de rango $l$ a la matriz $A$ en la norma de Frobenius:
donde $\hat{U}$ y $\hat{V}$ son las primeras $l$ columnas de $U$ y $V$, y $\hat{\Sigma}$ es el primer bloque $l\times l$ de $\Sigma$.
Este resultado permite una enorme multiplicidad de aplicaciones: procesamiento de imágenes, filtrado de ruido, compresión, clasificación, etc. Los valores singulares altos se asocian a la señal y los valores singulares chicos al ruido o estructuras de magnitud despreciables.
La siguiente matriz tiene una sola columna, entonces necesariamente tiene rango 1, por lo tanto solo tiene un valor singular positivo:
\begin{equation} A= \begin{bmatrix} -1 \\ \phantom{+}2 \\ \phantom{+}2 \end{bmatrix}=U\Sigma V^T = \begin{bmatrix} -1/3 & \phantom{+}2/3 & \phantom{+}2/3 \\ \phantom{+}2/3 &-1/3 &\phantom{+}2/3 \\ \phantom{+}2/3 & \phantom{+}2/3 &-1/3 \end{bmatrix} \begin{bmatrix} 3 \\ 0 \\ 0 \end{bmatrix} \begin{bmatrix} 1 \end{bmatrix} . \end{equation}Los dos valores nulos en $\Sigma$ dejan libertad para elegir los vectores en las columnas 2 y 3 de $U$ de forma que sea $U$ ortogonal.
A: [[-1] [ 2] [ 2]] U: [[-0.33 0.67 0.67] [ 0.67 0.67 -0.33] [ 0.67 -0.33 0.67]] S: [[3.]] VT: [[1.]] Rango de A: 1
La siguiente matriz tiene rango 2, entonces solo tiene dos valores singulares:
\begin{equation} A= \begin{bmatrix} -1 & \phantom{+}1 & \phantom{+}0 \\ \phantom{+}0 & -1 & \phantom{+}1 \end{bmatrix}=U\Sigma V^T = \dfrac{1}{\sqrt{2}} \begin{bmatrix} -1 & \phantom{+}1 \\ \phantom{+}1 & \phantom{+}1 \end{bmatrix} \begin{bmatrix} \sqrt{3} & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} \phantom{+}1 & -2 & \phantom{+}1 \\ -1 & \phantom{+}0 & \phantom{+}1 \\ \phantom{+}1 & \phantom{+}1 & \phantom{+}1 \end{bmatrix} \begin{matrix} /\sqrt{6} \\ /\sqrt{2} \\ /\sqrt{3} \end{matrix}. \end{equation}Podemos apreciar un signo $-$ factorizado en $\vec{u}_1$ y alojado en $\vec{v}^T_1$ en el resultado numérico:
A: [[-1 1 0] [ 0 -1 1]] U: [[-0.71 0.71] [ 0.71 0.71]] S: [[1.73 0. ] [0. 1. ]] VT: [[ 0.41 -0.82 0.41] [-0.71 -0. 0.71] [ 0.58 0.58 0.58]] Rango de A: 2
La siguiente matriz tiene rango 1, entonces solo tiene un valor singular positivo:
\begin{equation} A= \begin{bmatrix} -1 & 2 & 2 \end{bmatrix}=U\Sigma V^T = \begin{bmatrix} 1 \end{bmatrix} \begin{bmatrix} 3 & 0 & 0 \end{bmatrix} \begin{bmatrix} -1/3 & \phantom{+}2/3 & \phantom{+}2/3 \\ \phantom{+}2/3 &-1/3 &\phantom{+}2/3 \\ \phantom{+}2/3 & \phantom{+}2/3 &-1/3 \end{bmatrix} \end{equation}Los algoritmos que implementan la SVD presentan a $\Sigma$ directamente como una secuencia de valores singulares, descartando los nulos. Observamos también que los dos últimos vectores filas de V están permutados en el resultado numérico, debido a los valores singulares nulos que permiten esta libertad en la factorización.
A: [[-1 2 2]] U: [[1.]] S: [[3.]] VT: [[-0.33 0.67 0.67] [ 0.67 0.67 -0.33] [ 0.67 -0.33 0.67]] Rango de A: 1
Tomamos la matriz que se genera de realizar interpolación polinomial en 1D. Esta matriz la vimos al momento de hacer ajustes de superficie de tendencia.
Observamos que la matriz tiene alto rango numérico. Los valores singulares no decaen rápidamente.
Rango numérico de A: 1000, (ϵ = 1e-15)
Esta matriz tiene rango completo, pero sus valores singulares decaen rápidamente a cero. En este ejemplo la matriz es $1000\times 1000$. El rango numérico es 28 para $\epsilon=1^{-15}$.
Rango numérico de H: 28, (ϵ = 1e-15)
Consideramos una matriz cuadrada $X$ $(100\times 100)$, con sólo dos elementos diagonales distintos de cero y mayores a 1. Tomamos una matriz $Z$ $(100\times 100)$ de números aleatorios con distribución $\mathcal{N}(0,1)$. Agregamos el ruido aleatorio a la señal $X$ para construir la observación $Y=X+Z$. La matriz $X$ tiene por construcción rango 2.
Analizamos la distribución de los valores singulares. Vemos como el ruido aumenta el rango de la matriz, siendo los primeros valores singulares los realmente significativos, vinculados a la señal original.
El histograma nos muestra que la mayoría de los valores singulares están asociados al ruido, teniendo valores por debajo de los valores singulares de la señal original.
Tomamos una matriz y observamos sus sucesivas aproximaciones de rango $r$, $\hat{A}$:
Rango numérico de A: 50, (ϵ = 1e-15)