Curso de Métodos Numéricos. Ajuste de curvas....

Post on 02-Feb-2018

226 views 2 download

Transcript of Curso de Métodos Numéricos. Ajuste de curvas....

Curso de M etodos Num ericos.Ajuste de curvas.

Regresi on.

Curso : Metodos Numericos en Ingenierıa

Profesor : Dr. Jose A. Otero Hernandez

Universidad : ITESM CEM

Fecha : Lunes, 20 de octubre de 2014

Introducci on Regresi on por mınimos cuadrados

Topicos

1 Introducci on

2 Regresi on por mınimos cuadradosRegresion lineal por mınimos cuadradosEjemploPrograma MATLAB: linregr.mRegresion cuadratica por mınimos cuadradosPrograma MATLAB: cuadregr.mEjemplo

Introducci on Regresi on por mınimos cuadrados

Topicos

1 Introducci on

2 Regresi on por mınimos cuadradosRegresion lineal por mınimos cuadradosEjemploPrograma MATLAB: linregr.mRegresion cuadratica por mınimos cuadradosPrograma MATLAB: cuadregr.mEjemplo

Introducci on Regresi on por mınimos cuadrados

Ajuste de curvas

Es comun que los datos se den como valores discretos,

Se podrıa necesitar la estimacion de un punto entrevalores discretos,

Se podrıa necesitar una curva que ajuste los datos paraobtener estimaciones intermedias,

Se podrıa necesitar una version simplificada de unafuncion complicada,

Estas aplicaciones se conocen como ajuste de curvas .

Introducci on Regresi on por mınimos cuadrados

Ajuste de curvas

Es comun que los datos se den como valores discretos,

Se podrıa necesitar la estimacion de un punto entrevalores discretos,

Se podrıa necesitar una curva que ajuste los datos paraobtener estimaciones intermedias,

Se podrıa necesitar una version simplificada de unafuncion complicada,

Estas aplicaciones se conocen como ajuste de curvas .

Introducci on Regresi on por mınimos cuadrados

Ajuste de curvas

Es comun que los datos se den como valores discretos,

Se podrıa necesitar la estimacion de un punto entrevalores discretos,

Se podrıa necesitar una curva que ajuste los datos paraobtener estimaciones intermedias,

Se podrıa necesitar una version simplificada de unafuncion complicada,

Estas aplicaciones se conocen como ajuste de curvas .

Introducci on Regresi on por mınimos cuadrados

Ajuste de curvas

Es comun que los datos se den como valores discretos,

Se podrıa necesitar la estimacion de un punto entrevalores discretos,

Se podrıa necesitar una curva que ajuste los datos paraobtener estimaciones intermedias,

Se podrıa necesitar una version simplificada de unafuncion complicada,

Estas aplicaciones se conocen como ajuste de curvas .

Introducci on Regresi on por mınimos cuadrados

Ajuste de curvas

Es comun que los datos se den como valores discretos,

Se podrıa necesitar la estimacion de un punto entrevalores discretos,

Se podrıa necesitar una curva que ajuste los datos paraobtener estimaciones intermedias,

Se podrıa necesitar una version simplificada de unafuncion complicada,

Estas aplicaciones se conocen como ajuste de curvas .

Introducci on Regresi on por mınimos cuadrados

Metodos generales para el ajuste de curvas

Regresi on : Si los datos exhiben un grado significativo de erroro ”ruido”, entonces la estrategia sera obtener una sola curvaque represente la tendencia general de los datos.

Introducci on Regresi on por mınimos cuadrados

Metodos generales para el ajuste de curvas

Interpolaci on : Si se sabe que los datos son muy precisos,entonces la estrategia sera colocar una curva o una serie decurvas que pasen por cada uno de los puntos.

Introducci on Regresi on por mınimos cuadrados

Topicos

1 Introducci on

2 Regresi on por mınimos cuadradosRegresion lineal por mınimos cuadradosEjemploPrograma MATLAB: linregr.mRegresion cuadratica por mınimos cuadradosPrograma MATLAB: cuadregr.mEjemplo

Introducci on Regresi on por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Introducci on Regresi on por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Problema : Ajustar a una lınea recta (y = a0 + a1x) el conjuntode puntos:(x1, y1),(x2, y2),· · · ,(xn, yn).El error (e) es la diferencia entre el modelo (linea recta) y ladata, es decir es la diferencia entre el valor verdadero de y y elvalor aproximado a0 + a1x. Por lo cual, se puede determinarcomo:

e = y − a0 − a1x

Para cada punto (xi, yi) se define un error ei. La estrategiapara ajustar la linea recta consiste en minimizar la suma de loscuadrados de los errores entre los valores verdaderos y losvalores aproximados. Esto es:

Sr =n∑

i=1

e2i =

n∑i=1

(yi − a0 − a1xi)2

Introducci on Regresi on por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Problema : Ajustar a una lınea recta (y = a0 + a1x) el conjuntode puntos:(x1, y1),(x2, y2),· · · ,(xn, yn).El error (e) es la diferencia entre el modelo (linea recta) y ladata, es decir es la diferencia entre el valor verdadero de y y elvalor aproximado a0 + a1x. Por lo cual, se puede determinarcomo:

e = y − a0 − a1x

Para cada punto (xi, yi) se define un error ei. La estrategiapara ajustar la linea recta consiste en minimizar la suma de loscuadrados de los errores entre los valores verdaderos y losvalores aproximados. Esto es:

Sr =n∑

i=1

e2i =

n∑i=1

(yi − a0 − a1xi)2

Introducci on Regresi on por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Problema : Ajustar a una lınea recta (y = a0 + a1x) el conjuntode puntos:(x1, y1),(x2, y2),· · · ,(xn, yn).El error (e) es la diferencia entre el modelo (linea recta) y ladata, es decir es la diferencia entre el valor verdadero de y y elvalor aproximado a0 + a1x. Por lo cual, se puede determinarcomo:

e = y − a0 − a1x

Para cada punto (xi, yi) se define un error ei. La estrategiapara ajustar la linea recta consiste en minimizar la suma de loscuadrados de los errores entre los valores verdaderos y losvalores aproximados. Esto es:

Sr =n∑

i=1

e2i =

n∑i=1

(yi − a0 − a1xi)2

Introducci on Regresi on por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Ajuste de una lınea recta por mınimos cuadrados

Para determinar los valores de a0 y a1, hay que derivar Sr conrespecto a cada uno de los coeficientes (a0, a1) e igual a cero:

∂Sr

∂a0= −2

n∑i=1

(yi − a0 − a1xi) = 0

∂Sr

∂a1= −2

n∑i=1

(yi − a0 − a1xi) xi = 0

Introducci on Regresi on por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Ajuste de una lınea recta por mınimos cuadrados

0 =n∑

i=1

yi −n∑

i=1

a0 −n∑

i=1

a1xi

0 =n∑

i=1

yixi −n∑

i=1

a0xi −n∑

i=1

a1x2i

Ajuste de una lınea recta por mınimos cuadrados

n∑i=1

yi = na0 +

(n∑

i=1

xi

)a1

n∑i=1

xiyi =

(n∑

i=1

xi

)a0 +

(n∑

i=1

x2i

)a1

Introducci on Regresi on por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Ajuste de una lınea recta por mınimos cuadrados

0 =n∑

i=1

yi −n∑

i=1

a0 −n∑

i=1

a1xi

0 =n∑

i=1

yixi −n∑

i=1

a0xi −n∑

i=1

a1x2i

Ajuste de una lınea recta por mınimos cuadrados

n∑i=1

yi = na0 +

(n∑

i=1

xi

)a1

n∑i=1

xiyi =

(n∑

i=1

xi

)a0 +

(n∑

i=1

x2i

)a1

Introducci on Regresi on por mınimos cuadrados

Regresi on lineal por mınimos cuadrados

Ajuste de una lınea recta por mınimos cuadrados

a1 =n

n∑i=1

xiyi −n∑

i=1xi

n∑i=1

yi

nn∑

i=1x2

i −(

n∑i=1

xi

)2

a0 =

n∑i=1

yi

n− a1

n∑i=1

xi

n

Introducci on Regresi on por mınimos cuadrados

Ejemplo

Ejemplo 1

Ajuste a una lınea recta los valores de x y y dados en lasiguiente tabla:

xi yi

1 0.52 2.53 2.04 4.05 3.56 6.07 5.5

Introducci on Regresi on por mınimos cuadrados

Ejemplo

Soluci on

c lear ; clc ;x = [ 1 2 3 4 5 6 7 ] ;y = [ 0 . 5 2 . 5 2 . 0 4 . 0 3 . 5 6 . 0 5 . 5 ] ;n= length ( x ) ;sxy=sum ( x .∗ y )sx2=sum ( x .∗ x )sx=sum ( x )sy=sum ( y )a1=(n∗sxy−sx∗sy ) / ( n∗sx2−(sx ) ˆ 2 )a0=sy / n−a1∗sx / n

Introducci on Regresi on por mınimos cuadrados

Ejemplo

Soluci on

% Solucion ejemplo 1sxy = 119.5000sx2 = 140sx = 28sy = 24a1 = 0.8393a0 = 0.0714y = 0.0714+0.8393∗ x

Introducci on Regresi on por mınimos cuadrados

Programa MATLAB: linregr.m

