Vous êtes sur la page 1sur 9

Tcnicas Computacionales, Curso 2007-2008.

Pedro Salvador

5.- Ajuste de curvas


El ajuste de curvas es un proceso mediante el cual, dado un conjunto de N pares de puntos {xi, yi} (siendo x la variable independente e y la dependiente), se determina una funcin matemtica f(x) de tal manera que la suma de los cuadrados de la diferencia entre la imagen real y la correspondiente obtenida mediante la funcin ajustada en cada punto sea mnima: N = min ( y i f ( xi )) 2 i Generalmente, se escoge una funcin genrica f(x) en funcin de uno o ms parmetros y se ajusta el valor de estos parametros de la manera que se minimice el error cuadrtico, . La forma ms tpica de esta funcin ajustada es la de un polinomio de grado M; obteniendose para M = 1 un ajuste lineal (o regresin lineal), f ( x) = a 0 + a1 x para M = 2 un ajuste parablico,

f ( x) = a 0 + a1 x + a 2 x 2 etc..

Por otro lado podemos tener un conjunto de datos multidimensionales; es decir, un conjunto de N puntos en un espacio k+1-dimensional del tipo { xi(1), xi(2), ..., xi(k),... yi,}. La funcin que ajustaremos a estos puntos ser una funcin de k variables y = f(x(1), x(2),..., x(k)) El ajuste multidimensional ms sencillo es considerar una dependencia lineal de la funcin respecto a cada una de las variables de que depende; es decir, ajustando una funcion del tipo

f ( x (1) , x ( 2 ) ,..., x ( k ) ) = a0 + a1 x (1) + a2 x ( 2) + ... + ak x ( k ) de tal manera que se minimice el error cuadrtico respecto al conjunto de parmetros {a0, a1,..,ak}. Es lo que se conoce como ajuste o regresin multilineal. En esta seccin veremos que el ajuste lineal, el de un polinomio de grado M y el ajuste multilineal se pueden expresar dentro de un mismo formalismo de manera que las respectivas soluciones al problema se pueden determinar mediante algoritmos prcticamente anlogos.
20

Tcnicas Computacionales, Curso 2007-2008. Pedro Salvador

5.1. Regresin lineal


Supongamos que tenemos un conjunto de N puntos en el plano {xi, yi}. El objetivo es determinar la ecuacin de la recta tal que minimiza el error cuadrtico N N = min ( yi yicalc ) 2 = min ( yi a0 a1 xi ) 2 i i respecto a los parmetros a0 (ordenada al origen) y a1 (pendiente). Matemticamente:
N N N = 2( yi a0 a1 xi ) = 2 yi 2 Na0 2a1 xi = 0 a0 i i i
N N N N = 2( yi a0 a1 xi ) xi = 2 xi yi 2a0 xi 2a1 xi2 = 0 a1 i i i i

Simplificando las ecuaciones anteriores vemos que se debe cumplir que


Na0 + a1 xi = yi
i i N N

a0 xi + a1 xi2 = xi yi
i i i

o bien, dividiendo ambas ecuaciones por el numero total de puntos e introduciendo valores medios
a0 + a1 x = y a0 x + a1 x 2 = xy

En forma matricial, podemos escribir

1 x a0 y x x 2 a = xy 1
por lo que determinar los parmetros de la recta se resume a resolver el sistema de ecuaciones lineales de dos ecuaciones y dos incgnitas anterior.

21

Tcnicas Computacionales, Curso 2007-2008. Pedro Salvador

Algoritmo general matricial

Consideremos ahora el mismo problema desde otra perspectiva. Vamos a suponer que los N puntos pueden pasar exactamente por la recta que buscamos. En este caso, plantearamos el siguiente sistema N de ecuaciones con 2 incgnitas
a0 + a1 x1 = y1 a + a x = y 0 1 2 2 ... a0 + a1 x N = y N

o bien, en forma matricial


y1 1 x1 1 x2 a0 y2 = ... ... a1 ... y 1 xN N

r r A x = y

1 x1 1 x2 A= ... ... 1 xN

r a x = 0 a 1

y1 r y2 y = ... y 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 incgnitas, la matriz de coeficientes, A, no es una matriz cuadrada (tendr dimensin N 2) por lo que no esta definida su inversa. Una posible estrategia a seguir es multiplicar la ecuacin matricial anterior por la transpuesta de la matriz de coeficientes (el producto de una matriz por su transpuesta es siempre una matriz cuadrada y simtrica) de manera que tendremos r r AT A x = AT y S = AT A
r r z = AT y

