Está en la página 1de 20

Capı́tulo 8

El Problema de Mı́nimos
Cuadrados

8.1. El problema de mı́nimos cuadrados

El problema del ajuste de datos; es decir, descubrir una función matemática que
pueda explicar de la mejor forma posible el comportamiento de algún mecanismo o
grupo de seres u objetos que puede ser medido, y del cual conocemos algunos datos
(con sus posibles errores de medición), es un problema clásico y ha supuesto un reto
para la comunidad matemática desde su planteamiento por Gauss y Legendre hacia
1800.

En lenguaje de álgebra lineal consiste en encontrar la solución de un sistema lineal


Ax “ b siendo A P Cmˆn con m ě n. En A y b se recogen todos los datos del
experimento que se quieren ajustar. Enseguida veremos algunos ejemplos.

Sabemos que el sistema tiene solución si y sólo si b P Im A, condición que difı́cilmente


se cumple si m es mucho mayor que n. Si m ą n diremos que el sistema Ax “ b está

173
174 El Problema de Mı́nimos Cuadrados

sobredeterminado; y si no existe ningún x P Cnˆ1 tal que Ax “ b lo que se puede


intentar es buscar un x de forma que el vector

r “ Ax ´ b P Cm ,

que se llama residuo o vector residual, sea lo “más pequeño” posible. Lo grande
o pequeño que sea r lo mediremos mediante una norma. El problema de mı́nimos
cuadrados consiste en encontrar x P Cnˆ1 para que el vector residuo tenga la menor
norma euclı́dea posible. Su formulación precisa serı́a la siguiente:

Problema de mı́nimos cuadrados: Sea F “ R o C. Dada una matriz A P Fmˆn


y un vector b P Fm ,(m ě n) encontrar x P Cnˆ1 para que }Ax ´ b}2 sea mı́nimo.

La elección de la norma euclı́dea se puede justificar desde varios puntos de vista:


histórico, geométrico, estadı́stico, . . . ; pero sobre todo porque es la norma habitual,
conduce a los algoritmos más sencillos y ası́ como todas las normas son funciones
continuas de los vectores, la norma euclı́dea es, además, diferenciable. Como, por
añadidura, la función }Ax ´ b}2 alcanza su máximo absoluto en un máximo local,
este máximo puede calcularse igualando a cero las derivadas parciales de dicha fun-
ción. Este proceso conduce a lo que se llaman las ecuaciones normales del problema
de mı́nimos cuadrados. Estas ecuaciones nos las encontraremos más adelante proce-
dentes de un contexto completamente diferente.

Ejemplo 8.1 El ejemplo más tı́pico de ajuste de datos por mı́nimos cuadrados es
el cálculo del polinomio de interpolación: dados m puntos del plano pxi , yi q,
i “ 1, . . . , m, de forma que xi ‰ xj para i ‰ j, se trata de encontrar un polinomio
de grado a lo más m ´ 1, ppxq “ a0 ` a1 x ` ¨ ¨ ¨ ` am´1 xm´1 , que pase por los n
puntos.

Se trata, entonces, de encontrar los coeficientes a0 , a1 ,. . . , am´1 , para que

ppxi q “ yi , i “ 1, . . . , m.

Esto equivale a resolver el sistema lineal

a0 ` a1 xi ` ¨ ¨ ¨ ` am´1 xim´1 “ yi , i “ 1, . . . , m (8.1)


8.1 El problema de mı́nimos cuadrados 175

cuya matriz de coeficientes es


» fi
1 x1 x21 ¨ ¨ ¨ xm´1
1
“ j´1 ‰ — m´1 ffi
—1 x2 x2 ¨ ¨ ¨ x2 ffi
2
A “ xi “ — .. .. .. . . .. ffi
–. . . .. fl
1 xm xm ¨ ¨ ¨ xm
2 m´1

Esta es una matriz de Vandermonde cuyo determinante es


ź
det A “ pxi ´ xj q.
iăj

Por consiguiente A es invertible y el sistema (8.1) tiene una única solución. En la


Figura 8.1 se muestra la gráfica del polinomio de interpolación que pasa por los
11 puntos pi, 0q con i “ ´5, ´4, . . . , ´1, 0, 1, . . . , 4, 5. Se trata de un polinomio de
grado 10. A su derecha se ha escrito el código de MATLAB que obtiene los co-
eficientes del polinomio de interpolación: c “ Azb y que da la gráfica: plot(t,
polyval(p,t),a,b,’r*’,’markersize’,10);. El comando polyval(p,t) devuel-
ve un vector: el valor del polinomio p en las componentes del vector t. Nótese el
uso de las sentencias fliplr y flipud para obtener la matriz de los coeficientes
del sistema y los coeficientes del polinomio de interpolación en la forma apropia-
da. La sentencia zeroaxes hace que los ejes cartesianos se dibujen en la forma que
se acostumbra a utilizar en la pizarra: dos lı́neas perpendiculares que se cortan en
p0, 0q.

5 Figura 8.1:
4
a=-5:5;
3
A=fliplr(vander(a));
b=[0 0 0 1 1 1 0 0 0 0 0]’;
2
c=Azb;
1
p=flipud(c);
−6 −4 −2 2 4 6 t=linspace(-5.05,5.05);
−1
plot(t, polyval(p,t),a,b,’r*’,...;
−2 ’markersize’,10);
−3 zeroaxes

