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