Programa Matlab

funct ion [ a ] = l i n r e g r ( x , y )% l i n r e g r : A jus te de curva con regres ion l i n e a l% Entrada : x , y−−−−Sal ida : a = [ a1 , a0 ]n = length ( x ) ;i f length ( y ) ˜=n , error ( ’ x−y d i f e r e n t e s long i tudes ’ ) ; endsx = sum ( x ) ; sy = sum ( y ) ;sx2 = sum ( x .∗ x ) ; sxy = sum ( x .∗ y ) ;a ( 1 ) = ( n∗sxy−sx∗sy ) / ( n∗sx2−sx ˆ 2 ) ;a ( 2 ) = sy / n−a ( 1 ) ∗sx / n ;% Ploteo de l a data y l i n e a rec ta a justadaxp = l inspace ( min ( x ) ,max ( x ) ,2 ) ;yp = a ( 1 ) ∗xp+a ( 2 ) ;plo t ( x ’ , y ’ , ’ o ’ , xp , yp ) ; gr id on

Introducci on Regresi on por mınimos cuadrados

Programa MATLAB: linregr.m

Ejemplo 1: Programa Matlab

Introducci on Regresi on por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Problema : Ajustar a un polinomio cuadratico(y = a0 + a1x + a2x

2) el conjunto de puntos:(x1, y1),(x2, y2),· · · ,(xn, yn).El error (e) se puede determinar como:

e = y − a0 − a1x − a2x2

Para cada punto (xi, yi) se define un error ei.La estrategia para ajustar el polinomio cuadratico consiste enminimizar la suma de los cuadrados de los errores entre losvalores verdaderos y los valores aproximados. Esto es:

Sr =n∑

i=1

e2i =

n∑i=1

(yi − a0 − a1xi − a2x

2i

)2

Introducci on Regresi on por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Problema : Ajustar a un polinomio cuadratico(y = a0 + a1x + a2x

2) el conjunto de puntos:(x1, y1),(x2, y2),· · · ,(xn, yn).El error (e) se puede determinar como:

e = y − a0 − a1x − a2x2

Para cada punto (xi, yi) se define un error ei.La estrategia para ajustar el polinomio cuadratico consiste enminimizar la suma de los cuadrados de los errores entre losvalores verdaderos y los valores aproximados. Esto es:

Sr =n∑

i=1

e2i =

n∑i=1

(yi − a0 − a1xi − a2x

2i

)2

Introducci on Regresi on por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Problema : Ajustar a un polinomio cuadratico(y = a0 + a1x + a2x

2) el conjunto de puntos:(x1, y1),(x2, y2),· · · ,(xn, yn).El error (e) se puede determinar como:

e = y − a0 − a1x − a2x2

Para cada punto (xi, yi) se define un error ei.La estrategia para ajustar el polinomio cuadratico consiste enminimizar la suma de los cuadrados de los errores entre losvalores verdaderos y los valores aproximados. Esto es:

Sr =n∑

i=1

e2i =

n∑i=1

(yi − a0 − a1xi − a2x

2i

)2

Introducci on Regresi on por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Problema : Ajustar a un polinomio cuadratico(y = a0 + a1x + a2x

2) el conjunto de puntos:(x1, y1),(x2, y2),· · · ,(xn, yn).El error (e) se puede determinar como:

e = y − a0 − a1x − a2x2

Para cada punto (xi, yi) se define un error ei.La estrategia para ajustar el polinomio cuadratico consiste enminimizar la suma de los cuadrados de los errores entre losvalores verdaderos y los valores aproximados. Esto es:

Sr =n∑

i=1

e2i =

n∑i=1

(yi − a0 − a1xi − a2x

2i

)2

Introducci on Regresi on por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Ajuste del polinomio cuadr atico por mınimos cuadrados

Para determinar los valores de a0, a1 y a2, hay que derivar Sr

con respecto a cada uno de los coeficientes (a0, a1, a2) e iguala cero:

∂Sr

∂a0= −2

n∑i=1

(yi − a0 − a1xi − a2x

2i

)= 0

∂Sr

∂a1= −2

n∑i=1

(yi − a0 − a1xi − a2x

2i

)xi = 0

∂Sr

∂a2= −2

n∑i=1

(yi − a0 − a1xi − a2x

2i

)x2

i = 0

Introducci on Regresi on por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Ajuste del polinomio cuadr atico por mınimos cuadrados

n∑i=1

yi = n a0 +

(n∑

i=1

xi

)a1 +

(n∑

i=1

x2i

)a2

n∑i=1

xiyi =

(n∑

i=1

xi

)a0 +

(n∑

i=1

x2i

)a1 +

(n∑

i=1

x3i

)a2

n∑i=1