Indudablemente el polinomio de interpolación se ajusta perfectamente a los datos,


pero a menudo éstos proceden de experimentos y lo que se pretende es buscar una
176 El Problema de Mı́nimos Cuadrados

curva que interprete los datos obtenidos. Como las mediciones se realizan en momen-
tos puntuales, tal gráfica deberı́a reflejar, salvo que se tengan motivos para pensar
lo contrario, una comportamiento suave entre dos datos consecutivos, y no la fluc-
tuación que muestra el polinomio de interpolación de nuestro ejemplo. Quizá un
polinomio de menor grado pueda mostrar un mejor comportamiento. Tal polinomio
no pasará por algunos de los puntos. Pero la medición de todo proceso real conlleva
errores que podrı́an explicar tal fenómeno.

Ejemplo 8.2 (Ajuste por mı́nimos cuadrados) Con los mismos datos del ejem-
plo anterior calcular el polinomio de grado 7 que mejor se ajusta a los datos en el
sentido de los mı́nimos cuadrados.

Siguiendo los mismos pasos que en el ejemplo anterior lo que buscamos es un poli-
nomio de grado a lo más n ´ 1 ď m ´ 1
ppxq “ a0 ` a1 x ` ¨ ¨ ¨ ` an´1 xn´1
tal que }ppxq ´ y}2 sea mı́nimo. Aquı́, ppxq es el vector cuya i-ésima componente es
ppxi q y el vector y es el que tiene por i-ésima componente yi .

Ahora bien, si » fi
1 x1 x21 ¨ ¨ ¨ x1n´1
—1 x2 x2 ¨ ¨ ¨ xn´1 ffi
— 2 2 ffi
A “ — .. .. .. . . .. ffi
–. . . .. fl
1 xm xm ¨ ¨ ¨ xm
2 n´1

es la matriz de Vandermonde truncada y c “ pa0 , a1 , . . . , an´1 q es el vector de los


coeficientes de p tenemos que ppxq “ Ac. Ası́ que se trata de hallar un vector c en
el que se alcance
mı́nn }Ax ´ y}2 .
xPC

En la Figura 8.2 se presenta la gráfica producida por MATLAB del polinomio de


grado 7 que mejor se ajusta a los datos pai , bi q en el sentido de los mı́nimos cuadrados.
El problema de mı́nimos cuadrados correspondiente se calcula en el interior de la
sentencia ployfit. El resto del código de MATLAB que se muestra es el mismo que
en el apartado anterior.

Una observación final antes de abordar la solución del problema de mı́nimos cua-
drados y los algoritmos correspondientes. Una variante del problema de encontrar
8.2 La solución del problema de mı́nimos cuadrados 177

5 Figura 8.2:
4 a=-5:5
3
A=fliplr(vander(a))
2
b=[0 0 0 1 1 1 0 0 0 0 0]’;
p=polyfit(a,b,7);
1
t=linspace(-5.3,5.3);
−6 −4 −2 2 4 6 plot(t, polyval(p,t),a,b,’r*’,...
−1 ’markersize’,10);
−2 axis([-6 6 -3 5]);
−3 zeroaxes

el polinomio de grado a lo más n ´ 1 que mejor se ajusta a una nube de m puntos,


pxi , yi q, distribuı́dos en el plano es el de encontrar la función

φpxq “ c1 φ1 pxq ` c2 φ2 pxq ` ¨ ¨ ¨ ` cn φn pxq,

que mejor se ajusta a una de tales nubes de puntos. Aquı́ φ1 , φ2 ,. . . , φn son funciones
dadas, o de las que uno sospecha que una combinación lineal de ellas puede ajustarse
bien a los datos. En este caso el problema se reduce a calcular el vector c donde se
alcanza el mı́nimo:
mı́n }Ax ´ y}2 ,
xPC

siendo A P Fmˆn la matriz cuyo elemento en la posición pi, jq es φj pxi q y siendo y el


vector cuyas componetes son y1 , . . . , ym .

8.2. La solución del problema de mı́nimos cuadra-


dos

En esta sección demostramos el resultado que nos da la solución del problema de


mı́nimos cuadrados. Geométricamente la situación es muy simple (véase la Figura
8.3): el vector de Im A cuya distancia a b es mı́nima es la proyección ortogonal de b
sobre Im A. Y la distancia mı́nima es la norma del residuo. Esto es lo que nos dice
el siguiente Teorema.
178 El Problema de Mı́nimos Cuadrados

r=Ax0−b
b Im A

Ax0

Figura 8.3: La solución del problema de mı́nimos cuadrados

Teorema 8.3 Sean A P Fmˆn , F “ R o C, y b P Fmˆ1 , m ě n. Sea PA la proyección


ortogonal sobre Im A. Entonces, Ax0 cumple
}Ax0 ´ b}2 “ mı́nn }Ax ´ b}2
xPF

si y sólo si se cumple cualquiera de las siguientes condiciones que son equivalentes:

(i) Ax0 “ PA b.
(ii) b ´ Ax0 P pIm AqK .
(iii) A˚ Ax0 “ A˚ b.

