Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ajustes PDF
Ajustes PDF
Pedro Salvador
20
Técnicas Computacionales, Curso 2007-2008. Pedro Salvador
∂ε N N N N
= ∑ 2( yi − a0 − a1 xi ) xi = 2∑ xi yi − 2a0 ∑ xi − 2a1 ∑ xi2 = 0
∂a1 i i i i
N N N
a0 ∑ xi + a1 ∑ xi2 = ∑ xi yi
i i i
⎛ 1 x ⎞⎛ a0 ⎞ ⎛ y ⎞
⎜⎜ ⎟⎜ ⎟⎟ = ⎜⎜ ⎟⎟
2 ⎟⎜
⎝ x x ⎠⎝ a1 ⎠ ⎝ xy ⎠
por lo que determinar los parámetros de la recta se resume a resolver el sistema de
ecuaciones lineales de dos ecuaciones y dos incógnitas anterior.
21
Técnicas Computacionales, Curso 2007-2008. Pedro Salvador
⎛ 1 x1 ⎞ ⎛ y1 ⎞ ⎛ 1 x1 ⎞ ⎛ y1 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 1 x 2 ⎟
⎛ a ⎞ ⎜y ⎟ r r ⎜ 1 x2 ⎟ r ⎛a ⎞ r ⎜ y2 ⎟
⎜⎜ ⎟⎟ = ⎜ 2 ⎟
0
A⋅ x = y A= x = ⎜⎜ 0 ⎟⎟ y =⎜ ⎟
⎜ ... ... ⎟⎝ a1 ⎠ ... ⎜ ... ... ⎟ ⎝ a1 ⎠ ...
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ 1 xN ⎠ ⎜y ⎟ ⎝ 1 xN ⎠ ⎜y ⎟
⎝ N⎠ ⎝ N⎠
Como ya hemos visto, una manera directa de resolver los sistemas de ecuaciones
expresados en forma matricial es la de multiplicar por la izquierda a ambos lados de la
igualdad por la inversa de la matriz de coeficientes. sin embargo, en este caso, al tener
mas ecuaciones que incógnitas, la matriz de coeficientes, A, no es una matriz cuadrada
(tendrá dimensión N × 2) por lo que no esta definida su inversa. Una posible estrategia a
seguir es multiplicar la ecuación matricial anterior por la transpuesta de la matriz de
coeficientes (el producto de una matriz por su transpuesta es siempre una matriz
cuadrada y simétrica) de manera que tendremos
r r r
AT ⋅ A ⋅ x = AT ⋅ y S = AT ⋅ A zr = AT ⋅ y
El sistema de N ecuaciones y dos incógnitas inicial lo hemos condensado en otro
sistema de dos ecuaciones y dos incógnitas dado por
r r
S⋅x = z
Ahora bien, la matriz S es una matriz cuadrada de dimensión 2×2 y simétrica por lo que
es invertible así que podemos escribir
r r
S −1 ⋅ S ⋅ x = S −1 ⋅ AT ⋅ y
y por tanto, el vector que buscamos nos quedaría de la forma
r r
x = S −1 ⋅ AT ⋅ y
22
Técnicas Computacionales, Curso 2007-2008. Pedro Salvador
Ahora bien, representa esta estrategia una solución diferente al problema de la que
hemos deducido anteriormente mediante minimización del error cuadrático?
Veremos a continuación que no es el caso.
A partir de la estructura de la matriz A, el producto de su transpuesta por ella misma
resulta en
⎛ 1 x1 ⎞ ⎛ N
⎞
⎛1 1
⎜
... 1 ⎞⎜ 1 x2 ⎟ ⎜
⎟ ⎜ N ∑x i ⎟
⎟
AT ⋅ A = ⎜⎜ ⎟ = i =1
... x N ⎟⎠⎜ ... ... ⎟ ⎜ N N
⎟
⎝ x1 ⎟ ⎜ ∑ xi ∑
x2
⎜ xi2 ⎟
⎝ 1 xN ⎠ ⎝ i =1 i =1 ⎠
Del mismo modo, el producto de AT por el vector de términos independientes queda
⎛ y1 ⎞ ⎛ N
⎜ ⎟ ⎜ ∑ yi ⎞⎟
r r ⎛1 1 ... 1 ⎞⎜ y2 ⎟ ⎜ i=1 ⎟
z = AT ⋅ y = ⎜⎜ ⎟ =
... x N ⎟⎠⎜ ... ⎟ ⎜ N ⎟
⎝ x1 ⎜ ⎟ ⎜ ∑ xi yi ⎟
x2
⎜ y ⎟ ⎝ i =1 ⎠
⎝ N⎠
por lo que la ecuación matricial 2×2 anterior la podemos escribir mas explicitamente
como
⎛ N
⎞ ⎛ N ⎞
⎜ N
⎜
∑ x ⎟⎟⎛ ai
⎞
⎜ ∑ yi ⎟
i =1
⎜⎜ 0 ⎟⎟ = ⎜ Ni =1 ⎟.
⎜ N N
2 ⎟⎝ a1 ⎠ ⎜ ⎟
⎜ ∑ xi ∑ xi ⎟ ⎜ ∑ xi yi ⎟
⎝ i =1 i =1 ⎠ ⎝ i =1 ⎠
Dividiendo cada ecuación por N y utilizando la notación típica para el valor medio
llegamos a
⎛1 x ⎞⎛ a0 ⎞ ⎛ y ⎞
⎜⎜ ⎟⎜ ⎟ = ⎜ ⎟
⎝x x 2 ⎟⎠⎜⎝ a1 ⎟⎠ ⎜⎝ xy ⎟⎠
que es exactamente el mismo sistema de ecuaciones al que habíamos llegado
anteriormente imponiendo la condición de mínimo error cuadrático.
Así pues, podemos plantear el siguiente algoritmo para el ajuste lineal
a) Lectura de los N pares de valores {xi, yi} y construcción de las matriz A y vector y.
b) Construcción de la transpuesta de la matriz A: AT
c) Construcción de la matriz S mediante el producto matricial ATA
d) Construcción del vector z mediante el producto matriz por vector ATy
e) Inversión de matriz S: S-1
f) Producto matriz por vector S-1 z para obtener el vector de soluciones final.
23
Técnicas Computacionales, Curso 2007-2008. Pedro Salvador
24
Técnicas Computacionales, Curso 2007-2008. Pedro Salvador
∂ε N N N N N
= ∑ 2( yi − a0 − a1 xi − a2 xi2 ) xi = 2∑ xi yi − 2a0 ∑ xi − 2a1 ∑ xi2 − 2a2 ∑ xi3 = 0
∂a1 i i i i i
∂ε N N N N N
= ∑ 2( yi − a0 − a1 xi − a2 xi2 ) xi2 = 2∑ xi2 yi − 2a0 ∑ xi2 − 2a1 ∑ xi3 − 2a2 ∑ xi4 = 0
∂a2 i i i i i
⎛1 x x 2 ⎞⎛ a0 ⎞ ⎛ y ⎞
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜x x2 x3 ⎟⎜ a1 ⎟ = ⎜ xy ⎟
⎜⎜ 2 ⎟⎜ ⎟ ⎜ 2 ⎟
⎝x x3 x 4 ⎟⎠⎝ a2 ⎠ ⎝ x y ⎠
⎛ 1 x ... x M ⎞⎛ a0 ⎞ ⎛ y ⎞
⎜ ⎟⎜ ⎟ ⎜ ⎟
M +1
⎜ x x2 ... x ⎟⎜ 1 ⎟ ⎜ a xy ⎟
⎜ ⎟⎜ ... ⎟ = ⎜ ... ⎟
⎜ ... ... ... ... ⎟⎜ ⎟ ⎜ ⎟
⎜ xM x M +1 ... x 2 M ⎟⎠⎜⎝ aM ⎟⎠ ⎜⎝ x y ⎟⎠
M
⎝
25
Técnicas Computacionales, Curso 2007-2008. Pedro Salvador
r r 1⎛ N ⎞
f ( N , p, q, x , y ) → x p y q ≡ ⎜ ∑ xip yiq ⎟
N ⎝ i=1 ⎠
para determinar todos los promedios de potencias de x y productos de éstas por y que
aparecen en la matriz de coeficientes y de términos independientes.
r r
f ( N ,1,0, x , y ) → x
r r
f ( N ,1,1, x , y ) → xy
r r
f ( N ,3,0, x , y ) → x 3
Sin embargo, es mucho mas sencillo aplicar el algoritmo general matricial descrito
anteriormente para el caso lineal. Ahora, para el ajuste de un polinomio de grado M
plantearíamos un sistema N de ecuaciones con M+1 incógnitas (incluyendo el término
independiente)
⎧a0 + a1 x1 + a2 x12 + ... + aM x1M = y1
⎪
⎪a0 + a1 x2 + a2 x2 + ... + aM x2 = y2
2 M
⎨
⎪...
⎪a + a x + a x 2 + ... + a x M = y
⎩ 0 1 N 2 N M N N
26
Técnicas Computacionales, Curso 2007-2008. Pedro Salvador
⎨
⎪...
⎪a + a x (1) + a x ( 2 ) + ... + a x ( k ) = y
⎩ 0 1 N 2 N k N N
27
Técnicas Computacionales, Curso 2007-2008. Pedro Salvador
∑ (y )
N
2
calc
i −y
R2 = i
∑ (y − y)
N
2
i
i
Como se puede ver, el valor de este coeficiente es independiente del modelo ajustado,
ya que únicamente indica la relación estadística entre el conjuntos de datos.
28