método de mínimos cuadrados (continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf ·...

27
Clase No. 11: Método de mínimos cuadrados (Continuación) MAT–251 Dr. Alonso Ramírez Manzanares CIMAT A.C. e-mail: alram@ cimat.mx web: http://www.cimat.mx/salram/met_num/ Dr. Joaquín Peña Acevedo CIMAT A.C. e-mail: joaquin@ cimat.mx Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 1 / 25

Upload: hoangdat

Post on 10-Oct-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Clase No. 11:

Método de mínimos cuadrados(Continuación)

MAT–251 Dr. Alonso Ramírez ManzanaresCIMAT A.C.e-mail: [email protected]: http://www.cimat.mx/salram/met_num/

Dr. Joaquín Peña AcevedoCIMAT A.C.e-mail: [email protected]

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 1 / 25

Page 2: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Gradientes de formas lineales y cuadráticas

Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).

∇(c>x) = c

∇(x>Ax) = (A+A>)x

De lo anterior se sigue que el gradiente del error

E(x) = ‖Ax − b‖22es

∇E(x) = 2A>Ax − 2A>b

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 2 / 25

Page 3: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Gradientes de formas lineales y cuadráticas

Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).

∇(c>x) = c

∇(x>Ax) = (A+A>)x

De lo anterior se sigue que el gradiente del error

E(x) = ‖Ax − b‖22es

∇E(x) = 2A>Ax − 2A>b

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 2 / 25

Page 4: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Gradientes de formas lineales y cuadráticas

Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).

∇(c>x) = c

∇(x>Ax) = (A+A>)x

De lo anterior se sigue que el gradiente del error

E(x) = ‖Ax − b‖22es

∇E(x) = 2A>Ax − 2A>b

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 2 / 25

Page 5: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Caso particular: Ajuste de una recta (I)

Tenemos m puntos {(xi,yi)} y queremos hallar una recta que mejor losaproxime:

1.5

2

2.5

3

3.5

4

4.5

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 3 / 25

Page 6: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Caso particular: Ajuste de una recta (II)

Esto es, queremos determinar la pendiente a y la ordenada al origen b talesque

yi = axi + b+ εi, i = 1,2, ...,m

Si definimos

A =

x1 1x2 1...

...xm 1

, x =

ab

, y =

y1y2...ym

, ε =

ε1ε2...εm

Entonces ε = y − Ax y podemos reescribir E(a,b) como

E(a,b) =m∑

i=1

ε2i = ‖ε‖22 = ‖Ax − y‖22

E(a,b) = (Ax − y)>(Ax − y) = (x>A> − y>)(Ax − y)

= x>A>Ax − 2y>Ax+y>y

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 4 / 25

Page 7: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Caso particular: Ajuste de una recta (III)

Entonces

∇E = 0 =⇒ A>Ax = A>y

Para nuestro ejemplo, tenemos que m = 50, por lo que A ∈ R50×2.Además, det(A>A) = 214.05, por lo que el sistema tiene solución única:

x =

3.09511.4438

En realidad, los datos fueron generados tomando puntos sobre la recta cona = 3.0 y b = 1.5 y agregándoles ruido.

En la siguiente gráfica se muestra en azul la recta obtenida por mínimoscuadrados

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 5 / 25

Page 8: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Caso particular: Ajuste de una recta (IV)

1.5

2

2.5

3

3.5

4

4.5

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 6 / 25

Page 9: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Planteamiento general del caso lineal (I)

Tenemos n parámetros q1,q2, ...,qn. Para i = 1,2, ...,m, se quiere relacionaruna combinación de valores (qi1,qi2, ...,qin) con una observación yimediante un modelo lineal:

yi = c1qi1 + · · ·+ cnqin + εi

donde εi es un error que tiene el modelo. Entonces

εi = yi −n∑

j=1

cjqij

Queremos calcular los coeficientes cj minimizando los errores εi. Unamanera es resolver el problema

mincj

1≤j≤n

E(c1, ...,cn) =m∑

i=1

ε2i =

m∑

i=1

yi −n∑

j=1

cjqij

!2

Si definimos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 7 / 25

Page 10: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Planteamiento general del caso lineal (II)

A =

q11 q12 · · · q1nq21 q22 · · · q2n

......

. . ....