Además, la solución x0 es única si y sólo si rang A “ n.

En la demostración se usa el teorema de Pitágoras: Si x, y P Cn son ortogonales


entonces }x ` y}22 “ }x}22 ` }y}22 . En efecto, }x ` y}22 “ px ` yq˚ px ` yq “ x˚ x ` y ˚ `
x˚ y ` y ˚ x “ x˚ x ` y ˚ y “ }x}22 ` }y}22 , donde hemos usado que x˚ y “ y ˚ x “ 0 porque
x e y son ortogonales.

Demostración.- Todo se basa en la demostración de la idea geométrica expuesta


más arriba:
mı́nn }Ax ´ b}2 “ }PA b ´ b}2 .
xPC
Vemaos que esto es ası́. En efecto
}Ax ´ b}22 “ }Ax ´ PA b ` PA b ´ b}22 “ }Ax ´ PA b}22 ` }PA b ´ b}22
8.3 Algoritmos para calcular la solución del problema de mı́nimos cuadrados 179

porque Ax ´ PA b P Im A y PA b ´ b “ ´pI ´ PA qb P pImAqK y aplicando el Teorema


de Pitágoras. Por lo tanto, para todo x P Cn

}Ax ´ b}2 ě }PA b ´ b}2 .

Pero como PA b P Im A, existe x1 P Cn tal que Ax1 “ PA b; i.e., }Ax1 ´b}2 “ }PA b´b}2 .
Por lo tanto mı́nn }Ax ´ b}2 “ }PA b ´ b}2 , tal y como deseábamos mostrar.
xPC

