Mínimos cuadrados
Análisis Numérico
Ursula Iturrarán-‐Viveros
Modelos y ajuste de curvas
• El término de mínimos cuadrados se usa para describir como resolver sistemas de ecuaciones sobre-‐determinados.
• En lugar de resolver exactamente buscamos solo minimizar la suma de los cuadrados de los
residuales.
• Las técnicas computacionales para problemas de
mínimos cuadrados hacen uso de factorizaciones de matrices ortogonales.
Modelos de ajuste
• Sea t una variable independiente y sea y(t) una
función desconocida de t que queremos aproximar.
• Asumamos que hay m observaciones . i.e. y esta medida en los valores que se especifican para t:
• La idea es modelar y(t) por una combinación lineal de n funciones:
• La matriz X es una matriz rectangular de tamaño mxn con elementos:
€
yi = y(ti), i = 1,...,m
€
y(t) ≈ β1φ1(t) + ...+ βnφn(t)
€
xi, j = φ j (ti)
Modelos de ajuste
• Usalmente la matriz X Oene mas renglones que columnas. En notación vectorial, el model es:
• Las bases de funciones ϕj(t) pueden ser funciones no lienales de t, pero los parámetros βj apraecen en el modelo de forma lineal.
• En Matlab el operador “\” calcula la solución de mínimos cuadrados del sistema:
• beta=X\y
• Las bases de funciones ϕj(t) pueden involucrar algunos parametros α1,…,αp. El problema es separable si
involucra tanto parámetros lineales como no lineales.
€
y ≈ Xβ
Modelos de ajuste
• Algunos modelos comunes incluyen:
• Linea recta. Si el modelo es lineal en t:
• Polinomios. Los coeficientes βj aparecen linealmente:
• Funciones racionales. Los coeficientes del
numerador aparecen linealmente, los coeficientes del denominador apraecen no linealmente:
€
y(t) ≈ β1t + β2
€
φ j (t) = tn − j, j = 1,...,n
y(t) = β1tn −1 + ...+ βn −1t + βn
Modelos de ajuste
• Exponenciales. Las tasas de decaimiento λj aparecen no linealmente:
• Gaussianas. Las medias y las varianzas aparecen no linealmente:
€
φ j(t) = tn − j
α1tn −1 + ...+ αn −1t + αn y(t) ≈ β1tn −1 + ...+ βn −1t + βn
α1tn −1 + ...+ αn −1t + αn
€
φ j (t) = e−λjt,
y(t) = β1e−λ1t + ...+ βne−λnt
Modelos de ajuste
€
φ j(t) = e
− t −µj σ j
⎛
⎝
⎜ ⎜
⎞
⎠
⎟ ⎟
2
y(t) = β1e
− t −µ1 σ1
⎛
⎝ ⎜ ⎞
⎠ ⎟
2
+ ...+ βne
− t −µn σn
⎛
⎝ ⎜ ⎞
⎠ ⎟
2
Residuales
• Los residuales son las diferencias entre las observaciones y el modelo:
• En notación vectorial:
• Queremos encontrar α’s y β’s que hagan el residual lo más pequeño posible. Que significa “pequeño”:
Hay varias posibilidades
• Interpolación. Si el número de parámetros es igual al número de observaciones, podemos tener
residuales cero. Para problemas lineales, esto
significa que m=n y que X es una matriz cuadrada.
€
ri = yi − βjφ j (ti,α)
j =1 n
∑
, i = 1,...,m€
r = y − X(α)β
Residuales
• Si la matriz X es no singular entonces β’s son las soluciones del sistema cuadrado de ecuaciones lineales:
• Mínimos cuadrados. Minimizar la suma de los cuadrados de los residuales:
• Mínimos cuadrados ponderados. Si algunas
observaciones son más importantes que otras o más precisas entonces podemos asociar los
diferentes pesos wj con diferentes obseraciones y minimizar:
€
β = X \ y
€
r 2 = ri2
i=1 m
∑
€
r w2 = wiri2
i=1 m
∑
Residuales y normas
• Por ejemplo si el error en la i-‐ésima observación es aproximadamente ei, entonces escogemos wi=1/ei.
• La norma 1 minimiza la suma de los valores aboslutos de los residuales:
• La norma-‐infinito minimiza el residual más grande:
€
r 1 = ri
i=1 m
∑
€
r ∞ = max
i ri
Ejemplo
• Tenemos los datos de la población de Estados Unidos determinada por censos de los años
1900-‐2000. La unidades son millones de personas:
• Años de censo:
• t = (1900:10:2000)';
• Población reportada:
p= = [ 75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633
281.422]';
Ejemplo
• Obtenemos los siguientes resultados para predecir la poblacion en el año t=2010 con un polinomio
cubico:
• Hay cuatro coeficientes por determinar, que aparecen linealmente.
• Numericamente es una mala idea usar potencias de t para las funciones base. La matriz estará mal
escalada y sus columnas serán casi linealmente dependientes. Una mase mejor esta dada por las potencias transladadas y escaladas de t:
€
y = β1t3 + β2t2 + β3t + β4
€
s = (t −1950) /50
Ejemplo
• Obtenemos los siguientes resultados para predecir la poblacion en el año 2010:
Matrices de Householder
• La matriz de Householder es una matriz de la forma:
• donde u es cualquier vector diferente de cero y ρ=2/ΙΙuΙΙ2.
• La canOdad uuT es una matriz de rango 1, donde
cada columna es un múlOplo de u y cada renglón es un múlOplo de uT.
• La matriz resultante H es simétrica y ortogonal:
• En la prácOca H nunca se forma. En lugar de esto se calcula la aplicación de H a un vector x:
€
H = I − ρuuT
€
HT = H y HT H = H2 = I
Matrices de Householder
• Geometricamente el vector x se proyecta en u.
€
τ = ρuT x, Hx = x - τu = x - ρuT xu
Matrices de reflexión Householder
• La matriz H transforma cualquier vector en su imagen espejo. Para cualquier vector x, el punto medio entre x y Hx es el vector:
• que esta en la recta uL. En mas de dos dimensiones uL es el plano perpendicular al vector u.
• Que pasa si u bisecta el angulo entre x y uno de los ejes. El vector resultante Hx Cae en uno de los ejes y todas las componentes de Hx son cero excepto una.
• Como H es ortogonal preserva las longitudes, por lo que la componente diferente de cero de Hx es +-‐
ΙΙΙxΙΙ
€
x =
(
τ /2)
uMatrices de reflexión Householder
• Para un vector dado x, la reflexión de Householder que hace cero todas las componentes menos la k-‐ésima de x esta dada por:
€
σ = ± x , u = x +σek,
ρ = 2 / u 2 = 1/
( )
σuk , H = I − ρuuTMatrices de reflexión Householder:ejemplo
• Supongamos que tenemos a x=[3,1,5,1]T y u=
[9,1,5,1]T, entonces:
• De donde podemos deducir que Hx =[-‐6,0,0,0]T.
€
H = I − 2 uuT
uTu = 1 54
−27 −9 −45 −9
−9 53 −5 −1
−45 −5 29 −5
−9 −1 −5 53
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
La factorización QR
• Si todos los parámetros aparecen linealmente y hay más observaciones que bases de funciones,
tenemos un problema de minimos cuadrados. La matriz X es de mxn con m>n. Queremos resolver:
• El sistema esta sobredeterminado, hay más
ecuaciones que incógnitas, por lo que no podemos esperar resolver el sistema de forma exacta.
• En lugar de esto lo resolvemos en el senOdo de mínimos cuadrados:
€
Xβ ≈ y
€
minβ Xβ − y
La factorización QR
• Una forma teórica de resolver un sistema sobre-‐
determinado es mulOplicar por XT ambos lados, lo cual lo reduce a un sistema cuadrado de nxn conocido
como ecuaciones normales :
• Si hay miles de observaciones y pocos parámetros, el tamaño de la matriz X será muy grande, pero XTX será pequeña. Si las bases de funciones son
independientes, entonces XTX será no singular y:
• Esta formula es estandar, pero presenta algunos problemas. Las ecuaciones normales son peor condicionada que el sistema sobredeterminado.
€
XT Xβ = XT y
€
β = X
(
T X)
−1 XT yLa factorización QR
• El número de condición se eleva al cuadrado:
• Con una precisión finita, las ecuaciones normales se pueden volver singulares y puede no exisOr (XTX)-‐1 incluso si las columnas de X son independientes.
• Como ejemplo extremo consideremos:
• Si δ es pequeño, pero diferente de cero, las dos
columnas de X son linealmente independientes. Las
ecuaciones normales hacen que la situación empeore:
€
κ
(
XT X)
= κ( )
X 2€
X =
1 1
δ 0
0 δ
⎛
⎝
⎜
⎜ ⎜
⎞
⎠
⎟
⎟ ⎟
La factorización QR
• Si ΙΙδΙΙ<10-‐8, la matriz XTX calculada con aritméOca de punto flotante de doble precisión es singular y su inversa no existe.
• Para evitar esta situación, se usa alguna de las dos versiones de fatroización QR. Ambas Oenen:
€
XT X = 1+ δ 2 1 1 1+δ 2
⎛
⎝ ⎜ ⎞
⎠ ⎟
€
X = QR
La factorización QR
• Factorización QR: Completa y económica
• En la versión completa, R es del mismo tamaño que Xy Q es una matriz cuadrada con tantos renglones como X.
• En la versión económica Q es del mismo tamaño que X y R es una matriz cuadrada con tantas
columnas como X.
• El proceso de Gram-‐Schmidt esta relacionado, pero numericamente es menos saOsfactorio.
La factorización QR
• Una secuencia de reflexiones de Householder se aplica a X para producir la matriz R:
• La j-‐ésima columna de R es una combinación lineal de las primeras j columnas de X. Cosecuentemente los elementos debajo de la diagonal son cero.
• Si la misma secuencia de reflexiones se aplica al lado derecho las ecuaciones:
• Se convierten en
€
Hn...H2H1 = R
€
Xβ ≈ y
€
Rβ ≈ z, Hn...H2H1y = z
La factorización QR
• Las primeras n ecuaciones es una matriz pequeña tridiagonal que puede resolverse para β con
susOtución hacia atras.
• Los coeficientes en las restantes m-‐n ecuaciones son todos cero, por lo que estas ecuaciones son independientes de β.
• Este método es preferible numericamente pues
resulta un sistema triangular que puede resovlerse con susOtución hacia atras.
• La matriz Q de la factorización es
€
Q = (Hn...H2H1)T
La factorización QR
• Si calculamos solo las primeras n columnas de Q, tenemos la factorización económica. Si calculamos todas las m columnas, entonces tenemos la
factorización completa. En cualquiera de los casos:
• Por lo que Q Oene columnas que son
perpendicularas entre ellas y son unitarias. Por lo que esta matriz se dice que Oene columnas
ortogonales.
• Para el caso de Q cuadarada, también se cumple
que , por lo que Q es una matriz ortogonal en la version QR completa.
€
QTQ = I
€
QQT = I
La factorización QR: Un ejemplo
• Retomando el ejemplo del censo, consideraremos la utlimas seis observaciones con un polinomio
cuadráOco:
• El Oempo escalado s=((1950:10:2000)’-‐1950)/50
• La matriz X es
• X=[s.*s s ones(size(s))]
s y
0.0 150.697 0.2 179.323 0.4 203.212 0.6 226.505 0.8 249.633 1.0 281.422
€
y(s) ≈ β1s2 + β2s + β3
0. 0. 1.0 0.04 0.2 1.0
0.16 0.4 1.0 0.36 0.6 1.0 0.64 0.8 1.0 1.0 1.0 1.0
La factorización QR: Un ejemplo
• El archivo qrsteps muestra los pasos en la factorización QR
• qrsteps(X,y)
La factorización QR: Rango completo
• Queremos minimizar: para alguna p
• Diferentes normas nos producen diferentes
ópOmos. Por ejemplo si A=[1,1,1]T y b=[b1,b2,b3]T con b1≥b2≥b3≥0, entonces se puede verificar que:
• p=1 xopt=b2
• p=2 xopt=(b1+b2+b3)/3
• p=∞ xopt=(b1+b3)/3
• La minimización de la norma 1 e ∞ se complican por el hecho de que la función
• no es diferenciable para estos valores de p. En contraste el problema de minimizar
• es más tratable por que:
€
Ax − b p
€
f (x) = Ax − b p
€
minx∈ℜn Ax − b
2
2
La factorización QR: Rango completo
• es una función diferenciable de x y el mínimo de φ saOsface que grad(φ(x))=0.
•
€
φ(x) = 1
2 Ax − b 22
Fractorización QR: ejemplo
• Considermos el siguiente conjunto de puntos
aleatorios: (1,3), (2, -‐1), (4,7), (4.2,-‐3.5), (6,6) (8,8)
• Queremos encontrar una función, de algún Opo
predefinido, que pase lo más cerca posible de esos puntos: Por ejemplo, un polinomio de grado 3:
• ax3+bx2+cx+d
• Para cada punto planteamos la igualdad “deseada”
• para (1,3): a·∙13+b·∙12+c·∙1+d = 3
• para (2,-‐1):a·∙23+b·∙22+c·∙2+d = -‐1
• para (4,7): a·∙43+b·∙42+c·∙4+d = 7
• Y así para todos los puntos. Consideremos la versión matricial del problema:
Factorización QR: ejemplo
• No existe una solución al sistema (a menos que la matriz sea no singular)
• En lugar de esto, se busca la “mejor” solución
posible, la que minimiza : la solución es en el senOdo de mínimos cuadrados.
• Este problema se puede resolver con las ecuaciones normales , numéricamente es mejor
usar QR.
€
1 1 1 1
1 1 1 1
64 16 4 1
512 64 8 1
216 36 6 1
74.08 17.64 4.2 1
⎛
⎝
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎞
⎠
⎟
⎟
⎟
⎟
⎟
⎟
⎟
a b c d
⎛
⎝
⎜
⎜
⎜
⎜
⎞
⎠
⎟
⎟
⎟
⎟
= 3
−1 7 8 6
−3.5
⎛
⎝
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎞
⎠
⎟
⎟
⎟
⎟
⎟
⎟
⎟
€
Ax − b 2
€
XT Xβ = XT y
Factorización QR: ejemplo
• [Q,R]=qr(A)
• Q=
• -‐0.0018 -‐0.0620 0.5609 0.7647 -‐0.2769 0.1420 -‐0.0142 -‐0.2094 0.6703 -‐0.2355 0.6068 -‐0.2880 -‐0.1134 -‐0.5286 0.1279 -‐0.2898 -‐0.6458 -‐0.4363 -‐0.9073 0.3573 0.1507 -‐0.1254 -‐0.0858 0.0575 -‐0.3828 -‐0.4941 -‐0.4407 0.4623 0.3589 -‐0.2694 -‐0.1313 -‐0.5487 0.0527 -‐0.2154 0.0427 0.7942
• R=-‐564.3138 -‐76.0356 -‐10.5902 -‐1.5507
• 0 -‐13.9558 -‐5.0058 -‐1.4855
• 0 0 1.19611.1218 0
• 0 0 0 0.3609
• 0 0 0 0
• 0 0 0 0
Factorización QR: ejemplo
• Se mulOplica b por QT
• b1=
• Q’*b= [-‐9.8805 -‐1.8625 0.2852 3.0253 -‐4.6408 -‐6.2758]T
• Y se resuelve el sistema triangular:
• sol=R(1:4)\b1(1:4)
• sol =-‐0.1287
• 1.9760
• -‐7.6248
• 8.3838
• Obtenemos la gráfica del polinomio
• sol(1)·∙x3 + sol(2)·∙x2 + sol(3)·∙x + sol(4)
• Residuo=(−4.6408)2+ (−6.2758)2= 7.8053
Pseudoinversa
• Necesitamos la norma de Frobenius para una matriz
• La pseudoinversa de Moore-‐Penrose generaliza y exOende la matriz inversa. La pseudoinversa se denota como:
• En matlab se llama z=pinv(X).
• Si X es una matriz cuadrada y no singular entonces la inversa y la pseudoinversa son la misma
€
A F = ai, j2
j
∑
i
⎛
∑
⎝
⎜ ⎜
⎞
⎠
⎟ ⎟
1/ 2
€
Z = X
+€
X
+= X
−1Pseudoinversa
• Si X es una matriz de mxn con m>n y X es de rango completo, entonces su pseudoinversa es la matriz que sigue:
• La pseudoinversa Oene algunas, pero no todas las propiedades de la inversa. X+ es una inversa
izquierda pues:
• Pero no es una inversa derecha pues:
• Solo Oene rango n y no es la idenOdad de mxm. La pseudoinversa se acerca a lo más posible a la
inversa derecha en el senOdo de que entre todas
€
X
+= X ( )T X
−1X
T
€
X
+X = X ( )T X
−1 X
T X = I
€
XX
+= X X ( )T X
−1 X
T
Pseudoinversa
• las matrices Z que minimizan:
• Z=X+ también minimiza:
• Con estas propiedades también se define una única pseudoinversa incluso cuando X sea de rango
deficiente.
• Consideremos el caso de 1x1. Cual es la inversa de un número real (o complejo) x? Si x no es cero, es claro que x-‐1=1/x. Pero si x es cero, entonces x-‐1 no existe. La pseudoinversa, en este caso escalar, es el único número que minimiza Ιxz-‐1Ι y ΙzΙ es: x-‐1=1/x, si x≠0 y 0 si x=0.
€
XZ − I
F€
Z
FRango deficiente
• Si X es de rango deficiente o Oene más columnas que renglones, la matriz XTX es singular y (XTX)-‐1 no existe. La formula
• Obtenida de las ecuaciones normales no funciona.
• En estos casos, la solución de mínimos cuadrados al sistema lineal:
• no es única. Un vector nulo de X es una solución diferente de cero del sistema:
• En Matlab la solución a puede calcularse usando: beta=X\y o
• beta=pinv(X)*y
€
β = X ( )T X
−1 X
T y
€
X β ≈ y
€
Xη = 0
€
X β ≈ y
Rango deficiente
• En el caso de rango completo, estas dos soluciones son la misma.
• En los casos de rengo deficiente, estas soluciones no son la misma.
• La solución con backslash (\) se llama la solución básica. Si r=rango(X), entonces al menos r de los
componentes de: beta=X\y son diferentes de cero.
• El cálculo con “\” hace uso de la factorización QR.
• La solución calculada con “pinv” es la solución de la norma mínima. Entre todos los vecotres β que
minimizan ΙΙXβ-‐yΙΙ el vector: beta=pinv(X)*y también minimiza ΙΙβΙΙ
Ejemplo de rango deficiente
• Consideremos la matrix X y el vector y:
• La matriz X es de rango deficiente pues su segunda columna es un promedio de las otras dos. El vector η=(1,-‐2,1)T es un vector no nulo. Tenemos que se cumple que
• Veamos la respuesta de Matlab:
• beta=X\y nos devuelve un warning y una respuesta
€
X =
1 2 3
4 5 6
7 8 9
10 11 12 13 14 15
⎛
⎝
⎜
⎜
⎜
⎜
⎜ ⎜
⎞
⎠
⎟
⎟
⎟
⎟
⎟ ⎟
, y =
16 17 18 19 20
⎛
⎝
⎜
⎜
⎜
⎜
⎜ ⎜
⎞
⎠
⎟
⎟
⎟
⎟
⎟ ⎟
€
Xη = 0, η ≠ 0
Pseudoinversa o solución básica “\”
para matrices de rango deficiente
• Que es mejor pseudoinversa o la solución básica
“\”?
• Si el problema involucra el concepto de norma mínima o es relevante, pues entonces la
pseudoinversa es mejor.
• La mayoria de los problemas involucrados en ajuste de curvas no incluyen estas disOnciones.
• Lo importante es recodar que las soluciones no son únicas y no estan bien determinadas por los datos