Está en la página 1de 34

PROBLEMAS DE MNIMOS CUADRADOS F.

VADILLO

Los mnimos cuadrados es una herramienta muy utilizada desde su invencin por Gauss y Legrende hacia el ao 1800. En trminos de algebra lineal se trata de resolver sistemas lineales Ax = b con ms ecuaciones que incgnitas, donde el trmino resolver se entiende en el sentido de minimizar la norma eucldea de vector residuo r = Ax b. Estas notas se dividen en dos partes, en la primera se estudia el problema de ajuste de curvas a conjuntos datos que es uno de los principales orgenes de los problemas de mnimos cuadrados. En la segunda parte se comentan los mtodos numricos ms habituales para resolver los problemas de mnimos cuadrados. Resumen.

ndice

1. Introduccin 2. Ajustes de curvas por mnimos cuadrados 2.1. Rectas de regresin por mnimos cuadrados 2.2. Ajustes de otras curvas por mnimos cuadrados 2.3. Combinaciones lineales por mnimos cuadrados 3. Solucin mnimo cuadrtica de sistemas sobredeterminados 3.1. Reectores de Householder 3.2. La factorizacin QR de una matriz 3.3. Pseudoinversa de una matriz 3.4. Descomposicin valores singulares de una matriz 4. Ejercicios Referencias

1 2 2 4 6 8 8 9 10 10 12 13

1.

Introduccin

El trmino mnimos cuadrados describe el problema muy frecuente de resolver sistemas de ecuaciones lineales sobre-determinados, esto es, sistemas lineales con ms ecuaciones que incgnitas. En tal caso, en lugar de resolver las ecuaciones de manera exacta, habitualmente no existe tal solucin, se busca slo minimizar la suma de los cuadrados de los residuos. 1

F. VADILLO

que se supone es sobre-determinado, es decir, tiene ms ecuaciones que incgnitas (n > m). En notacin matricial es (1.2) El vector residuo (1.3)

Ax = b.

r = Ax b,

quiz pueda hacerse pequeo con una adecuada eleccin de x, pero en general ser distinto de cero. Se trata entonces de hacerlo tan pequeo como se pueda en algn sentido y lo que se denomina solucin mnimo cuadrtica minimiza la norma euclidea del residuo, es decir, el problema se plantea de la siguiente forma:

Dada la matriz A Rnm con n > m y el vector b Rn , se quiere calcular el vector x Rm que minimize Ax b 2 .

En Matlab el operador backslash calcula la solucin mnimo cuadrtica del sistema: x = A\y utilizando algoritmo de despus se estudiaran.

2.

Ajustes de curvas por mnimos cuadrados

2.1. Rectas de regresin por mnimos cuadrados. Una de las fuentes habituales de problemas de mnimos cuadrados son los problemas de ajustes de curvas. Em la ciencia y la ingeniera los experimentos producen un conjunto de datos (x1 , y1 ), ..., (xn , yn ), com las abscisas {xk } diferentes, y el problema que se plantea es determinar una funcin y = f (x) que relacione los datos, lo mejor posible em algn sentido. Evidentemente, el resultado depender del tipo de funcin que se elija, por ejemplo, em la regresin f (x) = ax + b es una recta, y para ajustar los parmetros libres se pueden minimizar uno de los siguientes tres valores: El error mximo: E (f ) = mx{|f (xk ) yk | : 1 k n}. a

El error medio: E1 (f ) = 1 n M

|f (xk ) yk |. k=1

PROBLEMAS DE MNIMOS CUADRADOS

El error medio cuadrtico: E2 (f ) = 1 n n 1/2

(f (xk ) yk ) k=1

Em el mtodo de mnimos cuadrados el error que se minimiza es el error medio cuadrtico. Por tanto, la recta de regresin ajusta los parmetros a y b para minimizar el valor n

(2.1)

E(a, b) = k=1

(axk + b yk )2 ,

que son la solucin del sistema lineal conocido como ecuaciones normales de

Gauss

x2 k k=1

a+ k=1 n

xk xk

b= k=1 n

xk yk , yk , k=1

a + nb =

k=1

cuya obtencin se deja como ejercicio para el alumno.

Ejemplo 2.1. La poblacin en los Estados Unidos de Amrica durante el siglo

