Está en la página 1de 22

Problemas de

Mı́nimos Cuadrados

• Ajuste de curvas.
• Sistemas rectangulares: Solución en el sentido de mı́nimos cuadrados. Ecuaciones
normales.

• Ortogonalización: Gram-Schmidt. Factorización QR.


• Problemas de cuadrados mı́nimos no lineales: Reducción a problemas lineales.

521230 -1- ´
DIM – Universidad de Concepcion
Considere un sistema rectangular de ecuaciones

Ax = b

donde A ∈ Rm×n , con n < m, es una matriz rectangular de m filas y n columnas y


b ∈ Rm .

Este problema, en general, no tiene solución: sistema sobredeterminado.

Una alternativa es buscar una solución en el sentido generalizado siguiente:

Hallar x ∈ Rn tal que kb − Axk2 sea mı́nima.

Definición. El vector x que minimiza kb − Axk2 es la solución en el sentido de mı́nimos


cuadrados del sistema rectangular.

Ojo! En general:
Ax 6= b.

521230 -2- ´
DIM – Universidad de Concepcion
Ejemplo. Ajuste de polinomios.

Dado un conjunto de puntos


(x1 , y1 ), . . . , (xm , ym ),
nos proponemos encontrar el polinomio

p(x) = c0 + c1 x + . . . + cn−1 xn−1 ,

con n < m que esté más cerca de estos puntos en el sentido que
m
X
|p(xi ) − yi |2 ,
i=1

sea mı́nima.

521230 -3- ´
DIM – Universidad de Concepcion
Esta suma de cuadrados es el cuadrado de la norma del residuo del sistema rectangular:

   
1 x1 ... x1n−1   y1
 
n−1 
c0  
1 x2 ... x2     y2 
c1 
   
x3n−1 
   
1 x3 ... 
 =  y3 

.
.

 
 .   .  
. .. ..   . 
 .. . .   .. 
c
   
n−1 n−1
1 xm . . . xm ym

521230 -4- ´
DIM – Universidad de Concepcion
Teorema. Sean A ∈ Rm×n (m ≥ n) y b ∈ Rm . Un vector x ∈ Rn minimiza la norma del
residuo krk2 = kb − Axk2 si y sólo si el residuo r es ortogonal a la imagen de A; esto es
si
At r = 0,
t
donde A es la matriz transpuesta de A.

521230 -5- ´
DIM – Universidad de Concepcion
Consecuencia: x debe satisfacer

At r = 0 ⇐⇒ At (b − Ax) = 0 ⇐⇒ At Ax = At b.

Estas últimas ecuaciones reciben el nombre de ecuaciones normales.

Observación: En el caso en que m = n y que la matriz A sea una matriz no singular,


entonces las ecuaciones normales entregan como solución la solución del sistema lineal
Ax = b.

521230 -6- ´
DIM – Universidad de Concepcion
Las ecuaciones normales tienen solución única si y sólo si todas las columnas de A son l.i.;
es decir, si rango(A) = n.

t
En este caso, además, la matriz A A es simétrica y definida positiva, de donde, las
ecuaciones normales tienen solución única y se pueden utilizar los métodos estudiados para
estas matrices, en particular, el método de Cholesky.

521230 -7- ´
DIM – Universidad de Concepcion
Para resolver las ecuaciones normales se puede proceder del siguiente modo:
t
1. Calcular la matriz A A y el vector At b.
2. Obtener la matriz L de la factorización de Cholesky: At A = LLt .
3. Resolver el sistema triangular inferior Ly = At b.
t
4. Resolver el sistema triangular superior L x = y.

521230 -8- ´
DIM – Universidad de Concepcion
t
Inconveniente: El condicionamiento de la matriz A A es en general malo, lo que genera
gran sensibilidad respecto a errores de redondeo.
t
Por ejemplo, si A es cuadrada, entonces cond2 (A A) = cond2 (A)2 .

Solución: factorización QR. Ortogonalizar las columnas de A mediante, por ejemplo,


Gram-Schmidt.

Para esto, escribamos:


 
 
 
 
  m×n
A=
a 1 a2 . . . an 
 ∈ R
 
 
 

donde ai ∈ Rm , i = 1, 2, . . . , n, son las columnas de la matriz A.

521230 -9- ´
DIM – Universidad de Concepcion
La idea es construir una matriz
 
 
 
 
  m×n
Q=
 q1 q2 . . . qn 
 ∈ R
 
 
 

y una matriz triangular superior


 
r11 r12 ... r1n
 
0 r22 . . . r2n  n×n
R= . ∈ R ,
 
 .. .. .. .. 

 . . . 

0 ... 0 rnn
tales que
A = QR.

521230 - 10 - ´
DIM – Universidad de Concepcion


 a1 = r11 q 1 ,


 a2 = r12 q 1 + r22 q 2 ,

A = QR ⇐⇒ ..
.





an = r1n q 1 + r2n q 2 + . . . + rnn q n .

Q y R se pueden construir mediante el proceso de ortogonalización de Gram-Schmidt:

Para j = 1, . . . , n :


para i = 1, . . . , j − 1 :

rij = q ti aj ,



j−1

X
rjj = a j − rij q i ,


i=1

2

j−1
!
1
X
qj = aj − rij q i .


rjj i=1

521230 - 11 - ´
DIM – Universidad de Concepcion
Las columnas de Q son vectores ortonormales:

 1 si i = j,
q ti q j = δij =
 0 si i 6= j,

de donde la matriz Q satisface


 
 
q t1  
  
q t2
  
t
  
Q Q=
 ..
q
 1 q2  = I.
. . . qn 
 .  
  
q tn
 