El sistema de N ecuaciones y dos incgnitas inicial lo hemos condensado en otro sistema de dos ecuaciones y dos incgnitas dado por

r r Sx = z

Ahora bien, la matriz S es una matriz cuadrada de dimensin 22 y simtrica 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 quedara de la forma

r r x = S 1 AT y

22

Tcnicas Computacionales, Curso 2007-2008. Pedro Salvador

Ahora bien, representa esta estrategia una solucin diferente al problema de la que
hemos deducido anteriormente mediante minimizacin del error cuadrtico? Veremos a continuacin 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 AT A = x 1 1 x2 1 x1 N ... 1 1 x2 = ... x N ... ... N xi 1 xN i =1 i =1 N xi2 i =1

Del mismo modo, el producto de AT por el vector de trminos independientes queda


r 1 r z = AT y = x 1 1 x2 y1 N yi ... 1 y2 i=1 = ... x N ... N xi yi y i =1 N

por lo que la ecuacin matricial 22 anterior la podemos escribir mas explicitamente como N N xi i =1 N yi i =1 . 0 = Ni =1 N a 2 1 xi xi yi i =1 i =1

x a
i

Dividiendo cada ecuacin por N y utilizando la notacin tpica para el valor medio llegamos a

1 x

x a0 y = x 2 a1 xy

que es exactamente el mismo sistema de ecuaciones al que habamos llegado


anteriormente imponiendo la condicin de mnimo error cuadrtico.

As pues, podemos plantear el siguiente algoritmo para el ajuste lineal a) Lectura de los N pares de valores {xi, yi} y construccin de las matriz A y vector y. b) Construccin de la transpuesta de la matriz A: AT c) Construccin de la matriz S mediante el producto matricial ATA d) Construccin del vector z mediante el producto matriz por vector ATy e) Inversin de matriz S: S-1 f) Producto matriz por vector S-1 z para obtener el vector de soluciones final.

23

Tcnicas Computacionales, Curso 2007-2008. Pedro Salvador

A priori puede parecer un algoritmo demasiado complicado para un problema tan simple como la regresin lineal, para el que existen frmulas directas de implementacin sencilla. Sin embargo, vamos a ver que podemos extender este algoritmo de manera trivial a otro tipo de ajustes.

24

Tcnicas Computacionales, Curso 2007-2008. Pedro Salvador

5.2. Ajuste polinmico por mnimos cuadrados.


De manera anloga al caso lineal, el objetivo es determinar la ecuacin del polinomio de grado M que minimiza el error cuadrtico

= min ( yi yicalc ) 2 = min ( yi a0 a1 xi a2 xi2 ... aM xiM ) 2


i i

respecto a los parmetros M +1 parmetros a0 , a1 ,... aM . Por ejemplo, para un ajuste parablico (M = 2), la condicin de mnimo del error cuadrtico lleva a las ecuaciones siguientes:
N N N N = 2( yi a0 a1 xi a2 xi2 ) = 2 yi 2 Na0 2a1 xi 2a2 xi2 = 0 a0 i i i i 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

Procediendo de manera anloga al caso lineal llegamos a que la determinacin de los parmetros del polinomio pasa por la resolucin de un sistema de ecuaciones de la forma:

1 x 2 x

x x2 x3

x 2 a0 y x3 a1 = xy 2 x 4 a2 x y

Para el caso general de un polinomio de grado M ya podemos intuir que la solucin vendr dada por un sistema de ecuaciones lineales de dimensin (M+1) (M+1) de la forma

1 x ... xM

x x2 ... x M +1

x M a0 y M +1 a1 xy ... x = ... ... ... ... M ... x 2 M aM x y ...

Una manera de implementar el ajuste polinomial general es la de escribir un

25

Tcnicas Computacionales, Curso 2007-2008. Pedro Salvador

subprograma (funcin) general de la forma 1 N r r 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 trminos 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 plantearamos un sistema N de ecuaciones con M+1 incgnitas (incluyendo el trmino independiente) a0 + a1 x1 + a2 x12 + ... + aM x1M = y1 2 M a0 + a1 x2 + a2 x2 + ... + aM x2 = y2 ... a + a x + a x 2 + ... + a x M = y 2 N M N N 0 1 N o bien, en forma matricial
1 x1 1 x2 1 ... 1 x N x12
2 x2

...
2 xN

... x1M a0 y1 M ... xN a1 y2 = ... ... ... ... M ... xN aM y N