XX ha seguido la evolucin indicada en la tabla adjunta, se pide hallar la recta de regresin y pronostican el nmero de habitante en al ao 2010. ao millones de habitantes 1900 75.995 1910 91.972 1920 105.711 1930 123.203 1940 131.669 1950 150.697 1960 179.323 1970 203.212 1980 226.505 1990 249.633 2000 281.422 El programa lsline.m de [8] resuelve directamente el sistema normal, y la recta de regresin que resulta es:

y = 2,0253x 3783,9, que para el ao 2010 pronostica 286.912 millones de habitantes. En la gura 1 se ha representado los puntos y la recta de regresin. Em el ajuste potencial f (x) = axp donde p es una constante conocida, el nico parmetro libre a debe minimizar n

(2.2)

E(a) =

(axp yk )2 , k k=1

4 400

F. VADILLO

350

300

250

200

150

100

50

0 1900

1920

1940

1960

1980

2000

2020

Figura 1.

Recta de regresin .

e igualando a cero la derivada se obtiene que (2.3)

a=

n p k=1 xk yk n 2p . k=1 xk

2.2. Ajustes de otras curvas por mnimos cuadrados. Suponga que ahora se quieren ajustar los datos (x1 , y1 ), ..., (xn , yn ) por el mtodo de mnimos cuadrados usando una curva exponencial (2.4)

y = c eax , n

donde a y c son ahora los parmetros a elegir. El valor que se debe minimizar es (2.5)

E(a, c) =

(c eaxk yk )2 . k=1

Igualando a cero las dos derivadas parciales de E(a, c) se llega al sistema de las dos ecuaciones normales nn

c k=1

xk e2axk k=1 n

xk yk eaxk n

= 0, = 0,

c k=1

axk

k=1

yk eaxk

ecuaciones que mo son lineales para las incgnitas a y c com la dicultad que esto supone.

PROBLEMAS DE MNIMOS CUADRADOS

Otra forma de resolver el mismo problema es por el mtodo de linealizacin de los datos. Se supone que los datos yk > 0 y se toman logaritmos em (??) para obtener ln y = ax + ln c. Despus se hace el siguiente cambio de variable

u = x, com lo que resulta la recta

v = ln y,

b = ln c,

v = au + b, com los datos transformados (uk , vk ) = (xk , ln(yk )) para k = 1, ..., m. Problema lineal que ya se sabe resolver.

Ejemplo 2.2. En el ejemplo de la poblacin americana, la aproximacin exponencial que se obtiene es (2.6)

y = 1,9908 109 e0,0129x ,

y la estimacin en el ao 2010 es de 329.9944 millones de habitantes.

400

350

300

250

200

150

100

50

0 1900

1920

1940

1960

1980

2000

2020

Figura 2.

Ajuste exponencial .

La tcnica de linealizacin de los datos se utiliza para ajustar otros tipos de a curvas com un cambio de variable adecuado. Por ejemplo, si f (x) = x + b el cambio 1 que linealiza el problema es u = x y v = y . Em la siguiente tabla se muestran algunos cambios de variables para linealizar datos.

F. VADILLO

Funcin y = f (x)

Cambios de variables 1 u = x, v = y

y= y= y= y=

ax

+b

d x+c 1 ax+b x ax+b

u = xy, v = y u = x, v = 1 u = x, v = 1 y 1 y

y = a ln x + b y = c eax y= 1 (ax+b)2

u = ln x, v = y u = x, v = ln y u = x, v = 1y

y = c x edx y=

l 1+ceax

y u = x, v = ln( x )

u = x, v = ln

ly

2.3. Combinaciones lineales por mnimos cuadrados. El problema de las combinaciones lineales em mnimos cuadrados se formula de la siguiente manera: dados m puntos {(xk , yk )} y un conjunto de m funciones linealmente independientes {fj (x)}, lo habitual es que n > m y se trata de encontrar m coecientes {cj } tales que la funcin m

(2.7)

f (x) = j=1

cj fj (x),

minimice la suma de los cuadrados de los errores nn

m j=1

(2.8)

E(c1 , ..., cm ) =

(f (xk ) yk )2 = k=1 k=1

E Para que la funcin E sea mnima, es necesarios que ci = 0 para i = 1, ..., m, lo que equivale a que los coecientes cj seam la m

(2.9) k=1

j=1

i = 1, ..., m.

