ajuste-minimos-cuadrados-math-basic.pdf

13

Click here to load reader

Transcript of ajuste-minimos-cuadrados-math-basic.pdf

Page 1: ajuste-minimos-cuadrados-math-basic.pdf

PROBLEMAS DE MÍNIMOS CUADRADOS

F. VADILLO

Resumen. Los mínimos cuadrados es una herramienta muy utilizada desdesu invención por Gauss y Legrende hacia el año 1800. En términos de algebralineal se trata de resolver sistemas lineales Ax = b con más ecuaciones queincógnitas, donde el término resolver se entiende en el sentido de minimizar lanorma euclídea de vector residuo r = Ax− b.

Estas notas se dividen en dos partes, en la primera se estudia el problemade ajuste de curvas a conjuntos datos que es uno de los principales orígenesde los problemas de mínimos cuadrados. En la segunda parte se comentan losmétodos numéricos más habituales para resolver los problemas de mínimoscuadrados.

Índice1. Introducción 12. Ajustes de curvas por mínimos cuadrados 22.1. Rectas de regresión por mínimos cuadrados 22.2. Ajustes de otras curvas por mínimos cuadrados 42.3. Combinaciones lineales por mínimos cuadrados 63. Solución mínimo cuadrática de sistemas sobre-determinados 83.1. Re�ectores de Householder 83.2. La factorización QR de una matriz 93.3. Pseudoinversa de una matriz 103.4. Descomposición valores singulares de una matriz 104. Ejercicios 12Referencias 13

1. IntroducciónEl término mínimos cuadrados describe el problema muy frecuente de resolver

sistemas de ecuaciones lineales sobre-determinados, esto es, sistemas lineales conmás ecuaciones que incógnitas. En tal caso, en lugar de resolver las ecuaciones demanera exacta, habitualmente no existe tal solución, se busca sólo minimizar lasuma de los cuadrados de los residuos.

1

Page 2: ajuste-minimos-cuadrados-math-basic.pdf

2 F. VADILLO

Se considera un sistema lineal de n ecuaciones lineales con m incógnitas

(1.1)

a1,1 · · · a1,m

... . . . ...

... . . . ...an,1 · · · an,m

x1

...xm

=

b1

...

...bn

,

que se supone es sobre-determinado, es decir, tiene más ecuaciones que incógnitas(n > m). En notación matricial es(1.2) Ax = b.

El vector residuo(1.3) r = Ax− b,

quizá pueda hacerse pequeño con una adecuada elección de x, pero en generalserá distinto de cero. Se trata entonces de hacerlo tan pequeño como se pueda enalgún sentido y lo que se denomina solución mínimo cuadrática minimiza la normaeuclidea del residuo, es decir, el problema se plantea de la siguiente forma:

Dada la matriz A ∈ Rn×m con n > m y el vector b ∈ Rn, sequiere calcular el vector x ∈ Rm que minimize ‖Ax− b‖2.

En Matlab el operador backslash calcula la solución mínimo cuadrática delsistema: x = A\y utilizando algoritmo de después se estudiaran.

2. Ajustes de curvas por mínimos cuadrados

2.1. Rectas de regresión por mínimos cuadrados. Una de las fuentes habi-tuales de problemas de mínimos cuadrados son los problemas de ajustes de curvas.

Em la ciencia y la ingeniería los experimentos producen un conjunto de datos(x1, y1), ..., (xn, yn), com las abscisas {xk} diferentes, y el problema que se planteaes determinar una función y = f(x) que relacione los datos, lo mejor posible emalgún sentido. Evidentemente, el resultado dependerá del tipo de función que seelija, por ejemplo, em la regresión f(x) = ax + b es una recta, y para ajustar losparámetros libres se pueden minimizar uno de los siguientes tres valores:

El error máximo:E∞(f) = max{|f(xk)− yk| : 1 ≤ k ≤ n}.

El error medio:

E1(f) =1n

M∑

k=1

|f(xk)− yk|.

Page 3: ajuste-minimos-cuadrados-math-basic.pdf

PROBLEMAS DE MÍNIMOS CUADRADOS 3

El error medio cuadrático:

E2(f) =

(1n

n∑

k=1

(f(xk)− yk)2)1/2

.

Em el método de mínimos cuadrados el error que se minimiza es el error me-dio cuadrático. Por tanto, la recta de regresión ajusta los parámetros a y b paraminimizar el valor

(2.1) E(a, b) =n∑

k=1

