ajuste de curvas. regresión. - métodos numéricos · 2019. 4. 9. · beamer-tu-logo...

35
beamer-tu-log Ajuste de curvas. Regresi ´ on. Curso: M´ etodos Num ´ ericos en Ingenier´ ıa Profesor: Dr. Jos´ e A. Otero Hern´ andez Correo: [email protected] web: http://metodosnumericoscem.weebly.com Universidad: ITESM CEM

Upload: others

Post on 27-Jan-2021

1 views

Category:

Documents


1 download

TRANSCRIPT

  • beamer-tu-logo

    Ajuste de curvas.Regresión.

    Curso: Métodos Numéricos en Ingenierı́aProfesor: Dr. José A. Otero HernándezCorreo: [email protected]: http://metodosnumericoscem.weebly.comUniversidad: ITESM CEM

    http://metodosnumericoscem.weebly.com

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Tópicos

    1 Introducción

    2 Regresión por mı́nimos cuadradosRegresión lineal por mı́nimos cuadradosEjemploPrograma MATLAB: linregr.mRegresión cuadrática por mı́nimos cuadradosPrograma MATLAB: cuadregr.mEjemplo

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Tópicos

    1 Introducción

    2 Regresión por mı́nimos cuadradosRegresión lineal por mı́nimos cuadradosEjemploPrograma MATLAB: linregr.mRegresión cuadrática por mı́nimos cuadradosPrograma MATLAB: cuadregr.mEjemplo

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ajuste de curvasEs común que los datos se den como valores discretos,Se podrı́a necesitar la estimación 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 unafunción complicada,Estas aplicaciones se conocen como ajuste de curvas.

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ajuste de curvasEs común que los datos se den como valores discretos,Se podrı́a necesitar la estimación 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 unafunción complicada,Estas aplicaciones se conocen como ajuste de curvas.

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ajuste de curvasEs común que los datos se den como valores discretos,Se podrı́a necesitar la estimación 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 unafunción complicada,Estas aplicaciones se conocen como ajuste de curvas.

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ajuste de curvasEs común que los datos se den como valores discretos,Se podrı́a necesitar la estimación 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 unafunción complicada,Estas aplicaciones se conocen como ajuste de curvas.

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ajuste de curvasEs común que los datos se den como valores discretos,Se podrı́a necesitar la estimación 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 unafunción complicada,Estas aplicaciones se conocen como ajuste de curvas.

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Métodos generales para el ajuste de curvas

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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Métodos generales para el ajuste de curvas

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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Tópicos

    1 Introducción

    2 Regresión por mı́nimos cuadradosRegresión lineal por mı́nimos cuadradosEjemploPrograma MATLAB: linregr.mRegresión cuadrática por mı́nimos cuadradosPrograma MATLAB: cuadregr.mEjemplo

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadrados

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadradosProblema: 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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadradosProblema: 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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadradosProblema: 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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadrados

    Ajuste de una lı́nea recta por mı́nimos cuadradosPara 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

    = −2n∑

    i=1

    (yi − a0 − a1xi) = 0

    ∂Sr∂a1

    = −2n∑

    i=1

    (yi − a0 − a1xi)xi = 0

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión 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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión 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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión lineal por mı́nimos cuadrados

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

    a1 =

    nn∑

    i=1xiyi −

    n∑i=1

    xin∑

    i=1yi

    nn∑

    i=1x2i −

    (n∑

    i=1xi

    )2

    a0 =

    n∑i=1

    yi

    n− a1

    n∑i=1

    xi

    n

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ejemplo

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

    xi yi1 0.52 2.53 2.04 4.05 3.56 6.07 5.5

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ejemplo

    Solución

    clear ; 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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ejemplo

    Solución

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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Programa MATLAB: linregr.m

    Programa Matlab

    function [ 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 ) ;plot ( x ’ , y ’ , ’ o ’ , xp , yp ) ; grid on

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Programa MATLAB: linregr.m

    Ejemplo 1: Programa Matlab

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadradosProblema: Ajustar a un polinomio cuadrático(y = a0 + a1x+ a2x2) 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 cuadrático 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 − a2x2i

    )2

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadradosProblema: Ajustar a un polinomio cuadrático(y = a0 + a1x+ a2x2) 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 cuadrático 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 − a2x2i

    )2

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadradosProblema: Ajustar a un polinomio cuadrático(y = a0 + a1x+ a2x2) 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 cuadrático 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 − a2x2i

    )2

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadradosProblema: Ajustar a un polinomio cuadrático(y = a0 + a1x+ a2x2) 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 cuadrático 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 − a2x2i

    )2

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadrados

    Ajuste del polinomio cuadrático por mı́nimos cuadradosPara determinar los valores de a0, a1 y a2, hay que derivar Srcon respecto a cada uno de los coeficientes (a0, a1, a2) e iguala cero:

    ∂Sr∂a0

    = −2n∑

    i=1

    (yi − a0 − a1xi − a2x2i

    )= 0

    ∂Sr∂a1

    = −2n∑

    i=1

    (yi − a0 − a1xi − a2x2i

    )xi = 0

    ∂Sr∂a2

    = −2n∑

    i=1

    (yi − a0 − a1xi − a2x2i

    )x2i = 0

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadrados

    Ajuste del polinomio cuadrático por mı́nimos cuadrados

    n∑i=1

    yi = na0 +

    (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

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadrados

    Programa para la solución del sistema

    clear ; 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 )

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Regresión cuadrática por mı́nimos cuadrados

    Solución 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 )

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Programa MATLAB: cuadregr.m

    function [ 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 ;plot ( x ’ , y ’ , ’ o ’ , xp , yp ) ; grid on

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ejemplo

    Ejemplo 2Ajuste a un polinomio cuadrático los valores de x y y dados enla siguiente tabla:

    xi yi1 0.52 2.53 2.04 4.05 3.56 6.07 5.5

  • beamer-tu-logo

    Introducción Regresión por mı́nimos cuadrados

    Ejemplo

    Ejemplo 2: Programa Matlab

    Parte principalIntroducciónRegresión por mínimos cuadradosRegresión lineal por mínimos cuadradosEjemploPrograma MATLAB: linregr.mRegresión cuadrática por mínimos cuadradosPrograma MATLAB: cuadregr.mEjemplo