qm1 qm2 · · · qmn

, c =

c1c2...cn

, y =

y1y2...ym

ε =

ε1ε2...εm

Entonces

y = Ac+ ε

mincj

1≤j≤n

E(c) =m∑

i=1

ε2i = ε>ε = (y − Ac)>(y − Ac)

Calculamos el gradiente de E(c) y encontramos el vector c para el cual∇E(c) = 0.Se puede ver que la solución se obtiene resolviendo el sistema lineal

A>Ac = A>y.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 8 / 25

Page 11: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Observación (I)

Una sola observación atípica puede cambiar la solución del problema:

1.5

2

2.5

3

3.5

4

4.5

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 9 / 25

Page 12: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Observación (II)

-20

-15

-10

-5

0

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 10 / 25

Page 13: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Observación (III)

Para evitar esto, se puede agregar un peso wi > 0 a cada termino de lasuma de cuadrados:

E(a,b) =m∑

i=1

wi(axi + b− yi)2

de modo que a los términos que introducen errores grandes se les da unmenor peso.

Esto nos lleva a un problema de mínimos cuadrados pesados.En el ejemplo, cuando todos los pesos son wi = 1, se tiene

a∗ = 0.99654, b∗ = 2.14316

Si hacemos w48 = 0.001, se obtiene

a∗ = 3.0876, b∗ = 1.4463

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 11 / 25

Page 14: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Observación (IV)

-20

-15

-10

-5

0

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 12 / 25

Page 15: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ejemplo de mínimos cuadrados pesados (I)

Para los datos que se muestran en la gráfica se ajusta una recta usando elmétodo ordinario. Después definimos los pesos wi de acuerdo a lasdistancia de los datos a la recta (en falso color se indica el valor del peso)

−2 −1 0 1 2

−2

02

46

810

Y

●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●● ●

● ●

●●

● ●

●●

●●

●●

Iteracion 1

0.0

0.2

0.4

0.6

0.8

1.0Pesos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 13 / 25

Page 16: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ejemplo de mínimos cuadrados pesados (II)

Dado los pesos, resolvemos el problema usando el método de mínimoscuadrados pesados.Despues volvemos a recalcular los pesos.

−2 −1 0 1 2

−2

02

46

810

Y

●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●● ●

● ●

●●

● ●

●●

●●

●●

Iteracion 5

0.0

0.2

0.4

0.6

0.8

1.0Pesos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 14 / 25

Page 17: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ejemplo de mínimos cuadrados pesados (III)

Continuamos de este modo hasta que la solución ya no cambia.

−2 −1 0 1 2

−2

02

46

810

Y

●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●● ●

● ●

●●

● ●

●●

●●

●●

Iteracion 15

0.0

0.2

0.4

0.6

0.8

1.0Pesos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 15 / 25

Page 18: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Lo que NO estamos haciendo

No es que es estemos planteando resolver el sistema sobredeterminado

Ac = y

y para resolverlo multiplicamos por A> ambos miembros de la ecuación.Lo que pasa es que el sistema puede ser inconsistente, por lo que puedeque no exista c que cumpla la igualdad.

Para el ejemplo inicial, tenemos que con

a∗ = 3.0951, b∗ = 1.4438.

se tiene un error

E(a,b) = 0.82919

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 16 / 25

Page 19: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Lo que SÍ estamos haciendo

Notemos que el vectorA>y

tiene las proyecciones de y sobre las columnas de la matrizA = [a1 a2 · · · an]:

A>y =

a>1

a>2...a>n

y =

a>1y

a>2y

...a>ny

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 17 / 25

Page 20: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ajuste de datos 1D (I)

Tenemos un conjunto de datos {(xk,yk)}mk=1.

Queremos encontrar una función f (x) cuya gráfica pase cerca de lospuntos dados.

● ●●

●●

● ●

●●

●●

●●

●●

● ●

●●

● ●

−3 −2 −1 0 1 2

−0.

50.

00.

51.

0

x

y

●●

●●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

●●

●●

● ●

−3 −2 −1 0 1 2

−0.

50.

00.

51.

0

x

y

Tenemos un conjunto de datos {(xk,yk)}mk=1.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 18 / 25

Page 21: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ajuste de datos 1D (II)

Queremos encontrar una función f (x) cuya gráfica pase cerca de lospuntos dados.