(axk + b− yk)2,

que son la solución del sistema lineal conocido como ecuaciones normales deGauss (

n∑

k=1

x2k

)a +

(n∑

k=1

xk

)b =

n∑

k=1

xkyk,

(n∑

k=1

xk

)a + nb =

n∑

k=1

yk,

cuya obtención se deja como ejercicio para el alumno.

Ejemplo 2.1. La población en los Estados Unidos de América durante el sigloXX ha seguido la evolución indicada en la tabla adjunta, se pide hallar la recta deregresión y pronostican el número de habitante en al año 2010.

año millones de habitantes1900 75.9951910 91.9721920 105.7111930 123.2031940 131.6691950 150.6971960 179.3231970 203.2121980 226.5051990 249.6332000 281.422

El programa lsline.m de [8] resuelve directamente el sistema normal, y la rectade regresión que resulta es:

y = 2,0253x− 3783,9,

que para el año 2010 pronostica 286.912 millones de habitantes. En la �gura 1 seha representado los puntos y la recta de regresión.

Em el ajuste potencial f(x) = axp donde p es una constante conocida, el únicoparámetro libre a debe minimizar

(2.2) E(a) =n∑

k=1

(axpk − yk)2,

Page 4: ajuste-minimos-cuadrados-math-basic.pdf

4 F. VADILLO

1900 1920 1940 1960 1980 2000 20200

50

100

150

200

250

300

350

400

Figura 1. Recta de regresión .

e igualando a cero la derivada se obtiene que

(2.3) a =∑n

k=1 xpkyk∑n

k=1 x2pk

.

2.2. Ajustes de otras curvas por mínimos cuadrados. Suponga que ahorase quieren ajustar los datos (x1, y1), ..., (xn, yn) por el método de mínimos cuadradosusando una curva exponencial(2.4) y = c · eax,

donde a y c son ahora los parámetros a elegir. El valor que se debe minimizar es

(2.5) E(a, c) =n∑

k=1

(c · eaxk − yk)2.

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

c

n∑

k=1

xke2axk −n∑

k=1

xkykeaxk = 0,

c

n∑

k=1

eaxk −n∑

k=1

ykeaxk = 0,

ecuaciones que mo son lineales para las incógnitas a y c com la di�cultad que estosupone.

Page 5: ajuste-minimos-cuadrados-math-basic.pdf

PROBLEMAS DE MÍNIMOS CUADRADOS 5

Otra forma de resolver el mismo problema es por el método de linealizaciónde los datos. Se supone que los datos yk > 0 y se toman logaritmos em (??) paraobtener ln y = ax + ln c. Después se hace el siguiente cambio de variable

u = x, v = ln y, b = ln c,

com lo que resulta la rectav = au + b,

com los datos transformados (uk, vk) = (xk, ln(yk)) para k = 1, ..., m. Problemalineal que ya se sabe resolver.

Ejemplo 2.2. En el ejemplo de la población americana, la aproximación exponen-cial que se obtiene es

(2.6) y = 1,9908 · 10−9 · e0,0129x,

y la estimación en el año 2010 es de 329.9944 millones de habitantes.

1900 1920 1940 1960 1980 2000 20200

50

100

150

200

250

300

350

400

Figura 2. Ajuste exponencial .

La técnica de linealización de los datos se utiliza para ajustar otros tipos decurvas com un cambio de variable adecuado. Por ejemplo, si f(x) = a

x +b el cambioque linealiza el problema es u = 1

x y v = y. Em la siguiente tabla se muestranalgunos cambios de variables para linealizar datos.

Page 6: ajuste-minimos-cuadrados-math-basic.pdf

6 F. VADILLO

Función y = f(x) Cambios de variables

y = ax + b u = 1

x , v = y

y = dx+c u = xy, v = y

y = 1ax+b u = x, v = 1

y

y = xax+b u = 1

x , v = 1y

y = a ln x + b u = ln x, v = y

y = c · eax u = x, v = ln y

y = 1(ax+b)2 u = x, v = 1√

y

y = c · x · edx u = x, v = ln( yx )

y = l1+c·eax u = x, v = ln

(ly − 1

)

2.3. Combinaciones lineales por mínimos cuadrados. El problema de lascombinaciones lineales em mínimos 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 coe�cientes {cj} talesque la función

(2.7) f(x) =m∑

j=1

cjfj(x),

minimice la suma de los cuadrados de los errores

(2.8) E(c1, ..., cm) =n∑

k=1