Ahora, si Ax0 es el vector que hace mı́nima la distancia de Ax a b entonces

}PA b ´ b}22 “ mı́nn }Ax ´ b}22 “ }Ax0 ´ b}22 “ }Ax0 ´ PA b}22 ` }PA b ´ b}22 .
xPC

De aquı́ deducimos que }Ax0 ´ PA b}2 “ 0; es decir, Ax0 “ PA b.

Sólo queda demostrar la equivalencia entre las tres condiciones. Por una parte

PA b “ Ax0 ñ b ´ Ax0 “ b ´ PA b “ pI ´ PA qb P pIm AqK .

Y si b ´ Ax0 P pIm AqK entonces PA pb ´ Ax0 q “ 0 de modo que PA b “ PA Ax0 . Pero


como Ax0 P Im A tenemos que PA Ax0 “ Ax0 . Esto demuestra la equivalencia entre
las condiciones (i) y (ii).

Finalmente, como pIm AqK “ Ker A˚ tenemos que b ´ Ax0 P pIm AqK si y sólo si
A˚ pb ´ Ax0 q “ 0; i. e., A˚ Ax0 “ A˚ b.

Falta demostrar que la solución del problema de mı́nimos cuadrados es única si y


sólo si rang A “ n. Ahora bien, rang A “ n si y sólo si A˚ A es invertible. Una forma
de ver esto es, por ejemplo, la siguiente: rang A “ n si y sólo si σn pAq ‰ 0. Como
los valores singulares de A son las raı́ces cuadradas positivas de los valores propios
de A˚ A, σn ‰ 0 si y sólo si todos los valores propios de A˚ A son distintos de cero;
i.e. detpA˚ Aq ‰ 0. Pero A˚ A es invertible si y sólo si el sistema A˚ Ax “ A˚ b tiene
solución única.

8.3. Algoritmos para calcular la solución del pro-


blema de mı́nimos cuadrados

El Teorema 8.3 nos da las claves para calcular un vector x0 que solucione el problema
de mı́nimos cuadrados. En primer lugar, el sistema A˚ Ax “ A˚ b recibe el nombre de
180 El Problema de Mı́nimos Cuadrados

ecuaciones normales del problema de mı́nimos cuadrados. Es el sistema que aparece


al calcular el mı́nimo local de la función
f pxq “ }Ax ´ b}2 .
Es decir, el sistema
Bf
pxq “ 0, i “ 1, . . . , n
Bxi
da lugar al sistema A˚ Ax “ A˚ b. Como la función f es convexa, alcanza su mı́nimo
absoluto en un mı́nimo local.

Para resolver el sistema A˚ Ax “ A˚ b numéricamente, tendremos en cuenta la es-


tructura especial de la matriz A˚ A: es hermı́tica (simétrica en el caso real). Además
es definida positiva porque x˚ A˚ Ax “ }Ax}2 ą 0 para x ‰ 0. Ahora bien toda
matriz hermı́tica definida positiva admite una factorización de Cholesky (variante
de la factorización LU cuando la matriz es simétrica o hermı́tica). En MATLAB
el comando chol(A) devuelve la factorización de Cholesky de A si ésta es hermı́ti-
ca definida positiva. Recordemos que una factorización de Cholesky de una matriz
hermı́tica definida positiva, A, es una factorización de la forma
A “ LL˚
siendo L una matriz triangular inferior. Esta factorización es especialmente apro-
piada para resolver sistemas lineales mediante sustitución hacia adelante y hacia
atrás.

Teniendo en cuenta todo esto podemos dar un primer algoritmo para la resolución
del problema de mı́nimos cuadrados.

Algoritmo mı́nimos cuadrados via ecuaciones normales

Dada A P Fmˆn y dado b P Fm

1. Fórmense las matrices A˚ A y A˚ b.

2. Calcúlese la factorización de Cholesky de A˚ A “ LL˚ , (chol(A))

3. Resuélvase Ly “ A˚ b (z o sustitución hacia adelante)

4. Resuélvase L˚ x “ y.(z o sustitución hacia atrás)


8.3 Algoritmos para calcular la solución del problema de mı́nimos cuadrados 181

Cuando A es hermı́tica definida positiva pero mal condicionada, el algoritmo de


Cholesky puede dar resultados muy inexactos. Por lo tanto, el algoritmo anterior
no es adecuado para resolver el problema de mı́nimos cuadrados. Una posibilidad
serı́a usar la factorización QR de A˚ A para conseguir la factorización de Cholesky
de A˚ A en vez del algoritmo de Cholesky. En efecto, si A “ QR es la factorización
QR reducida de A, entonces

A˚ A “ R˚ Q˚ QR “ R˚ R “ LL˚ ,

donde hemos utilizado que Q˚ Q “ In , por tener Q columnas ortonormales, y hemos


puesto L “ R˚ . Esto nos muestra que si A es de rango completo, la factorización de
Cholesky de A˚ A es única. Esta alternativa, sin embargo, carece de sentido porque
la ventaja del algoritmo de Choleski es que su coste es „ n13 mientras que el de la
factorización QR es „ 2n2 m ´ 23 n3 ya que no se necesita el cálculo explı́cito de Q.
Para m grande en comparación con n, usar la factorización de Cholesky es ventajoso
cuando la matriz está muy bien condicionada. Cuando A está mal condicionada,
A˚ A está todavı́a peor condicionada. La razón es la siguiente: en primer lugar, si
rang A ă n entonces A˚ A es singular; por lo tanto no es definida positiva y no
existe factorización de Cholesky. Esto hace fracasar el algoritmo de las ecuaciones
normales, Supongamos entonces que rang A “ n pero el número de condición, κpAq,
de A es muy grande. Sea
„ 
Diagpσ1 , . . . , σn q ˚
A“U V
0

la descomposición completa de A en valores singulares; es decir, U y V son matrices


unitarias de tamaños m ˆ m y n ˆ n respectivamente. Entonces κpAq “ σσn1 . Ahora
bien, A˚ A “ V Diagpσ12 , . . . , σn2 qV es la descomppsición en valores singulares de A˚ A.
σ2
Entonces κpA˚ Aq “ σ21 “ κpAq2 . Si κpAq ą 1 entonces κpA˚ Aqq ą κpAq, y cuanto
n
mayor sea κpAq más grande será κpA˚ Aq. En particular, si κpA “« 108 entonces
κpA˚ Aq « 1016 pudiendo pensarse que A˚ A está tan cerca de ser singular que se
podrı́a considerar que A˚ A no es definida positiva.

Ahora bien, cuando el número de condición de A es muy grande (lo suficiente como
para poder pensar que A˚ A es singular) hay otras formas de resolver el problema de
mı́nimos cuadrados que veremos a continuación. En la primera de ellas el número de
condición puede ser grande pero no tan grande como para pensar que A tiene rango
menor que n. En este caso se puede usar la factorización QR de A y resolver un
sistema triangular superior. La idea es usar la segunda forma de obtener la solución
182 El Problema de Mı́nimos Cuadrados

del problema de mı́nimos cuadrados que hemos visto en el Teorema 8.3: x0 es solución
del problema de mı́nimos cuadrados mı́nn }Ax ´ b}2 si y s ólo si Ax0 “ PA b.
xPF

Para calcular x0 debemos conseguir PA , que es la proyección ortogonal sobre Im A.


Recordemos que PA “ QQ˚ , donde Q es una matriz cuyas columnas son una base
ortonormal de Im A. Recordemos también que si A “ QR es una factorización QR
reducida de A entonces las columnas de Q froman una base ortonormal de Im A y, por
consiguiente, QQ˚ es la proyección ortogonal sobre Im A. Ası́ pues, sustituyendo A
por QR y PA por QQ˚ en Ax0 “ PA b obtenemos QRx0 “ QQ˚ b. Como las columnas
de Q son ortonornales Q˚ Q “ In y la solución del problema de mı́nimos cuadrados
se obtiene resolviendo el siguiente sistema de ecuaciones lineales Rx0 “ Q˚ b. Este
sistema es triangular superior y se puede resolver mediante sustitución hacia atrás.
El siguiente algoritmo implementa estas operaciones.

Algoritmo mı́nimos cuadrados via factorización QR


Dada A P Fmˆn y dado b P Fm

1. Hállese la factorización QR, reducida, de A

2. Calcúlese Q˚ b.

3. Resuélvase Rx “ Q˚ b (z o sustitución hacia atrás)

Estos dos algoritmos pueden presentar problemas si la matriz A es singular o muy


próxima a serlo; i.e., κpAq es extremadamente grande. Si la situación es ésta, tenemos
una alternativa: los valores singulares.

8.3.1. El problema de mı́nimos cuadrados y la inversa Moore-


Penrose

La inversa generalizada de Moore-Penrose se puede definir como la matriz que solu-


ciona el problema de mı́nimos cuadrados. Es decir, de la misma forma que la solución
del sistema Ax “ b es x “ A´1 b siempre que A sea invertible, la solución del pro-
blema de mı́nimos cuadrados mı́nn }Ax ´ b}2 es x0 “ A: b. Veremos que esto es en
xPF
efecto ası́, y que este hecho nos proporciona un algoritmo alternativo para resolver
8.3 Algoritmos para calcular la solución del problema de mı́nimos cuadrados 183

el problema de mı́nimos cuadrados cuando la matriz está muy mal condicionada o


es de rango menor que n.

Recordemos que x0 es solución del problema de mı́nimos cuadrados si y sólo si es


solución del sistema Ax “ PA b, siendo PA la proyección ortogonal sobre Im A. Re-
cordemos también que si r “ rang A y A “ U ΣV ˚ es una descomposición completa
de A en valores singulares, entonces las r primeras columnas de U son una base or-
tonormal de Im A. (Proposición 3.10). Sea Ur la submatriz de U formada por sus r
primeras columnas. Como son una base ortonormal de Im A, la matriz Ur Ur˚ es la
proyección ortogonal sobre Im A. Es decir, PA “ Ur Ur˚ . Ası́ pues, si ponemos
„ 
Σr 0
Σ“
0 0
entonces el sistema Ax “ PA b es equivalente a
“ ‰
Ur Σr 0 V ˚ x “ Ur Ur˚ b.
“ ‰
Y este sistema es equivalente a Σr 0 V ˚ x “ Ur˚ b porque Ur˚ Ur “ Ir . Pongamos
c “ Ur˚ b y y “ V ˚ x. Entonces,
“ ‰
Ax “ PA b ô Σr 0 y “ c.
Si Σr “ Diagpσ1 , . . . , σr q, la solución general de este sistema es
“ ‰T
y “ c1 {σ1 c2 {σ2 ¨ ¨ ¨ cr {σr yr`1 ¨ ¨ ¨ yn
con yr`1 ,. . . , yn , números arbitrarios. Si el rango de A es completo, n, la solución del
sistema queda completamente determinada; cosa que ya habı́amos demostrado. Pero
si rang A ă n entonces hay infinitas soluciones del problema de mı́nimos cuadrados.
Entre ellas, se suele escoger la solución de norma mı́nima. Y ésta es la que se consigue
haciendo yr`1 “ ¨ ¨ ¨ “ yn “ 0. Finalmente, como y “ V ˚ x, tenemos que x “ V y.
Además, }x}2 “ }V y}2 “ }y}2 . En definitiva, el vector x0 de norma mı́nima que
soluciona el problema de mı́nimos cuadrados es:
» fi
c1 {σ1
—c2 {σ2 ffi » fi
— . ffi c {σ
— . ffi 1 1
— . ffi —c2 {σ2 ffi
— ffi — ffi
x0 “ V y0 “ V —cr {σr ffi “ Vr — .. ffi ,
— ffi – . fl
— 0 ffi
— . ffi cr {σr
– .. fl
0
184 El Problema de Mı́nimos Cuadrados

donde Vr es la submatriz de V formada por sus r primeras columnas.

Ahora vamos a “volver hacia atrás” a fin de recuperar la solución del problema
en términos de los datos originales: A y b. Recordemos, antes de nada, que con
las notaciones introducidas A “ Ur Σr Vr˚ es una descomposición reducida de A en
valores singulares. En consecuencia

A: “ Vr Σ´1 ˚
r Ur

es la inversa generalizada o Moore-Penrose de A. Ahora bien,


» fi
c1 {σ1
—c2 {σ2 ffi
— ffi
x0 “ Vr — .. ffi “ Vr Σ´1 ´1 ˚
r c “ Vr Σr Ur b,
– . fl
cr {σr

porque c “ Ur˚ b. Ası́ pues, el vector de norma mı́nima que soluciona el problema de
mı́nimos cuadrados es
x0 “ Vr Σ´1 ˚ :
r Ur b “ A b

tal y como habı́amos anunciado.

Este proceso, además, nos proporciona un algoritmo para calcular la solución del
problema de mı́nimos cuadrados en el caso más general.

Algoritmo mı́nimos cuadrados via valores singulares

Dada A P Fmˆn y dado b P Fm

1. Calcular la descomposición reducida de A en valores singulares:


A “ U ΣV ˚ , U P Fmˆr , V P Fnˆr y Σ “ Diagpσ1 , . . . , σr q.

2. Calcular c “ U ˚ b.

3. Calcular x “ V Σ´1 c. Este es el vector de menor norma que solu-


ciona el problema de mı́nimos cuadrados.
8.4 El condicionamiento del problema de mı́nimos cuadrados 185

8.4. El condicionamiento del problema de mı́ni-


mos cuadrados

El condicionamiento del problema de mı́nimos cuadrados es un tema importante por-


que tiene implicaciones no triviales en el estudio de la estabilidad de los algoritmos
para este problema. Como es habitual analizaremos en detalle el condicionamien-
to del problema y estudiaremos la estabilidad de los algoritmos mediante ejemplos
significativos.

Recordemos que el problema de mı́nimos cuadrados consiste en lo siguiente (supon-


dremos en lo sucesivo que la matriz del sistema tiene rango completo):

Dada A P Fmˆn de rango completo y m ě n, y dado b P Fm ,


(8.2)
calcular x P Fn para que }Ax ´ b}2 sea mı́nima.

Ya sabemos que, en este caso, la solución del problema es única y viene dada por

x “ A: b

donde A: P Fnˆn es la pseudoinversa o inversa generalizada de Moore-Penrose de A


(ver 3.6). Además, si y “ Ax es el vector en Im A más próximo a b entonces

y “ P b,

siendo P la proyección ortogonal sobre Im A.

Nuestro objetivo es estudiar el condicionamiento del Problema (8.2) respecto a per-


turbacione en A y en b. Es decir, los datos del problema son la matriz A y el vector
b. La solución es el vector de coeficientes x o el correspondiente vector y “ Ax. Ası́
pues
Datos: A, b. Soluciones: x, y.
Tenemos ası́, en realidad, cuatro posibles cuestiones de condicionamiento: Error
relativo en x o y respecto a pequeñas perturbaciones en los datos b o A.

El objetivo en esta sección es dar un resultado fundamental sobre el condicionamien-


to del problema de mı́nimos cuadrados. Para entender el enunciado y como apoyo
a la demostración necesitamos introducir algunos conceptos y un par de resultados
186 El Problema de Mı́nimos Cuadrados

auxiliares. En primer lugar debemos recordar que para una matriz A P Fmˆn de
rango completo n el número de condición es
σ1
κ2 pAq “ }A}2 }A: }2 “ .
σn

b r=Ax−b

θ y=Ax=Pb

Im A

Figura 8.4: El problema de mı́nimos cuadrados.


En segundo lugar, necesitamos el conceto de ángulo entre dos vectores de Fm . Lo
definimos, como es habitual, a partir de la desigualdad de Cauchy-Schwartz: si x, y P
Fm entonces
|x˚ y| ď }x}2 }y}2 ,
de modo que
x˚ y
´1 ď ď 1.
}x}2 }y}2
Se define, entonces el ángulo, θ, de x, y como
x˚ y
θ “ arc cos .
}x}2 }y}2
Equivalentemente
x˚ y
cos θ “ .
}x}2 }y}2
En nuestro caso, para calcular el ángulo de b e y debemos hacer el producto escalar
b˚ y “ b˚ P b. Teniendo en cuenta que P es una proyección (P 2 “ P ) ortogonal
pP ˚ “ P ) resulta que
b˚ y “ b˚ P b “ b˚ P P b “ b˚ P ˚ P b “ }P b}22 “ }y}22 .
8.4 El condicionamiento del problema de mı́nimos cuadrados 187