−3 −2 −1 0 1 2

−0.

50.

00.

51.

0

x

y

● ●●

●●

● ●

●●

●●

●●

●●

● ●

●●

● ●

−3 −2 −1 0 1 2

−0.

50.

00.

51.

0

x

y

●●

●●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

●●

●●

● ●

Primero hay que decir a que nos referimos con "cerca". Lo podemos definiren el sentido de mínimos cuadrados:

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 19 / 25

Page 22: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ajuste de datos 1D (III)

minf

1

2

m∑

k=1

[ f (xk)− yk ]2 (1)

Observaciones:

Si xk 6= xj para k 6= j, hay una infinidad de funciones cuya gráfica pasapor los por los puntos.

Si existen k 6= j, tales que xk = xj y yk 6= yj, entonces no existe unafunción cuya gráfica pase por los puntos dados.

Para simplificar el problema, podemos restringir el espacio de solución acierto tipo de funciones:

f (x) =n∑

j=1

αjϕj(x). (2)

Sustituyendo en (1), tenemos

E =1

2

m∑

k=1

[f (xk)− yk]2 =1

2

m∑

k=1

n∑

j=1

αjϕj(xk)− yk

2

.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 20 / 25

Page 23: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ajuste de datos 1D (IV)

Derivando respecto a αi, se tiene

∂E

∂αi=

m∑

k=1

n∑

j=1

αjϕj(xk)− yk

ϕi(xk).

Para cada i, queremos los valores aj que hacen ∂E∂αi

= 0. Esto es

n∑

j=1

m∑

k=1

ϕj(xk)ϕi(xk)

αj =m∑

k=1

ϕi(xk)yk.

Para obtener directamente la expresión de la solución hay que notar quepara cada i, se tiene que el error está dado por

εi = f (xi)− yi =n∑

j=1

αjϕj(xi)− yi

Si

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 21 / 25

Page 24: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ajuste de datos 1D (V)

Φ =

ϕ1(x1) ϕ2(x1) · · · ϕn(x1)ϕ1(x2) ϕ2(x2) · · · ϕn(x2)

......

. . ....

ϕ1(xm) ϕ2(xm) · · · ϕn(xm)

, y =

y1y2...yn

, α =

α1α2...αn

,

el vector de errores se expresa como

ε =

ε1...εm

= Φα − y

Queremos minimizar

E = ‖ε‖22 = ε>ε = (Φα − y)>(Φα − y)

Calculamos el gradiente de E y lo igualamos a cero. Con esto obtenemosque el sistema lineal que hay que resolver para obtener la solución demínimos cuadrados:

Φ>Φα = Φ>y.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 22 / 25

Page 25: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ajuste de datos 1D (VI)

Sólo falta es seleccionar las funciones ϕj(x).Por ejemplo, seleccionamos las funciones:

ϕj(x) = exp(−γ(x− cj)2)

−3 −2 −1 0 1 2 3

0.0

0.2

0.4

0.6

0.8

1.0

c(a0, a1)

c(0,

1.1

)

γ = 1

γ = 5

−3 −2 −1 0 1 2 3

0.0

0.2

0.4

0.6

0.8

1.0

c(a0 − 0.1, a1 + 0.1)

c(0,

1)

φ1 φ2 φ3 φ4 φ5

Ejemplos:

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 23 / 25

Page 26: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ajuste de datos 1D (VII)

Para m = 80 puntos en los que xi ∈ [−3,2.5] y usando n = 6 funcionesGaussianas ϕj(x) distribuidas con uniformemente es ese intervalo, seobtiene el siguiente resultado cuando no hay ruido en los datos:

-0.5

0.0

0.5

1.0

-3 -2 -1 0 1 2 3

Si agregamos ruido a los datos, resolvemos el problema de mínimoscuadrados para encontrar α, y evaluamos la función f (x) resultante en elintervalo [−3,2.5] y obtenemos la curva roja.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 24 / 25

Page 27: Método de mínimos cuadrados (Continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf · Caso particular: Ajuste de una recta(I) ... En la siguiente gráfica se muestra

Ajuste de datos 1D (VIII)

-1.0

-0.5

0.0

0.5

1.0

1.5

-3 -2 -1 0 1 2 3

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 25 / 25