(f(xk)− yk)2 =n∑

k=1

m∑

j=1

cjfj(xk)

− yk

2

.

Para que la función E sea mínima, es necesarios que ∂E∂ci

= 0 para i = 1, ..., m,lo que equivale a que los coe�cientes cj seam la solución del sistema de ecuacionesnormales de Gauss

(2.9)n∑

k=1

m∑

j=1

cjfj(xk)

− yk

fi(xk) = 0, i = 1, ..., m.

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

(2.10)m∑

j=1

(n∑

k=1

fi(xk)fj(xk)

)cj =

n∑

k=1

fi(xk)yk, i = 1, ...,m.

Page 7: ajuste-minimos-cuadrados-math-basic.pdf

PROBLEMAS DE MÍNIMOS CUADRADOS 7

Este sistema lineal de orden m ×m se puede escribir em notación matricial deforma mas cómoda. De�niendo la matriz y los siguientes vectores

F =

f1(x1) · · · fm(x1)... . . . ...... . . . ...

f1(xn) · · · fm(xn)

, c =

c1

...cm

, y =

y1

...

...yn

,

el sistema de ecuaciones normales es(2.11) FT Fc = FT y,

donde FT indica la matriz transpuesta y la incógnita es el vector c, que es tambiénla solución del sistema sobre-determinado(2.12) Fc = y,

que tiene más ecuaciones que incógnitas porque n > m.Ejemplo 2.3. Siguiendo con el ejemplo de la población americana en el siglo XX,se tratara de ajustar los datos a un polinomio de grados 3(2.13) y ≈ c3x

3 + c2x2 + c1x + c0.

La solución del sistema normal es:c0 = −4,25822238574126, c1 = 0,00802427140030,

c2 = −0,00000496111699, c3 = 0,00000000101028,

con la grá�ca de la �gura 3 que pronostica 312.6913 millones de habitantes para el

1900 1920 1940 1960 1980 2000 20200

50

100

150

200

250

300

350

400

Figura 3. Ajuste con un polinomio de tercer grado.

Page 8: ajuste-minimos-cuadrados-math-basic.pdf

8 F. VADILLO

año 2010.El programa censusgui.m de [1] dibuja ajustes polinomiales de diferentes grados

y calcula la estimación de población para el año 2010.

3. Solución mínimo cuadrática de sistemas sobre-determinadosVolviendo al problema de los sistemas lineales sobre-determinados (1.2), una

forma teórica de calcular su solución mínimo cuadrática es utiliza los sistemasnormales del tipo (2.11), bastaría multiplicar los dos lados por la matriz AT paraobtener 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 parámetros (m fuera pequeña), el sistema normales pequeño por lo que resolverlo sería barato. El siguiente teorema con�rma laconveniencia de resolver los sistemas normales:Teorema 3.1. Sean A ∈ Rn×m y b ∈ Rn dados. Un vector x es la solución delproblema de mínimos cuadrados si y sólo si es solución del sistema norma (3.1).Además, la solución es única si y sólo si A tiene rango m.

Sin embargo, habitualmente los sistemas normales están mal condicionados por-que su número de condición es muy alto, de hecho,(3.2) κ(AT A) = κ(A)2.

Por ejemplo, considerando la matriz

A =

1 1δ 00 δ

,

con δ pequeño pero no cero, sus dos columnas son linealmente independientes aun-que casi paralelas. Sin embargo, la matriz del sistema normal es

AT A =(

1 + δ2 11 1 + δ2

),

que para |δ| < 10−8 computando con aritmética de doble precisión es una matrizsingular que no tiene inversa, y por lo tanto el sistema normal no tiene una solución.

La conclusión de todo esto es que en la práctica los problemas de mínimos cua-drados no se pueden resolver calculando las soluciones de los sistemas normalesasociados (3.1) con los algoritmos habituales.

3.1. Re�ectores de Householder. Los re�ectores de Householder son matri-ces de transformación que se utilizan en algunos de los algoritmos numéricos másimportantes para aproximar autovalores y valores singulares de matrices.

Formalmente, un re�ector de Householder es una matriz de la forma(3.3) H = I − 2uuT ,

donde el vector u ∈ Rn es unitario (‖u‖22 = uT u = 1) e I es la matriz identidad. Acontinuación se listan algunas propiedades de estas matrices:

Page 9: ajuste-minimos-cuadrados-math-basic.pdf

PROBLEMAS DE MÍNIMOS CUADRADOS 9

