🧮 Computational Mathematics

Inicio · Parte 11 — Métodos numéricos y computación científica

234 — Mínimos cuadrados numéricos

cientifico clase 14 de 20 4 horas demostración numerical_least_squares

Las ecuaciones normales elevan al cuadrado el número de condición; QR no.

Fórmulas

ecuaciones normales: AᵀAx = Aᵀb
cond(AᵀA) = cond(A)²
vía QR: A = QR ⟹ Rx = Qᵀb

Desarrollo

El problema de mínimos cuadrados busca el x que minimiza ‖Ax − b‖ cuando el sistema tiene más ecuaciones que incógnitas. Geométricamente es la proyección de b sobre el espacio columna de A, y anular la derivada conduce a las ecuaciones normales AᵀAx = Aᵀb.

Esas ecuaciones son correctas en teoría y peligrosas en práctica. Formar AᵀA eleva al cuadrado el número de condición: una matriz con condición 10⁶, que en doble precisión es manejable, produce una AᵀA con condición 10¹², que se lleva por delante la mitad de los dígitos disponibles. El daño se hace al construir la matriz, antes de resolver nada.

La vía QR evita el problema. Descomponiendo A = QR con Q ortogonal, el sistema se reduce a Rx = Qᵀb, triangular y con la condición original de A sin elevar. Cuesta aproximadamente el doble de operaciones, y ese factor 2 es un precio muy pequeño por conservar la mitad de los dígitos.

Cuando A es además deficiente de rango o casi singular, ni siquiera QR basta y hay que recurrir a la SVD con truncamiento de valores singulares pequeños, que es la pseudoinversa de la parte 06. La regla práctica: ecuaciones normales solo para problemas pequeños y bien condicionados; QR por defecto; SVD cuando hay dudas sobre el rango.

Ejemplo trabajado

Ajuste lineal por dos vías sobre los mismos seis puntos.

6 observaciones, modelo de 2 parámetros

ecuaciones normales: [1,03809524 ; 0,99142857]
vía QR:              [1,03809524 ; 0,99142857]
coinciden a 8 dígitos                                    ✓

cond(AᵀA) = 33,41        cond(A) = 5,78
relación: 5,78² = 33,41                                  ✓

Aquí el problema está bien condicionado y ambas sirven.

Si cond(A) fuera 1e6:
  cond(AᵀA) = 1e12  →  se pierden 12 de los 16 dígitos
  QR mantendría la pérdida en 6.

Qué calcula el laboratorio

Mínimos cuadrados: ecuaciones normales frente a QR.

python classes/part-11-metodos-numericos-y-computacion-cientifica/234-minimos-cuadrados-numericos/lab.py
compmath run 234

Salidas del laboratorio (8)

Muestra de la ejecución real

{
  "datos": 6,
  "coeficientes_ecuaciones_normales": [
    1.03809524,
    0.99142857
  ],
  "coeficientes_QR": [
    1.03809524,
    0.99142857
  ],
  "coinciden": true,
  "condicion_de_AᵀA": 33.4082,
  "las_normales_elevan_al_cuadrado_la_condicion": true
}

Errores comunes

Dónde se usa

Regresión lineal, ajuste de curvas, calibración de sensores y capas lineales resueltas en forma cerrada.

Idea rectora de la parte

El orden de un método de integración predice cómo cae el error con el paso.

Error a evitar

Iterar sin límite máximo y colgar el proceso.

Conexión con IA

Los Neural ODE, los samplers de difusión y los optimizadores de segundo orden son métodos numéricos con parámetros aprendidos.

Bibliografía de la clase

Archivos de la clase