Ası́ pues
}y}2
cos θ “ .
}b}2
Para el seno usamos la identidad sen2 θ “ 1 ´ cos2 θ:
}y}22 }b}22 ´ }y}22
sen2 θ “ 1 ´ “ .
}b}22 }b}22
Ahora bien, b “ y ` b ´ y siendo y y b ´ y ortogonales (y P Im A y b ´ y “
b ´ P b “ pIm ´ P qb P pIm AqK ). Por consiguiente, usando el Teorema de Pitágoras,
}b}22 “ }y}22 ` }b ´ y}22 y
}b ´ y}2
sen θ “
}b}2
Todas estos resultados generalizan los habituales en R2 (Figura 8.4)

En tercer lugar, para cualquier norma inducida }Ax} ď }A} }x}. Necesitaremos una
medidad de lo lejos o cerca que está }y} “ }Ax} de su máximo valor posible:
}A}2 }x}2 }A}2 }x}2
η“ “ .
}y}2 }Ax}2
Estos parámetros tienen el siguiente rango de variación:
1 ď κpAq ă 8 0 ď θ ď π{2 1 ď η ď κpAq
Todas estas acotaciones son claras excepto, quizá, la última que viene de la siguiente
observación:
}x}2 “ }A´1 Ax}2 ď }A´1 }2 }Ax}2 ,
de modo que
}A}2 }A´1 }2 }Ax}2
ηď “ κ2 pAq.
}Ax}2