1. Los re�ectores de Householder son matrices simétricas: HT = H.2. Los re�ectores de Householder son matrices ortogonales: H−1 = HT =⇒

H2 = I.3. Hu = u− 2uuT u = −u.4. Si v es un vector ortogonal al vector u, entonces Hv = v − 2uuT v = v.

Geométricamente es fácil observar que el re�ector H a cada vector de Rn le llevaa su re�exión respecto del hiperplano ortogonal al vector u que lo de�ne.

La propiedad que se utiliza en el posterior algoritmo se recoge en el siguienteteorema:

Teorema 3.2. Para todo par de vectores x,y ∈ Rn con las misma norma euclídea,el re�ector construido con el vector u = x−y

‖x−y‖2 lleva un vector en el otro.

En la práctica, dado un vector x ∈ Rn, se utiliza un re�ector para llevar lo aotro vector con sólo una componente no nula, lo detalles de la implementación sepueden consultar en [7].

3.2. La factorización QR de una matriz. Unos de los métodos clásicos pararesolver sistemas sobre-determinados utiliza la factorización QR de la matriz A delsistema. La idea consiste en escribir A = Q ·R donde Q es una matriz ortogonal yR es una matriz con todos ceros por debajo de la diagonal principal.

Para construir dicha factorización se utiliza el teorema 3.2 aplicando una sucesiónde re�ectores de Householder que van anulando todos los elementos de la matrizpor debajo de la diagonal principal con el resultado �nal

(3.4) Hm · · ·H2H1A = R,

donde la matriz R de n×m tiene todo cero por debajo de la diagonal y las matricesHi son todas ortogonales porque son re�ectores. La factorización que resulta es

(3.5) A = Q ·R, con Q = (Hm · · ·H2H1)T .

Aplicando al término derecho del sistema sobre-determinado (1.2) las mismastransformaciones se tiene

(3.6) Rx = (Hm · · ·H2H1)b,

que es un sistema triangular superior de m ecuaciones que se resuelve con unasustitución regresiva.

El algoritmo de resolución es el siguiente:

1. Computa la factorización QR de la matriz A = QR.2. Computa el vector Qb.3. Resuelve el sistema triangular superior Rx = Qb.

Los detalles para la implementación del algoritmo QR se pueden consultar entextos clásicos como [5], [6], [3], [2],[4] o [7].

El programa qrsteps.m de la referencia [1] muestra paso a paso como se cons-truye la factorización QR de cualquier matriz.

Page 10: ajuste-minimos-cuadrados-math-basic.pdf

10 F. VADILLO

3.3. Pseudoinversa de una matriz. El concepto de pseudoinversa de una ma-triz debido a Moore y Penrose generaliza y extiendo el clásico concepto de matrizinversa de una matriz cuadrada.

Sea A una matriz n ×m con n > m de rango m, su pseudoinversa es la matrizque aparece en las ecuaciones normales(3.7) A† = (AT A)−1AT ,

que es una matriz m× n.Según esta de�nición, si la matriz B fuera cuadrada no singular

(3.8) B† = (BT B)−1BT = B−1(BT )−1BT = B−1.

La matriz pseudoinversa tiene propiedades, aunque no todas, que recuerda lamatriz inversa ordinaria, por ejemplo(3.9) A†A = (AT A)−1AT A = I,

que indica que es la inversa por la izquierda, pero no así por la derecha porque(3.10) AA† = A(AT A)−1AT .

Otra propiedad importante de la pseudoinversa es que se trata de la mejor apro-ximación a la inversa por la derecha en el sentido de que minimiza el residuo conrespecto a la norma de Frobenius. La norma de Frobenius de la matriz A se de�nela siguiente forma:

(3.11) ‖A‖F =

i

j

a2i,j

1/2

,

y lo que se demuestra es que(3.12) A† = mın

Z‖AZ − I‖F .

En relación con el problema que se plantea: calcular la solución mínimo cuadrá-tica 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 solución sereduce a un simple producto matricial porque la solución mínimo cuadrática es(3.13) x = (AT A)−1AT b = A†b.

Los algoritmos para calcular pseudoinversas de matrices utilizan la descomposi-ción valores singulares que resumimos muy brevemente a continuación.

3.4. Descomposición valores singulares de una matriz. Dada una matrizA ∈ Rn×m con n ≥ m siempre tiene una descomposición en valores singular SVD(singular values decomposition) tal que(3.14) A = UΣV T , Σ = diag(σ1, ..., σm) ∈ Rn×m,