Intercambiando el orden de los sumatorios el sistema anterior se puede escribir de la forma mnn

(2.10) j=1 k=1

fi (xk )fj (xk ) cj = k=1

fi (xk )yk ,

i = 1, ..., m.

PROBLEMAS DE MNIMOS CUADRADOS

Este sistema lineal de orden m m se puede escribir em notacin matricial de forma mas

fm (xn ) yn el sistema de ecuaciones normales es (2.11)

F T F c = F T y,

donde F T indica la matriz transpuesta y la incgnita es el vector c, que es tambin la solucin del sistema sobre-determinado (2.12)

F c = y,

que tiene ms ecuaciones que incgnitas porque n > m.

Ejemplo 2.3. Siguiendo con el ejemplo de la poblacin americana en el siglo XX, se tratara de ajustar los datos a un polinomio de grados 3 (2.13)

y c3 x3 + c2 x2 + c1 x + c0 . c0 = 4,25822238574126, c2 = 0,00000496111699, c1 = 0,00802427140030, c3 = 0,00000000101028,

La solucin del sistema normal es:

con la grca de la gura 3 que pronostica 312.6913 millones de habitantes para el 400

350

300

250

200

150

100

50

0 1900

1920

1940

1960

1980

2000

2020

Figura 3.

Ajuste con un polinomio de tercer grado.

F. VADILLO

ao 2010. El programa censusgui.m de [1] dibuja ajustes polinomiales de diferentes grados y calcula la estimacin de poblacin para el ao 2010.

3.

Solucin mnimo cuadrtica de sistemas sobre-determinados

Volviendo al problema de los sistemas lineales sobre-determinados (1.2), una forma terica de calcular su solucin mnimo cuadrtica es utiliza los sistemas normales del tipo (2.11), bastara multiplicar los dos lados por la matriz AT para obtener el llamado sistema normal (3.1)

AT Ax = AT b.

donde AT A es una matriz m m, es decir, que si hubiera miles de observaciones (n fuera grande) y unos pocos parmetros (m fuera pequea), el sistema normal es pequeo por lo que resolverlo sera barato. El siguiente teorema conrma la conveniencia de resolver los sistemas normales:

problema de mnimos cuadrados si y slo si es solucin del sistema norma (3.1). Adems, la solucin es nica si y slo si A tiene rango m. Sin embargo, habitualmente los sistemas normales estn mal condicionados porque su nmero de condicin es muy alto, de hecho, (3.2)

Teorema 3.1. Sean A Rnm y b Rn dados. Un vector x es la solucin del

con pequeo pero no cero, sus dos columnas son linealmente independientes aunque casi paralelas. Sin embargo, la matriz del sistema normal es

AT A =

1 + 2 1

1 1 + 2

que para || < 108 computando con aritmtica de doble precisin es una matriz singular que no tiene inversa, y por lo tanto el sistema normal no tiene una solucin. La conclusin de todo esto es que en la prctica los problemas de mnimos cuadrados no se pueden resolver calculando las soluciones de los sistemas normales asociados (3.1) con los algoritmos habituales.

3.1. Reectores de Householder. Los reectores de Householder son matrices de transformacin que se utilizan en algunos de los algoritmos numricos ms importantes para aproximar autovalores y valores singulares de matrices. Formalmente, un reector de Householder es una matriz de la forma (3.3)

H = I 2uuT ,

donde el vector u Rn es unitario ( u 2 = uT u = 1) e I es la matriz identidad. A 2 continuacin se listan algunas propiedades de estas matrices:

PROBLEMAS DE MNIMOS CUADRADOS

1. Los reectores de Householder son matrices simtricas: H T = H . 2. Los reectores de Householder son matrices ortogonales: H 1 = H T = H2 = I. 3. Hu = u 2uuT u = u. 4. Si v es un vector ortogonal al vector u, entonces Hv = v 2uuT v = v. Geomtricamente es fcil observar que el reector H a cada vector de Rn le lleva a su reexin respecto del hiperplano ortogonal al vector u que lo dene. La propiedad que se utiliza en el posterior algoritmo se recoge en el siguiente teorema:

Teorema 3.2. Para todo par de vectores x, y Rn con las misma norma eucldea, el reector construido con el vector u = xy xy 2

lleva un vector en el otro.