x2i yi =

(n∑

i=1

x2i

)a0 +

(n∑

i=1

x3i

)a1 +

(n∑

i=1

x4i

)a2

Introducci on Regresi on por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Programa para la soluci on del sistema

c lear ; clc ;syms a0 a1 a2 n sx sy sx2 sxy sx3 sx4 sx2y ;eq1=n∗a0+sx∗a1+sx2∗a2−sy ;eq2=sx∗a0+sx2∗a1+sx3∗a2−sxy ;eq3=sx2∗a0+sx3∗a1+sx4∗a2−sx2y ;[ a0 a1 a2 ]= solve ( eq1 , eq2 , eq3 , a0 , a1 , a2 )

Introducci on Regresi on por mınimos cuadrados

Regresi on cuadr atica por mınimos cuadrados

Soluci on del sistema

a0=( sx2y∗sx2ˆ2−sxy∗sx2∗sx3−sx4∗sy∗sx2+sy∗sx3ˆ2−sx∗sx2y∗sx3+sx∗sx4∗sxy ) / ( sx4∗sxˆ2−2∗sx∗sx2∗sx3+sx2ˆ3−n∗sx4∗sx2+n∗sx3 ˆ 2 )

a1=( sx2 ˆ2∗ sxy+n∗sx2y∗sx3−n∗sx4∗sxy−sx∗sx2∗sx2y+sx∗sx4∗sy−sx2∗sx3∗sy ) / ( sx4∗sxˆ2−2∗sx∗sx2∗sx3+sx2ˆ3−n∗sx4∗sx2+n∗sx3 ˆ 2 )

a2=( sx2y∗sxˆ2−sxy∗sx∗sx2−sx3∗sy∗sx+sy∗sx2ˆ2−n∗sx2y∗sx2+n∗sx3∗sxy ) / ( sx4∗sxˆ2−2∗sx∗sx2∗sx3+sx2ˆ3−n∗sx4∗sx2+n∗sx3 ˆ 2 )

Introducci on Regresi on por mınimos cuadrados

Programa MATLAB: cuadregr.m

funct ion [ a ] = cuadregr ( x , y )% cuadregr : A jus te de curva con regres ion cuadra t i ca% Entrada : x , y−−−−Sal ida : a=[a2 , a1 , a0 ]n = length ( x ) ;i f length ( y ) ˜=n , error ( ’ x−y d i f e r e n t e s long i tudes ’ ) ; endsx=sum ( x ) ; sy=sum ( y ) ; sx2=sum ( x .∗ x ) ; sxy=sum ( x .∗ y ) ;sx3=sum ( x .∗ x .∗ x ) ; sx4=sum ( x .∗ x .∗ x .∗ x ) ; sx2y=sum ( x .∗ x .∗ y ) ;a ( 3 ) =( sx2y∗sx2ˆ2−sxy∗sx2∗sx3−sx4∗sy∗sx2+sy∗sx3ˆ2−sx∗sx2y

∗sx3+sx∗sx4∗sxy ) / ( sx4∗sxˆ2−2∗sx∗sx2∗sx3+sx2ˆ3−n∗sx4∗sx2+n∗sx3 ˆ 2 ) ;

a ( 2 ) =( sx2 ˆ2∗ sxy+n∗sx2y∗sx3−n∗sx4∗sxy−sx∗sx2∗sx2y+sx∗sx4∗sy−sx2∗sx3∗sy ) / ( sx4∗sxˆ2−2∗sx∗sx2∗sx3+sx2ˆ3−n∗sx4∗sx2+n∗sx3 ˆ 2 ) ;

a ( 1 ) =( sx2y∗sxˆ2−sxy∗sx∗sx2−sx3∗sy∗sx+sy∗sx2ˆ2−n∗sx2y∗sx2+n∗sx3∗sxy ) / ( sx4∗sxˆ2−2∗sx∗sx2∗sx3+sx2ˆ3−n∗sx4∗sx2+n∗sx3 ˆ 2 ) ;

% Ploteo de l a data y l i n e a rec ta a justadaxp = l inspace ( min ( x ) ,max ( x ) ,100) ;yp = a ( 3 ) +a ( 2 ) ∗xp+a ( 1 ) ∗xp . ˆ 2 ;plo t ( x ’ , y ’ , ’ o ’ , xp , yp ) ; gr id on

Introducci on Regresi on por mınimos cuadrados

Ejemplo

Ejemplo 2

Ajuste a un polinomio cuadratico los valores de x y y dados enla siguiente tabla:

xi yi

1 0.52 2.53 2.04 4.05 3.56 6.07 5.5

Introducci on Regresi on por mınimos cuadrados

Ejemplo

Ejemplo 2: Programa Matlab