donde U ∈ Rn×n y V ∈ Rm×m son matrices ortogonales. Los valores σ1 ≥ .... ≥σm ≥ 0 son los valores singulares de la matriz A y las columnas de U y Vson los vectores singulares por la izquierda y por la derecha respectivamente de lamatriz A.

En el siguiente cuadro se recogen algunas propiedades interesantes de los valoressingulares de una matriz cuyas demostraciones se pueden consultar en la página 33de la referencia [5].

Page 11: ajuste-minimos-cuadrados-math-basic.pdf

PROBLEMAS DE MÍNIMOS CUADRADOS 11

1. El rango de A es r, el numero de valores singulares no nulos.2. ‖A‖2 = σ1 y ‖A‖F =

√σ2

1 + · · ·σ2r .

3. Los valores singulares de A no cero, son las raíces cuadradas los autovaloresno nulos de AT A.

4. Si A ∈ Rn×n entonces |det(A)| = ∏ni=1 σi.

5. Si A = AT sus valores singulares son los valores absolutos de los autovaloresde A.

En los que se re�ere a la pseudoinversa de la matriz, el resultado que interesa esel siguiente:

Teorema 3.3. Si en la descomposición valores singulares de la matriz A

Σ =(

D 00 0

), D = diag(σ1, · · · , σr), σ1 ≥ · · · ≥ σr > 0,

entoncesA† = V Σ+UT , donde Σ+ =

(D−1 0

0 0

),

Los algoritmos que calculan la descomposición valores singulares de una matrizson muy técnicos 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 condichos algoritmos.

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

A =

1 2 34 5 67 8 910 11 1213 14 15

, b =

1617181920

,

donde la matriz A tiene rango 2 lo mismo que el rango de la matriz ampliada porlo que la solución no es única.

Utilizando el backslash A\y la ejecución produce un warning y la solución quese obtiene es

x =

−7,5000

07,8333

.

Por otra parte, calculando x = A†b la solución es

z =

−7,55560,11117,7778

.

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

Page 12: ajuste-minimos-cuadrados-math-basic.pdf

12 F. VADILLO

4. Ejercicios1. Deduzca las ecuaciones normales de Gauss para la recta de regresión.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 parámetros si han tomadolas siguientes mediciones

t 0 2 4 6 8 10H(t) 1.0 1.6 1.4 0.6 0.2 0.8

3. Para conocer la relación entre la velocidad de caída de un paracaidista y lafuerza de fricción hacia arriba, se han efectuado las siguientes mediciones

v 1.0 2.0 3.0 4.0 5.0f 5 15.3 29.3 46.4 66.3

donde v se mide en centímetros por segundo y rozamiento f en 106 dinas.Dibuje los puntos de la tabla y decida que aproximación mínimo cuadráticale conviene.

4. En 1601 el astrónomo alemán J.Kepler formulo su tercera ley del movi-miento planetario: T = c · d3/2 donde d es la distancia de un planeta al solmedida en millones de kilómetros, T es el periodo orbital en días y c es unaconstante. Los datos observados para los cuatro planetas Mercurio, Venus,Tierra y Marte son:

di 58 108 155 228Ti 88 225 365 687

Ajuste el valor de c para estos datos en el sentido de los mínimos cuadrados.5. Deduzca las ecuaciones normales para ajustar por mínimos cuadrados el

plano z = a + bx + cy a los datos {(xi, yi, zi)}ni=1.

6. Cuando una población P (t) no puede crecer más de un cierto valor límiteL, la grá�ca de la función P (t) es una curva llamada curva logística deecuación y = L/(1 + ceat). Ajuste los valores de c y a para L = 1000 y latabla

t 0 1 2 3 4P (t) 200 400 650 850 950

7. Estime el peso atómico del nitrógeno y el oxígeno utilizando los pesos mo-leculares de los siguientes óxidos

NO = 30,006 N2O = 44,013 NO2 = 46,006N2O3 = 76,012 N2O5 = 108,010 N2O4 = 92,011

8. Demuestre el teorema 3.1.9. Demuestre el teorema 3.2.

Page 13: ajuste-minimos-cuadrados-math-basic.pdf

PROBLEMAS DE MÍNIMOS CUADRADOS 13

Referencias1. 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, Métodos numéricos con matlab. tercera edición, Prentice Hall, 1999.

Dep. Matemática Aplicada y Estadística de la Universidad del Pais VascoE-mail address: [email protected]