En la prctica, dado un vector x Rn , se utiliza un reector para llevar lo a otro vector con slo una componente no nula, lo detalles de la implementacin se pueden consultar en [7].

resolver sistemas sobre-determinados utiliza la factorizacin QR de la matriz A del sistema. La idea consiste en escribir A = Q R donde Q es una matriz ortogonal y R es una matriz con todos ceros por debajo de la diagonal principal. Para construir dicha factorizacin se utiliza el teorema 3.2 aplicando una sucesin de reectores de Householder que van anulando todos los elementos de la matriz por debajo de la diagonal principal con el resultado nal (3.4)

3.2. La factorizacin QR de una matriz. Unos de los mtodos clsicos para

Hm H2 H1 A = R,

donde la matriz R de n m tiene todo cero por debajo de la diagonal y las matrices Hi son todas ortogonales porque son reectores. La factorizacin que resulta es (3.5)

A = Q R,

con Q = (Hm H2 H1 )T .

Aplicando al trmino derecho del sistema sobre-determinado (1.2) las mismas transformaciones se tiene (3.6)

Rx = (Hm H2 H1 )b,

que es un sistema triangular superior de m ecuaciones que se resuelve con una sustitucin regresiva. El algoritmo de resolucin es el siguiente: 1. Computa la factorizacin QR de la matriz A = QR. 2. Computa el vector Qb. 3. Resuelve el sistema triangular superior Rx = Qb. Los detalles para la implementacin del algoritmo QR se pueden consultar en textos clsicos como [5], [6], [3], [2],[4] o [7]. El programa qrsteps.m de la referencia [1] muestra paso a paso como se construye la factorizacin QR de cualquier matriz.

10

F. VADILLO

3.3. Pseudoinversa de una matriz. El concepto de pseudoinversa de una matriz debido a Moore y Penrose generaliza y extiendo el clsico concepto de matriz inversa de una matriz cuadrada. Sea A una matriz n m con n > m de rango m, su pseudoinversa es la matriz que aparece en las ecuaciones normales (3.7)

A = (AT A)1 AT ,

que es una matriz m n. Segn esta denicin, si la matriz B fuera cuadrada no singular (3.8)

B = (B T B)1 B T = B 1 (B T )1 B T = B 1 .

La matriz pseudoinversa tiene propiedades, aunque no todas, que recuerda la matriz inversa ordinaria, por ejemplo (3.9) (3.10)

A A = (AT A)1 AT A = I, AA = A(AT A)1 AT .

que indica que es la inversa por la izquierda, pero no as por la derecha porque Otra propiedad importante de la pseudoinversa es que se trata de la mejor aproximacin a la inversa por la derecha en el sentido de que minimiza el residuo con respecto a la norma de Frobenius. La demuestra es que (3.12)

ij

A = m AZ I n Z

F.

En relacin con el problema que se plantea: calcular la solucin mnimo cuadrtica del sistema lineal sobre-determinado (1.2), en vista del sistema normal (3.1) asociado, es evidente que conocida la pseudoinversa de la matriz A la solucin se reduce a un simple producto matricial porque la solucin mnimo cuadrtica es (3.13)

x = (AT A)1 AT b = A b.

Los algoritmos para calcular pseudoinversas de matrices utilizan la descomposicin valores singulares que resumimos muy brevemente a continuacin.

3.4. Descomposicin valores singulares de una matriz. Dada una matriz (3.14)

A Rnm con n m siempre tiene una descomposicin en valores singular SVD (singular values decomposition) tal que A = U V T , = diag(1 , ..., m ) Rnm ,

donde U Rnn y V Rmm son matrices ortogonales. Los valores 1 .... m 0 son los valores singulares de la matriz A y las columnas de U y V son los vectores singulares por la

izquierda y por la derecha respectivamente de la matriz A. En el siguiente cuadro se recogen algunas propiedades interesantes de los valores singulares de una matriz cuyas demostraciones se pueden consultar en la pgina 33 de la referencia [5].

PROBLEMAS DE MNIMOS CUADRADOS

11

1. El rango de A es r, el numero de valores singulares no nulos. 2 2 2. A 2 = 1 y A F = 1 + r . 3. Los valores singulares de A no cero, son las races cuadradas los autovalores no nulos de AT A. n 4. Si A Rnn entonces |det(A)| = i=1 i . T 5. Si A = A sus valores singulares son los valores absolutos de los autovalores de A. En los que se reere a la pseudoinversa de la matriz, el resultado que interesa es el siguiente:

Teorema 3.3. Si en la descomposicin valores singulares de la matriz A = D 0 0 0 , D = diag(1 , , r ), 1 r > 0, D1 0 0 0 ,

entonces A = V + U T ,

donde

+ =

Los algoritmos que calculan la descomposicin valores singulares de una matriz son muy tcnicos y por ello superan el contenido de estas notas. En las referencia [3], [2], [5], o [7] se pueden consultar los detalles. En Matlab el comando pinv(A) computa la pseudoinversa de la matriz A con dichos algoritmos.

Ejemplo 3.4. Se considera el sistema Ax = b donde :

donde la matriz A tiene rango 2 lo mismo que el rango de la matriz ampliada por lo que la solucin no es nica. Utilizando el backslash A\y la ejecucin produce un warning y la solucin que

Las dos son soluciones pero la segunda tiene menor norma euclidea porque 2 = 10,8449 mientras que z 2 = 10,8440.

12

F. VADILLO

4.

Ejercicios

1. Deduzca las ecuaciones normales de Gauss para la recta de regresin. 2. El nivel del agua en el mar del Norte est principalmente determinado por el llamado ndice de marea que tiene la forma

H(t) = h0 + a1 sin

t 6

+ a2 cos

t 6

con t medido en horas. Ajuste los valores de los parmetros si han tomado las siguientes mediciones

t H(t)

0 2 1.0 1.6

4 1.4

6 0.6

8 0.2

10 0.8

3. Para conocer la relacin entre la velocidad de cada de un paracaidista y la fuerza de friccin hacia arriba, se han efectuado las siguientes mediciones

vf

1.0 5

2.0 15.3

3.0 29.3

4.0 46.4

5.0 66.3

donde v se mide en centmetros por segundo y rozamiento f en 106 dinas. Dibuje los puntos de la tabla y decida que aproximacin mnimo cuadrtica le conviene. 4. En 1601 el astrnomo alemn J.Kepler formulo su tercera ley del movimiento planetario: T = c d3/2 donde d es la distancia de un planeta al sol medida en millones de kilmetros, T es el periodo orbital en das y c es una constante. Los datos observados para los cuatro planetas Mercurio, Venus, Tierra y Marte son:

di 58 108 155 228 Ti 88 225 365 687 Ajuste el valor de c para estos datos en el sentido de los mnimos cuadrados. 5. Deduzca las ecuaciones normales para ajustar por mnimos cuadrados el plano z = a + bx + cy a los datos {(xi , yi , zi )}n . i=1 6. Cuando una poblacin P (t) no puede crecer ms de un cierto valor lmite L, la grca de la funcin P (t) es una curva llamada curva logstica de ecuacin y = L/(1 + ceat ). Ajuste los valores de c y a para L = 1000 y la tabla t 0 1 2 3 4 P (t) 200 400 650 850 950 7. Estime el peso atmico del nitrgeno y el oxgeno utilizando los pesos moleculares de los siguientes xidos

N O = 30,006 N2 O = 44,013 N O2 = 46,006 N2 O3 = 76,012 N2 O5 = 108,010 N2 O4 = 92,011 8. Demuestre el teorema 3.1. 9. Demuestre el teorema 3.2.

PROBLEMAS DE MNIMOS CUADRADOS

13

Referencias

1. C.B.Moler, Numerical computing with matlab, SIAM, 2004. 2. D.S.Walkins, Fundaments of matrix computions, John Wiley, 1991. 3. G.H.Golub and C.F.Van Loan, Matrix computations, The Johns Hopkins University Press, 1989. 4. K.E.Atkinson, An introduction to numerical analysis, Wiley, 1978. 5. L.N.Trefethen and D.Bau, Numerical linear algebra, SIAM, 1997. 6. N.J.Higham, Accuracy and stability of numerical algoritms, SIAM, 1996. 7. R.Bulirsch and J.Stoer, Introduction to numerical analysis, Springer, 1980. 8. J.F.Mathews y K.D.Fink, Mtodos numricos con matlab. tercera edicin, Prentice Hall, 1999. Dep. Matemtica Aplicada y Estadstica de la Universidad del Pais Vasco