r r A x = y

As pues, una vez construida la matriz A de dimensin N M + 1 y el vector de coeficientes y a partir de los N pares de puntos {xi, yi}, simplemente aplicamos los pasos b) a f) descritos anteriormente.

Un algoritmo general de ajuste de una funcin polinmica debera solicitar nicamente: a) el numero de total de pares de puntos de que disponemos, N, y b) el grado del polinomio que se pretende ajustar, M

A partir de aqu, deberemos definir en nuestro programa la matriz de coeficientes A de dimensin N M + 1 y el vector de coeficientes y de dimensin N. Los diferentes pasos

26

Tcnicas Computacionales, Curso 2007-2008. Pedro Salvador

del algoritmo requieren el uso de la matriz transpuesta (de dimensin M + 1 N), la matriz resultante del producto de la transpuesta de A por ella misma y su inversa (de dimensin M+1 M+1 ambas) y el vector transformado por la transpuesta de A (de dimensin M + 1), as como el vector de soluciones, de dimensin M + 1.

5.3. Regresin multilineal


El algoritmo matricial anterior se puede adaptar de manera sencilla para el caso de la regresin multilineal. En este caso disponemos de un conjunto de datos multidimensionales; es decir, un conjunto de N puntos en un espacio k+1-dimensional del tipo { xi(1), xi(2), ..., xi(k),... yi,}. La funcin que ajustaremos a estos puntos ser del tipo f ( x (1) , x ( 2 ) ,..., x ( k ) ) = a0 + a1 x (1) + a2 x ( 2) + ... + ak x ( k )

Si planteamos el sistema de ecuaciones N ecuaciones con k incgnitas para la solucin exacta tendremos a0 + a1 x1(1) + a2 x1( 2 ) + ... + ak x1( k ) = y1 (1) ( 2) (k ) a0 + a1 x2 + a2 x2 + ... + ak x2 = y2 ... a + a x (1) + a x ( 2 ) + ... + a x ( k ) = y 2 N k N N 0 1 N o bien, en forma matricial
1 x1(1) ( 1 x21) 1 ... 1 x (1) N x1( 2) ... x1( k ) a0 y1 ( ( x22) ... x Nk ) a1 y2 = ... ... ... ... ... ( ( x N2) ... x Nk ) ak y N

r r A x = y

donde las columnas de la matriz de coeficientes A corresponden simplemente a los N valores de entrada de cada dimensin o categora (incluyendo una columna extra de 1 relativa al trmino independiente). En este punto podemos aplicar el algoritmo matricial general exactamente de la misma
manera que lo haramos para ajustar un polinomio de grado k a un conjunto de N pares

de puntos.

27

Tcnicas Computacionales, Curso 2007-2008. Pedro Salvador

5.3. Coeficiente de determinacin


El coeficiente de determinacin, R2, definido entre 0 y 1, nos da una idea de la bondad del ajuste, de manera que para valores cercanos a 1 el ajuste es perfecto mientras que para valores cercanos a cero indica inexistencia de relacin entre x e y con el modelo de ajuste propuesto. El coeficiente R2 viene dado por la relacin entre la varianza de los datos explicada con el modelo y la varianza de los datos experimentales. En concreto

R2 =

(y
N i N i

calc i

(y

y)

donde y representa el valor medio de los valores de la variable independiente e yicalc los valores calculados para cada punto usando el modelo ajustado a los datos. La implementacin computacional de este ndice es muy sencilla una vez ajustado el modelo tras resolver el sistema de ecuaciones que plantea el algoritmo matricial general.

En el caso de la regresin lineal, el coeficiente de determinacin tiene la misma expresin que el coeficiente de regresin r2, que indica tambin cmo de correlacionadas estadsticamente estn las variables aleatorias x e y . Es importante ver que ambos coeficientes tiene significados e interpretaciones diferentes y que, salvo en el caso de la regresin lineal, no coinciden. As, se puede comprobar que para el caso de la regresin lineal este ndice coincide con el coeficiente de regresin, definido a partir de la relacin entre la covarianza de las variables aleatorias x e y y el producto de la raz cuadrada de las varianzas individuales (desviacin tpica) de ambas variables, con el fin de obtener un parmetro adimensional r= xy x y
2

(x

)(y

Cov( XY )

x y

Como se puede ver, el valor de este coeficiente es independiente del modelo ajustado, ya que nicamente indica la relacin estadstica entre el conjuntos de datos.

28