El resultado previo que necesitamos es el siguiente

Lema 8.4 Para A P Fmˆn de rango completo n se tiene:


1
}pA˚ Aq´1 A˚ }2 “ . (8.3)
σn
1
}pA˚ Aq´1 }2 “ 2 (8.4)
σn
siendo σ1 ě ¨ ¨ ¨ ě σn los valores singulares de A.
188 El Problema de Mı́nimos Cuadrados

Demostración.- La propiedad (8.4) es una consecuencia inmediata de que los valo-


res singulares de A son las raı́ces cuadradas positivas de los valores propios de A˚ A,
y de que 1{σn2 es el mayor valor singular de pA˚ Aq´1 (ver Porposiciones 3.12 y 3.16).

Para probar la propiedad (8.3) se usa el Teorema SVD para ver que los valores
singulares de pA˚ Aq´1 A˚ y los de A: coinciden.

Podemos ahora plantear y demostrar el resultado principal

Teorema 8.5 Sean b P Fm y A P Fmˆn con b ‰ 0 y rang A “ n ď m. Para el


problema de mı́nimos cuadrados (8.2) se cumplen las siguientes propiedades, todo
respecto de la norma `2 :

(i) El número de condición del problema de calcular y “ Ax P Fn respecto de b es


1
. (8.5)
cos θ
(ii) El número de condición del problema de calcular x P Fn respecto de b es
κ2 pAq
. (8.6)
η cos θ

(iii) Sea x̃ la solución del problema de mı́nimos cuadrados relativo a minimizar


}δA}2 σn
}pA ` δAqx̃ ´ b}2 . Si ỹ “ pA ` δAqx̃ y  “ ă entonces
}A}2 σ1
}ỹ ´ y}2 κ2 pAq
ď ` Op2 q. (8.7)
}y}2 cos θ