Si rango(A) = n, entonces el proceso de ortogonalización de Gram-Schmidt genera una


matriz R no singular.

521230 - 12 - ´
DIM – Universidad de Concepcion
Aplicación a la resolución de las ecuaciones normales.

Para resolver el sistema de ecuaciones normales:

At Ax = At b,


 A = QR,


como Qt Q = I y


R es no singular,

entonces:

At Ax = At b ⇐⇒ Rt Qt QRx = Rt Qt b
⇐⇒ Rt Rx = Rt Qt b
⇐⇒ Rx = Qt b.

521230 - 13 - ´
DIM – Universidad de Concepcion
Cuando A ∈ Rm×n es una matriz rectangular y b ∈ Rm , el comando MATLAB

x=A\b;

devuelve la solución del sistema rectangular en el sentido de mı́nimos cuadrados.

MATLAB obtiene esta solución mediante el método QR, pero las matrices Q y R no se
obtienen mediante Gram-Schmidt, sino mediante transformaciones de Householder que
propagan menos los errores de redondeo.

521230 - 14 - ´
DIM – Universidad de Concepcion
x y

0.0 10.5000

0.5 5.4844
Ejemplo 1. Un problema de aproximación polinomial.
1.0 0.0000

1.5 -3.6094

Considere la siguiente tabla de valores: 2.0 -4.5000

2.5 -2.9531

3.0 0.0000
Se pide ajustar estos datos en el sentido de mı́nimos
3.5 2.9531
cuadrados por un polinomio de grado 3.
4.0 4.5000

4.5 3.6094

5.0 0.0000

521230 - 15 - ´
DIM – Universidad de Concepcion
Solución.
Nuestro problema se reduce a encontrar constantes a, b, c y d para formar el polinomio

p(x) = ax3 + bx2 + cx + d.

Evaluamos el polinomio p en los diferentes valores x de la tabla, obteniendo ası́ el sistema


lineal rectangular con incógnitas a, b, c y d:

521230 - 16 - ´
DIM – Universidad de Concepcion
0 1 0 1
0.0000 0.0000 0.0000 1.0000 10.5000
B C B C
B 0.1250 0.2500 0.5000 1.0000C B 5.4844 C
B C B C
B C B C
B 1.0000 1.0000 1.0000 1.0000C B 0.0000 C
B C B C
B C B C
B 3.3750 2.2500 1.5000 1.0000C 0 1 B−3.6094C
B C a B C
B C B C
B 8.0000 4.0000 2.0000 1.0000C B C B−4.5000C
B C BbC B C
B CB C B C
B 15.6250 6.2500 2.5000 1.0000C B C = B−2.9531C
B C BcC B C
B C@ A B C
B 27.0000 9.0000 3.0000 1.0000C B 0.0000 C
B C d B C
B C B C
B 42.8750 12.2500 3.5000 1.0000C | {z } B 2.9531 C
B C B C
C x
B 64.0000 16.0000 4.0000 1.0000C B 4.5000 C
B B C
B C B C
B 91.1250 20.2500 4.5000 1.0000C B 3.6094 C
@ A @ A
125.0000 25.0000 5.0000 1.0000 0.0000
| {z } | {z }
A b

521230 - 17 - ´
DIM – Universidad de Concepcion
Resolviendo el sistema rectangular en el sentido de mı́nimos cuadrados se obtiene el
polinomio:
p(x) = −0.9583x3 + 8.5x2 − 20.7917x + 12.

12
Mediciones
Minimos cuadrados
10

−2

−4

−6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

521230 - 18 - ´
DIM – Universidad de Concepcion
Ejemplo 2. Un problema no lineal reducible a lineal.

Considere la siguiente tabla de valores

x 0.0000 0.4000 0.8000 1.2000 1.6000 2.0000

y 3.1437 4.4169 6.0203 8.6512 11.0078 16.2161

Se quiere ajustar una función


f (x) = aebx
a estos datos en el sentido de mı́nimos cuadrados.

Solución.

Tomando logaritmos se transforma en un problema lineal de cuadrados mı́nimos:

z = ln(y) = ln(f (x)) = ln(a) + bx.

521230 - 19 - ´
DIM – Universidad de Concepcion
x 0.0000 0.4000 0.8000 1.2000 1.6000 2.0000

z = ln(y) 1.1454 1.4854 1.7951 2.1577 2.3986 2.7860

0 1 0 1
1 0.0000 1.1454
B C B C
B1
B 0.4000C
C0 1
B1.4854C
B C
B C B C
B1 0.8000C B1.7951C
B C @ln(a)A B C
B
B1
C = B C
B 1.2000C
C b B2.1577C
B C
B C | {z } B C
B1 1.6000C B2.3986C
@ A x @ A
1 2.0000 2.7860
| {z } | {z }
A b

521230 - 20 - ´
DIM – Universidad de Concepcion
Resolvemos el problema de cuadrados mı́nimos y obtenemos:

ln(a) = 1.1539 =⇒ a = e1.1539 = 3.1705 y b = 0.8075.


Por lo tanto
f (x) = 3.1705e0.8075x .

18
Mediciones
Minimos cuadrados

16

14

12

10

2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

521230 - 21 - ´
DIM – Universidad de Concepcion
Otros ejemplos de modelos no lineales reducibles a lineales

at−bt2
• f (t) = ce : en este caso, se aplica logaritmo.

a
• f (t) = : en este caso se toman los recı́procos.
b+t

k0
• f (t) = , donde k0 es una constante conocida: en este caso se toman
1 + ae−ct
recı́procos, se resta 1 y después se aplica logaritmo.

521230 - 22 - ´
DIM – Universidad de Concepcion

También podría gustarte