(iv) En las mismas condiciones del apartado anterior


ˆ ˙
}x̃ ´ x}2 κ2 pAq2 tan θ
ď  κ2 pAq ` ` Op2 q. (8.8)
}x}2 η

(v) Sea x̃ es la solución del problema de mı́nimos cuadrados relativo a minimizar


}pA ` δAqx̃ ´ pb ` δbq}2 . Si sen θ ‰ 1 y
" *
}δA}2 }δb}2 σn
 “ máx , ă
}A}2 }b}2 σ1
8.4 El condicionamiento del problema de mı́nimos cuadrados 189

siendo σ1 ě ¨ ¨ ¨ ě σn los valores singulares de A, entonces


" ˆ ˙ *
}x̃ ´ x}2 1 κ2 pAq2 tan θ
ď  κ2 pAq `1 ` ` Op2 q. (8.9)
}x}2 η cos θ η

En el caso especial en que m “ n, el problema de mı́nimos cuadrados se reduce al


de la resolución de un sistema de ecuaciones lineales. En tal caso θ “ 0 y las cotas
de (8.6) y (8.8) se reducen a κ2 pAq{η y κ2 pAq recuperando los resultados vistos en
la Lección 4.

Demostración.- Demostraremos las propiedades (i) y (v). La propiedad (ii) se


demuestra de manera muy similar a la propirdad (i), la propiedad (iv) es una caso
particular de la (v) y la propiedad (iii) requiere una demostración independiente
pero parecida a la (iv).

(i) La relación entre b e y es


y “ Pb
siendo P la proyeccción ortogonal sobre Im A. Vimos en la Sección 4.3 del Capı́tulo
4 que el número de condición del problema de multiplicar Ax para A dada y x
variable:
f : Fn Ñ Fm
x ; b “ Ax
es
}f 1 pxq} }A} }x}
κ“ “ , (8.10)
}f pxq}{}x} }Ax}
En nuestro caso se trata del número de condición del problema y “ P b respecto de
b para P dado. Entonces
}P }2 }b}2
κpbq “
}y}2
Como P es una proyección ortogonal
” P ı“ QQ˚ para alguna matriz Q P Fnˆm con
columnas ortonormales. Sea U “ Q Q r una matriz unitaria. Entonces
„ ˚ ” ı „ 
˚ Q ˚ r In 0
U P U “ r˚ QQ Q Q “
Q 0 0

Por lo tanto, los valores singulares de P son todos iguales a 1 y en particular

}P }2 “ σ1 pP q “ 1
190 El Problema de Mı́nimos Cuadrados

}y}2
Finalmente, recordemos que cos θ “ . En conclusión:
}b}2

}P }2 }b}2 1
κpbq “ “ ,
}y}2 cos θ
tal y como se deseaba demostrar.

1 1 }δA}2 σn
(v) En primer lugar definimos E “ δA y f “ δb. Por hipótesis, ă
  }A}2 σ1
y como }A}2 “ σ1 , tenemos que }δA}2 ă σn . Por el Teorema 3.18 resulta que
rangpA ` δAq “ n y consecuentemente rangpA ` tEq “ n para todo t P r0, s. Se
sigue entonces que el sistema

pA ` tEq˚ pA ` tEqxptq “ pA ` tEq˚ pb ` tf q (8.11)

tiene una única solución para cada t P r0, s. Invertir una matriz es una función
diferenciable en los elementos de la matriz. Por lo tanto x es una función diferenciable
de t en r0, s. Por la definición de diferencial

xpq “ xp0q ` x1 p0q ` Op2 q.

Como xpq “ x̃, xp0q “ x, b ‰ 0 y sen θ ‰ 1, tenemos que x ‰ 0 y

}x̃ ´ x}2 }x1 p0q}2


“ ` Op2 q. (8.12)
}x}2 }x}2

Necesitamos una estimación de }x1 p0q}2 . Para ello calculamos x1 p0q en (8.11). Pri-
mero derivamos

E ˚ pA`tEqxptq`pA`tEq˚ Exptq`pA`tEq˚ pA`tEqx1 ptq “ E ˚ ppb`tf q`pA`tEq˚ f,

y sustituı́mos t “ 0 recordando que xp0q “ x:

E ˚ Ax ` A˚ Ex ` A˚ Ax1 p0q “ A˚ f ` E ˚ b.

Ası́
x1 p0q “ pA˚ Aq´1 A˚ pf ´ Exq ` pA˚ Aq´1 E ˚ pb ´ Axq.
Tomando normas:

}x1 p0q}2 ď }pA˚ Aq´1 A˚ }2 p}f }2 ` }E}2 }x}2 q ` }pA˚ Aq´1 }2 }E ˚ }2 }b ´ Ax}2 .
8.5 Estabilidad de los algoritmos para el problema de mı́nimos cuadrados 191

1
Por una parte, }E}2 “ }δA}2 ď }A}2 . Y de la misma forma }f }2 ď }b}2 . También

}A˚ }2 “ }A}2 , ası́ que

}x1 p0q}2 ď }pA˚ Aq´1 A˚ }2 p}A}2ˆ


}x}2 ` }b}2 q `˙}pA˚ Aq´1 }2 }A}2 }b ´ Ax}2 ď
}b}2 }b ´ Ax}2
ď }pA˚ Aq´1 A˚ }2 }A}2 ` }x}2 ` }pA˚ Aq´1 }2 }A}22 .
}A}2 }A}2

Por otra parte, por el Lema 8.4, }pA˚ Aq´1 A˚ }2 }A}2 “ κ2 pAq y }pA˚ Aq´1 }2 }A}22 “
κ2 pAq2 . Entonces
ˆ ˙
}x1 p0q}2 }b}2 {}Ax}2 }b ´ Ax}2 {}Ax}2
ď κ2 pAq ` 1 ` κ2 pAq2 .
}x}2 }A}2 }x}2 {}Ax}2 }A}2 }x}2 {}Ax}2

}A}2 }x}2 }Ax}2 }b ´ Ax}2


Ahora bien, η “ , cos θ “ y tan θ “ . En consecuencia
}Ax}2 }b}2 }Ax}2
ˆ ˙
}x1 p0q}2 1 tan θ
ď κ2 pAq ` 1 ` κ2 pAq2
}x}2 η cos θ η

sustituyendo en (8.12)
" ˆ ˙ *
}x̃ ´ x}2 1 κ2 pAq2 tan θ
ď  κ2 pAq `1 ` ` Op2 q,
}x}2 η cos θ η

tal y como se querı́a demostrar.

8.5. Estabilidad de los algoritmos para el proble-


ma de mı́nimos cuadrados

Un estudio experimental de la estabilidad de los algoritmos para la resolución del


problema de mı́nimos cuadrados lineal es el objetivo de una de las prácticas obli-
gatorias con MATLAB que habrá de realizarse en este curso. En ella se plantea
un problema de mı́nimos cuadrados cuya solución debe ser calculada con los tres
algoritmos vistos en la Sección 8.3. A su vez, para los algoritmos basados en la fac-
torización QR, se utilizarán los tres algoritmos vistos en las Lecciones 6 y 7; es decir,
los algoritmos clásico y modificado de Gram-Schmidt y el algoritmo de Householder.
192 El Problema de Mı́nimos Cuadrados

A través de dicho experimento se comprobará que los algoritmos basados en la reso-


lución de las ecuaciones normales y el factorización de Cholesky ası́ como los basados
en la factorización QR obtenida con los algoritmos de Gram-Schmidt pueden dar
resultados con mucho error si la matriz del sistema está mal condicionada. Por lo
tanto, estos algoritmos son inestables. No obstante, hay resultados (ver [13, Sec
20.4]) que muestran que para matrices bien condicionadas el algoritmo basado en la
resolución de las ecuaciones normales es estable hacia atrás y para valores de m mu-
cho mayores que n, el coste operacional sensiblemente menor que el método basado
en la factorización QR mediante reflexiones de Householder. En tales situaciones,
el método basado en la resolución de las ecuaciones normales serı́a el preferido. Por
otra parte, a pesar de que el método basado en la factorización QR mediante el
algoritmo modificado de Gram-Schmidt es inestable cuando se implementa de la
manera indicada en la Sección 8.3, hay una forma de hacerlo que lo hace estable
hacia atrás (ver [13, Sec 20.3]). Finalmente, los algoritmos basados en la factoriza-
ción QR mediante reflexiones de Householder y valores singulares son estables hacia
atrás para sistemas en los que A es una matriz de rango completo. A continuación
se enuncian el teorema que hace explı́to este resultado.

Teorema 8.6 Supongamos que el problema de mı́nimos cuadrados con una matriz
A de rango completo se resuelve mediante el algoritmo QR por reflexiones de Hou-
seholder o mediante la descomposición en valores singulares en un ordenador que
cumple los axiomas (5.2) y (5.4) de la Lección 5. Este algoritmo es estable hacia
atrás: para cada A P Fmˆn (m ě n y rang A “ n) existe una perturbación δA tal
que
}δA}
“ OpM q
}A}
p producida por el algoritmo satisface
y la solución x

x ´ b}2 “ mı́nn }pA ` δAqx ´ b}2 .


}pA ` δAqp
xPF

Para terminar, conviene mencionar que si la matriz A no es de rango completo,


sabemos que la solución no está determinada de forma única y el único algoritmo
completamente estable es el basado en la descomposición de A en valores singulares.

También podría gustarte