Minimos Cuadrados en Matlab

Embed Size (px)

Citation preview

  • 1

    TAREA N 1

    IDENTIFICACIN DE PARMETROS Ajustes de curvas y regresin

    Universidad de Concepcin Facultad de Ingeniera

    Departamento Ingeniera Elctrica.

    Departamento Ingeniera Elctrica.

    Alumnos:

    Hctor A. Mella C.

    Sebastin O. Mardones M.

    Profesor:

    Alejandro Rojas

    Asignatura:

    Identificacin de parmetros

    29 de abril de 2011

  • 2

    Introduccin:

    El ajuste de curvas es un problema ampliamente utilizado en ingeniera y especficamente

    corresponde a problemas tratados en anlisis numrico, rea en la que se han estudiado diversos

    casos. En el mundo que nos rodea existen diversos procesos que nos son de inters analizar, estos

    estn en un plano anlogo, pero en la mayora de los casos es necesario transportarlos al mundo digital de la manera ms precisa posible mediante conversores A/D. En ingeniera son muchas las

    ocasiones en que es necesario proponer funciones y modelos que se ajusten lo ms fielmente

    posible a la realidad. Para ofrecer una buena solucin a estos problemas se usan mtodos como la Interpolacin, Mtodo de Mnimos Cuadrados, Regresin lineal y no lineal, entre otros.

    En este informe nos centraremos en el Mtodo de Mnimos Cuadrados y Regresin.

    El objetivo de este informe es estudiar la teora y tambin mostrar ejemplos los mtodos de

    Mnimos Cuadrados y Regresin, pero tambin se tratar el tema de interpolacin polinomial.

    1.- Mtodo de los Mnimos Cuadrados.

    El mtodo de mnimos cuadrados es una herramienta que permite dar respuesta al problema de

    resolver sistemas de ecuaciones lineales sobre-determinados, es decir, sistemas lineales con ms

    ecuaciones que incgnitas. As, en lugar de resolver las ecuaciones de manera exacta, habitualmente

    no existe tal solucin, se busca minimizar la suma de los cuadrados de los residuos. En especfico la aproximacin de curvas mediante mnimos cuadrados busca encontrar los coeficientes para la

    funcin F(x) tal que aproxime de la mejor forma posible al un set de datos.

    As, dado un conjunto de puntos ),( kk yx , con k=1,2,,n pares de datos y fj(x) para j=1,2,m un

    conjunto de m funciones linealmente independientes nos proponemos encontrar un kk yxF )( es

    decir:

    m

    j

    jj xfcxF1

    )()(

    Notar que las funciones bases fj(x) pueden ser cualesquiera, luego se sobreentiende que F(x) es una

    combinacin lineal de dichas funciones base. Para el caso particular en que la funcin F(x) sea un polinomio de orden n se tiene

    n

    n xcxccxf ...)( 21

    Usualmente para el set de datos se contempla m>n, es decir un sistema sobre-determinado de m

    ecuaciones y n variables, en otras palabras este no tiene solucin.

    Ahora bien, se puede considerar todo lo anterior en un sistema matricial de ecuaciones

    ycA

    DondemxnRA matriz rectangular de m filas que es consecuente con el numero de ecuaciones del

    que se disponga y n columnas referente al grado de la funcin o polinomio F(x), y mRc

    Una alternativa es buscar una solucin para el vector c nR tal que el error definido como

    )( kkk xFye sea mnimo. Es importante mencionar que existen variadas formas de definir el error, mas an cuando ste se aplica a un conjunto de puntos y no solo a uno, dicho error podr ser considerado como:

    - Mximo Error: keFE max)(max

  • 3

    - Error Medio: m

    e

    FE

    m

    k

    k

    m

    1)(

    - Error Cuadrtico Medio:

    m

    e

    FE

    m

    k

    k

    cm

    1

    2

    )(

    Siendo esta ltima manera de calcular el error la ms comn y la utilizada por el mtodo de

    mnimos cuadrados.

    Luego dado el conjunto de puntos ),(, ... ),,( 11 mm yxyx se busca que el error

    m

    i

    ii yxF1

    2)(

    Sea lo menor posible, teniendo en cuenta que se debe encontrar el vector c que mejor aproxime a

    Ac=y

    mnmnmm

    n

    n

    y

    y

    y

    c

    c

    c

    xfxfxf

    xfxfxf

    xfxfxf

    2

    1

    2

    1

    21

    22221

    11211

    )()()(

    )()()(

    )()()(

    Si atendemos al sistema anterior, entonces se ve claramente que al multiplicar A y c, se pueden

    generar infinitas combinaciones para los valores de c, por lo dems, el vector y no tiene por qu se

    una de ellas(si lo hiciera, el sistema Ac=b tendra solucin). Lo que se necesita entonces es una

    combinacin lineal de las columnas de A lo ms cercana al vector y. Para esto se define el residuo como:

    cAyr

    De manera que el mnimo error cuadrtico supone minimizar el residuo, quiz pueda hacerse

    pequeo con una adecuada eleccin de c, pero en general ser distinto de cero, luego

    Ar matriz la den combinacio algna a

    Entonces se tiene que un vector c minimiza la norma del residuo r si y solo s r es ortogonal a la

    imagen de A, as 0 rAt donde tA es la matriz transpuesta de A.

    En consecuencia c debe satisfacer yAAcAAcyA ttt 0)(

    Finalmente el vector de coeficientes que minimiza el error y en consecuencia proporciona una

    mejor aproximacin est dado por:

    yAAAc tt 1

    A esta ecuacin se le llama ecuacin normal de Gauss, y es vlida para cualquier conjunto de

    funciones base.

  • 4

    Ejemplo mtodo mnimos cuadrados caso lineal:

    Se tiene un set de datos los que se desean ajustar en el sentido de Mnimos cuadrados segn una

    aproximacin polinomial de tercer orden. Tabla 1.1: Set de datos aproximacin polinomial

    Se deben encontrar los coeficientes a, b, c y d para determinar el polinomio p(x)

    dxcxbxaxp )( 23

    Evaluando los valores de x presentes en la Tabla 1.1 segn el polinomio anterior se puede obtener un sistema de ecuaciones de la forma AX=Y , donde en la matriz A cada fila representa a un dato

    evaluado en las funciones normalizadas fj(x) con j=1,2,3,4 correspondientes al polinomio, el

    vector c contiene los coeficientes (a determinar) que minimizan el error y el vector y los datos de salida de nuestra funcin a aproximar.

    y

    d

    c

    b

    a

    0000.0

    6094.3

    5000.4

    9531.2

    0000.0

    9531.2

    5000.4

    6094.3

    0000.0

    4844.5

    5000.10

    000.1000.5000.25000.125

    000.1500.4250.20125.91

    000.1000.4000.16000.64

    000.1500.3250.12875.42

    000.1000.3000.9000.27

    000.1500.2250.6625.15

    000.1000.2000.4000.8

    000.1500.1250.2375.3

    000.1000.1000.1000.1

    000.1500.0250.0125.0

    000.1000.0000.0000.0

    c

    A

    Notar que el sistema posee ms ecuaciones que incgnitas (m>n), es decir, es un sistema sobre-determinado. El sistema se puede resolver de forma nica con las primeras tres ecuaciones, pero

    con este resultado no se satisface al resto.

    Entonces se tiene que para que el error cuadrtico medio sea el mnimo

    X Y

    0.0 10.500

    0.5 5.4844

    1.0 0.0000

    1.5 -3.6094 2.0 -4.5000

    2.5 -2.9531

    3.0 0.000 3.5 2.9531

    4.0 4.5000

    4.5 3.6094

    5.0 0.0000

  • 5

    11

    )(

    )(

    11

    1

    223

    1

    2

    kkkkk

    m

    k

    k

    cm

    dxcxbxay

    m

    e

    FE

    Se debe escoger un vector c tal que:

    ycA yAcAA tt yAAAc tt 1 Obsrvese que la matriz tt AAA 1 es la inversa izquierda de A, tambin llamada pseudoinversa de A y para que ella exista las ecuaciones que definen a A deben ser linealmente independientes.

    As resulta un

    0000.12

    7917.20

    5000.8

    9583.0

    c

    Finalmente se tiene el polinomio de tercer grado que aproxima el conjunto de datos con el menor error cuadrtico medio como

    127917.205.89583.0)( 23 xxxxp

    Figura 1.1:Aproximacin lineal mediante mtodo mnimos cuadrados

    %% Minimos cuadrados caso lineal

    t=(0:0.01:5);

    X= [0.0; 0.5 ;1.0; 1.5 ;2.0; 2.5 ;3.0; 3.5 ;4.0 ;4.5 ;5.0];

    A=[X.^3,X.^2,X.^1,X.^0];

    Y=[10.500; 5.4844; 0.0000; -3.6094; -4.5000; -2.9531; 0.000; 2.9531;...

    4.5000; 3.6094; 0.0000];

    b=(inv(A.'*A))*(A.')*Y;

    res1=Y-A*b;

    C=b(4)+b(3)*t.^1+b(2)*t.^2+b(1)*t.^3;

    figure(1)

    plot(t,C,'linewidth',2); grid on; xlabel('x'); ylabel('y');

    title('Aproximacin mtodo mnimos cuadrados');

    hold; plot(X,Y,'or','linewidth',2);

    legend('Aprox. mnimos cuadrados','Mediciones');

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-6

    -4

    -2

    0

    2

    4

    6

    8

    10

    12

    14Aproximacin mtodo mnimos cuadrados

    x

    y

    Aprox. mnimos cuadrados

    Mediciones

  • 6

    Ejemplo mtodo mnimos cuadrados caso no lineal reducible a lineal:

    Considerando la siguiente tabla de valores

    Tabla 1.2: Set de datos aproximacin no lineal

    Se quiere ajustar a la funcin no lineal del tipo bxeaxf )(

    Debido a que el mtodo de mnimos cuadrados no las herramientas necesarias para calcular una buena aproximacin para funciones no lineales, en particular para este caso la no linealidad de la

    funcin exponencial, se debe transformar el problema a uno lineal.

    Tomando logaritmo natural a ambos lados el problema se transforma en:

    ) ln( / )( bxeaxf

    xbaxf )ln())(ln(

    Haciendo el cambio de variable z=ln(f(x)) =ln(y) se tiene un nuevo conjunto de datos.

    Tabla 1.3: Nuevo Set de datos aproximacin no lnea

    Estos datos se puede establecen seis ecuaciones y dos incgnitas. Entonces se tiene el siguiente

    sistema sobre-determinado.

    7860.2

    3986.2

    1577.2

    7951.1

    4854.1

    1454.1

    )ln(

    000.21

    600.11

    200.11

    800.01

    400.01

    000.01

    z

    x

    A

    b

    a

    Resolviendo el problema de mnimos cuadrados

    X Y

    0.0 3.1437 0.4 4.4169

    0.8 6.0203

    1.2 8.6512 1.6 11.0078

    2.0 16.2161

    X Z=ln(Y)

    0.0 1.1454 0.4 1.4854

    0.8 1.7951

    1.2 2.1577 1.6 2.3986

    2.0 2.7860

  • 7

    zxA yAxAA tt yAAAx tt 1 Se llega a que

    1539.1)ln( a

    Por lo tanto, volviendo al plano original se tiene para los parmetros a y b

    1705.31539.1 ea y b=0.8075

    Y por lo tanto reemplazando en la funcin original los valores obtenidos se tiene

    xbx eeaxf 8075.01705.3)(

    Figura 1.2:Aproximacin lineal mediante mtodo mnimos cuadrados

    %% Minimos cuadrados caso no lineal reducible a lineal

    Y=[3.1437,4.4169,6.0203,8.6512,11.0078,16.2161];

    X=[0.0;0.4;0.8;1.2;1.6;2.0];

    A1=[1;1;1;1;1;1];

    A=[A1,X];

    Z=[1.1454;1.4854;1.7951;2.1577;2.3986;2.7860];

    x=(inv(A.'*A))*(A.')*Z;

    res2=Z-A*x

    a=exp(x(1));

    b=(x(2));

    figure(2)

    plot(X,a*exp(b*X),X,Y,'ok','linewidth',2); grid on; xlabel('x'); ylabel('y');

    title('Aproximacin mtodo mnimos cuadrados no lineal');

    legend('Aprox. mnimos cuadrados 3.17e^0^.^8^0^7','Mediciones');

    figure(3)

    plot(X,1.1539+b*X,'r',X,Z,'ok','linewidth',2); grid on;

    title('Aproximacin mtodo mnimos cuadrados lineal');

    legend('Aprox. mnimos cuadrados','Mediciones');

    En definitiva, mediante el cambio de variable z=ln(f(x)) =ln(y) transformamos el problema no lineal

    a lineal, donde es posible ver grficamente que los nuevos datos se pueden aproximar de buena

    0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 21

    1.2

    1.4

    1.6

    1.8

    2

    2.2

    2.4

    2.6

    2.8Aproximacin mtodo mnimos cuadrados lineal

    Aprox. mnimos cuadrados

    Mediciones

  • 8

    manera con una recta, para encontrar los coeficientes de esta se utiliz mnimos cuadrados segn el

    procedimiento anterior, obteniendo el resultado que se muestra en la figura1.2 . Luego para tener la

    solucin real a nuestro problema se aplica la funcin exponencial obtenindose los resultados

    expuestos en la figura1.3.

    Figura 1.3:Grafica resultado Aproximacin no lineal

    Si bien el mtodo de los mnimos cuadrados solo sirve para aproximar modelos lineales, existen

    otros casos de modelos no lineales reducibles a lineales, como por ejemplo:

    2

    )( bxaxecxf : Aplicando logaritmo natural

    xb

    axf

    )(

    : Tomando los recproco

    bxea

    kxf

    1)( 0

    : Con k0 conocido, se toman los recprocos, se resta 1 para finalmente

    se aplica logaritmo natural.

    Se puede llegar a una buena aproximacin mediante este mtodo.

    Una observacin importante es que este mtodo proporciona una buena estimacin cuando se tienen

    pocos datos (alrededor de diez), o en su defecto, un nmero mayor de mediciones pero bajo las

    mismas circunstancias experimentales, ya que si se presentan mediciones atpicas y estas son

    asimtricas los parmetros estimados pueden estar sesgados por estos valores errneos, el mtodo

    de mnimos cuadrados presenta una notoria falta de robustez frente a este problema y en ocasiones

    0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22

    4

    6

    8

    10

    12

    14

    16

    18

    x

    y

    Aproximacin mtodo mnimos cuadrados no lineal

    Aprox. mnimos cuadrados 3.17e0.807

    Mediciones

  • 9

    las aproximaciones pueden ser ineficientes en extremo debido a la presencia de mediciones atpicas

    asimtricas.

    Por otra parte, es reproducible, cada experimentador proporciona igual aproximacin para datos

    iguales, no obstante en el sentido de adquirir la data es irreproducible.

    2.- Regresin Lineal y Cuadrtica:

    El mtodo de regresin es ampliamente utilizado para pronosticar funciones. Aunque los casos que

    veremos en el presente informe, se limita a un nmero de casos especficos. En otras palabras los

    puntos dados tienen que tener una proyeccin en el tiempo, ya sea lineal o cuadrtica. Como

    veremos a continuacin el mtodo se basa en reducir el error total en la zona de la interpolacin.

    Regresin Lineal

    La regresin lineal se utiliza cuando los puntos a tratar siguen una trayectoria de carcter lineal.

    Entonces se buscara la recta que mejor ajuste a todos los puntos dados. De manera de reducir el

    error deseado.

    Como veremos a continuacin la deduccin del mtodo usado es bastante sencilla.

    Conocemos n datos (1 ,1), (2,2), ( ,), y deseamos encontrar la recta que mejor se ajuste

    a estos n puntos. Como ya sabemos la forma que tendr la recta ser

    = + ; De ac es fcil ver que debemos encontrar ,.

    Tenemos en la figura una serie de puntos distribuidos en el plano y una recta cualquiera que

    pretende realizar una buena interpolacin a todos los puntos dados.

    Figura2.1: Puntos en el plano y una recta que pretende aproximar a la funcin generadora de

    estos puntos

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

    1

    2

    3

    4

    5

    6puntos dados

    x

    y

  • 10

    Notar que esta es nuestra curva aproximada y debemos minimizar el error. El error es la diferencia

    entre la recta propuesta y los puntos dados. A cada error lo denotaremos.

    = ( + )

    Este corresponde al error del punto i. Es fcil notar que el Error total ser la suma de todos los

    errores. Adems cabe destacar que el error puede ser positivo o negativo, por lo que al intentar

    buscar un mnimo nos enfrentaremos a un problema, por ejemplo; un = 10 es menor error que

    = 2.5. Claramente la afirmacin no es del todo correcta, pues si bien en signo = 10 es

    menor, en magnitud resulta ser un peor error. Para resolver este problema buscamos encontrar el

    mnimo error al cuadrado as.

    (,) = 2

    0

    = { ( + )}

    0

    2

    Por lo que ahora nos centramos en minimizar la amplitud del error, el cual se producir cuando

    = + . Entonces dada que esta funcin es la que debemos minimizar en trminos de .

    Simplemente derivamos la funcin y la igualamos a cero.

    =

    { + }

    2

    0

    = 2 { ( + )}

    0

    =

    { + }

    2

    0

    = 2 { ( + )}

    0

    Y despejando nuestras variables de inters tenemos que:

    0 = 2

    0

    0

    + 2

    0

    =

    0

    0 =

    0

    + =

    0

    0

    Esto da como resultado un sistema de ecuaciones lineales de 2x2, donde la solucin se puede

    realizar por simple sustitucin como sigue.

    =

    0

    0

    0

    20

    0

    2

  • 11

    =1

    0

    0

    Una vez obtenida la forma de encontrar la mejor recta, veamos un ejemplo para ilustrar su

    funcionamiento

    Ejemplo Regresin Lineal

    Los puntos dados estn dados en la siguiente tabla:

    Tabla 2.1: Set de datos regresin lineal

    X Y

    0 0.8256

    0.5000 1.2900

    1.0000 1.3185

    1.5000 2.0341

    2.0000 2.0900

    2.5000 2.6117

    3.0000 3.1363

    3.5000 4.1787

    4.0000 4.4952

    4.5000 4.6897

    5.0000 5.4950

    Cdigo solucin

    x=0:0.5:5;

    y=[ 0.8256 1.2900 1.3185 2.0341 2.0900 2.6117...

    3.1363 4.1787 4.4952 4.6897 5.4950];

    % Algoritmo de resolucin:

    m=(length(x)*(x*y')-sum(x)*sum(y))/(length(x)*(x*x')-(sum(x))^2);

    beta=(1/length(x))*(sum(y)-m*sum(x));

    figure(1) % Ploteo de puntos y solucion

    plot(x,y,'ob',x,beta+m*x,'-r');grid on;

    title('puntos dados')

    xlabel('x')

    ylabel('y')

  • 12

    Figura 2.2: Set de datos y Aproximacin mediante regresin lineal

    La recta encontrada: = 0.942 + 0.569

    Se puede concluir que el proceso de regresin fue exitoso, la recta encontrada claramente ajusta a

    los puntos dados.

    Regresin Cuadrtica:

    La idea es igual que en la regresin lineal, tenemos un conjunto de datos

    (1,1), (2,2), ( , ) y sabemos que esos datos corresponden a una funcin desconocida. La

    idea es ajustar aquellos puntos a la parbola que mejor los aproxime. De esta forma la funcin que

    obtendr este mtodo es:

    = 2 + +

    Como vemos ahora interesa encontrar tres parmetros a, b y c.

    Anlogo al caso anterior el error total es:

    (, , ) = 2

    0

    = { 2 }

    2

    0

    Entonces derivando cada la funcin del error por cada parmetro de inters y luego igualando a cero

    tenemos que.

    =

    {

    2 }2

    0

    = 2 { 2 }

    0

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    4.5

    5

    5.5Puntos dados y Solucin con Regresin Lineal

    x

    y

  • 13

    =

    {

    2 }2

    0

    = 2 { 2 }

    0

    =

    {

    2 }2

    0

    = 2 { 2 }

    0

    2

    2

    0

    +

    0

    + =

    0

    3

    0

    + 2

    0

    +

    0

    =

    0

    4

    0

    + 3 +

    2

    0

    0

    = 2

    0

    Notar que en esta ocasin tenemos un sistema de 3x3, cabe destacar que se pueden realizar mtodos

    bsicos de resolucin de ecuaciones, pero por simplicidad de resolver de la forma matricial.

    2

    0

    0

    3

    0

    2

    0

    0

    4

    0

    3

    0

    2

    0

    =

    0

    0

    2

    0

    Notar que estamos frente a un sistema cuadrado de 3x3, donde la solucin de dicho sistema es el

    vector de coeficientes .

  • 14

    Ejemplo Regresin Cuadrtica

    Dados los puntos

    Tabla 2.2: Set de datos regresin lineal cuadrtica

    X Y

    0 0.9629

    0.5000 1.9739

    1.0000 1.8361

    1.5000 4.8110

    2.0000 5.2438

    2.5000 8.1302

    3.0000 11.2159

    3.5000 14.2359

    4.0000 19.1116

    4.5000 21.9506

    5.0000 26.0898

    Cdigo Solucin

    x=0:0.5:5;

    y =[ 0.9629 1.9739 1.8361 4.8110 5.2438 8.1302...

    11.2159 14.2359 19.1116 21.9506 26.0898];

    A=[(x*x') sum(x) length(x);...

    sum(x.^3) (x*x') sum(x);...

    sum(x.^4) sum(x.^3) (x*x')];

    b=[sum(y);x*y';y*(x.^2)'];

    SOL=inv(A)*b;

    figure(3)

    plot(x,y,'ob',x,SOL(1)*x.^2+SOL(2)*x+SOL(3),'r');grid on;

    title('Puntos dados y Solucin con Regresin Cuadrtica')

    xlabel('x')

    ylabel('y')

  • 15

    Figura2.2: Set de datos y Aproximacin mediante regresin lineal cuadrtica

    Del grfico se concluye que la parbola encontrada si ajusta a los puntos dados. Entonces la

    solucin mediante Regresin Cuadrtica es:

    = 0.86092 + 0.8261 + 0.9073

    Regresin no Lineal

    A parte de los mtodos de regresin mostrados, especficamente el lineal, se pueden resolver casos

    no lineales, que son reductibles a lineales. Ejemplo de esto son la funcin exponencial, potencial y

    logaritmo. Que son fcilmente reductibles a lineales.

    Ajustar un modelo potencial de la forma = y uno exponencial de la forma = , se

    reduce a una funcin lineal con slo tomar logaritmo.

    Respecto al modelo potencial: Si tomamos los logaritmos obtenemos:

    log = log = log + log()

    Notemos que la ecuacin obtenida corresponde a una ecuacin de la recta donde: = + y en

    nuestra ecuacin linealizada log = , log = , log = .Entonces podemos trabajar

    el modelo como uno lineal y luego volver a nuestras variables de inters.

    Respecto al modelo exponencial: Esta relacin entre las variables X e Y se da principalmente en

    experimentos del tipo biolgico. Entonces la nube de puntos dados vienen dados por la forma de

    curva y = exp(a + bx). Mediante una transformacin lineal, en particular el logaritmo natural,

    transformamos esta regresin en una lineal. En efecto queda.

    ln(y) = a + bx

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

    5

    10

    15

    20

    25

    30Puntos dados y Solucin con Regresin Cuadrtica

    x

    y

  • 16

    0 2 4 6 8 10 12 14 16 18 200.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    Entonces de ac se obtiene = ln(y), lo que la convierte en una regresin lineal

    Respecto al modelo logartmico: Si nuestro conjunto de puntos sigue un modelo logartmico

    tenemos que sera de la forma = a + blog(x), la cual tambin es una recta, pero ahora esta

    referida a log(x) y a Y. Es importante notar que el nico cambio en este modelo se realiza en el eje

    de las abscisas pasando de escala lineal a logartmica, y luego volviendo a lineal.

    Ejemplo de Regresin reductible a lineal:

    Debido a que la regresin lineal ya se abordo y que todas estas linealizaciones siguen una misma

    lgica, se opto por mostrar slo un ejemplo de regresin reductible a lineal. Modelo Logartmico.

    Tabla 2.3: Set de datos regresin no lineal

    X Y

    1 0.5816

    2 1.2202

    3 1.7831

    4 1.9247

    5 1.7664

    6 2.0636

    7 2.7015

    8 2.5249

    9 2.5641

    10 2.7046

    11 3.1081

    12 2.5082

    13 2.9918

    14 2.8380

    15 3.1434

    16 3.1693

    17 3.2345

    18 3.6499

    19 3.1624

    20 3.9490

    Figura2.3: Set de datos regresin no lineal

  • 17

    Linealizando el problema

    Figura2.2: Set de datos linealizados y Aproximacin mediante regresin lineal

    Notemos que si pasamos este problema a lineal, cambiando el eje de las abscisas a escala

    logartmica, podemos resolver el problema como se muestra en la figura.

    Figura2.2: Set de datos original y Aproximacin mediante regresin no lineal

    Volviendo a la escala inicial tenemos la solucin al problema dado. Donde la curva encontrada

    satisface las condiciones de mnimo.

    = 0.5246 + 0.9708log(x)

    0 2 4 6 8 10 12 14 16 18 200.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    0 0.5 1 1.5 2 2.5 30.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

  • 18

    Cdigo solucin:

    X=1:1:20;

    y=[ 0.5816 1.2202 1.7831 1.9247 1.7664 2.0636 2.7015 2.5249

    2.5641 2.7046 3.1081 2.5082 2.9918...

    2.8380 3.1434 3.1693 3.2345 3.6499 3.1624 3.9490];

    figure(6)

    plot(X,y,'o');grid on;

    x=log(X);

    m=(length(x)*(x*y')-sum(x)*sum(y))/(length(x)*(x*x')-(sum(x))^2);

    beta=(1/length(x))*(sum(y)-m*sum(x));

    figure(4)

    plot(x,y,'o',x,beta+m*x,'-r');grid on;

    % Volviendo a las variables originales

    figure(5)

    plot(X,y,'o',X,beta+m*x);grid on;

    3.- La Interpolacin Polinomial

    Es un mtodo de ajuste de curvas que pretende encontrar un ajuste exacto, en otras palabras que la

    curva encontrada pase por todos los puntos dados. Entre las ms utilizadas tenemos La

    interpolacin polinomial de Lagrange y Splines Cubicas. En este informe presentaremos los

    polinomios de Lagrange.

    Interpolacin Polinomial: Nuestro objetivo es obtener una funcin P, cuya curva aproxime a una

    funcin desconocida F de la que solo tenemos un limitado nmero de puntos. Por lo tanto estos

    puntos son utilizados como requisito para la funcin P. En otras palabras le exigimos a P que por lo

    menos pase por los puntos (0,0), (1,1), ( ,).

    Entonces tenemos los n+1 puntos dados, y adems les pedimos que puedan representar a una

    funcin es decir si . Siguiendo con P, ste es un polinomio = 0 + 1 +

    , notemos que tenemos m+1 parmetros independientes, adems resulta lgico pensar que

    m=n.

    Notemos que agregando las condiciones dadas (los puntos de la desconocida funcin F), obtenemos

    un sistema de ecuaciones escrito matricialmente por:

    Problema a solucionar:

    1 1 12 1

    1

    1

    2 1

    1

    +1

    =

    1

    Encontrar la inversa de esta ecuacin matricial corresponde a encontrar el polinomio, pero encontrar

    la inversa de esta ecuacin podra ser una tarea titnica.

  • 19

    Solucin de Lagrange:

    Se puede obtener la solucin al sistema planteado sin la necesidad de resolverlo, esto se logra a

    travs de los polinomios de lagrange. Dado el set de puntos como el mostrado anteriormente, existe

    un polinomio de grano menor o igual a n tal que interpola los puntos dados. El polinomio que

    realiza esto es p(x), el cual es nico dentro del conjunto de polinomios menor o igual a n.

    El polinomio se construye de la siguiente manera:

    Primeramente se determina el polinomio , de grado menor o igual a n que interpola a los puntos

    ( , ) tal que = 1 e = 0 para todo .

    = 0 1 1 +1 ( )

    Tal que = 0 para todo .

    Pues de la ecuacin es fcil notar que si = 0=> 0 = 0, si = => = 0.

    Ahora si definimos a la constante c como:

    = [ 0 1 ( 1)( +1) ( )]1

    Por lo tanto tenemos que:

    ()

    =0

    , = 0,.

    Notemos que estos polinomios satisfacen la relacin:

    = 1 = 0

    , = 0,.

    El conjunto de 0,1 . es una base del espacio de polinomios de grado menor o igual a n.

    Dicho esto y con todas las dems definiciones es posible ver:

    = 00 +

    Este polinomio de grado n (o menor) satisface la condicin de = , para todo i.

    Resumiendo:

    =

    =0

    ()

    Donde (), es la descrita anteriormente.

  • 20

    Ejemplo de Polinomios de Lagrange:

    A pesar de que Matlab incorpora funciones de polinomios, por ejemplo polyfit y polyvar. A

    continuacin se muestra el algoritmo solucin implementado por nosotros, para la resolucin de

    este problema. Adems se comentar, por que las funciones polinomiales no son tan

    frecuentemente usadas como las del tipo de regresin, mnimos cuadrados u otros ajustes.

    Codigo Solucin

    %% Algorirmo de lagrange

    x=-5:5;

    y=1./(1+x.^2);

    xx=-5:0.1:5;

    const=zeros;

    p=zeros;

    for k=1:length(xx)

    for h=1:length(x)

    const(h)=li(h,x,xx(k));

    end

    p(k)=y*const';

    end

    figure(1)

    plot(x,y,'o',xx,p);grid on;

    Donde la funcin li es: li.m

    function sol=li(i,x,var)

    sol=1;

    for j=1:11

    if j==i

    continue

    end

    sol=sol*((var-x(j))/(x(i)-x(j)));

    end

  • 21

    Figura3.1: Aproximacin de curva mediante polinomios de Lagrange

    Notar que este algoritmo cruza exactamente a todos los punto, por lo que el error resultante es cero.

    Lamentablemente se producen variadas oscilaciones especialmente en los extremos de la

    interpolacin, evidentemente esto es un efecto no deseado. A este fenmeno se le conoce como El

    Fenmeno de Runge, mtodos como numricos polinomicos como la spline cubica mejora esto, ya

    que crea funciones cubicas por tramos, asegurando la suavidad entre cada tramo, pero

    lamentablemente se sacrifica simplicidad, debido al fuerte trabajo de calculo que requiere la spline.

    Conclusiones

    En esta tarea se han presentado las ideas fundamentales para el ajuste de datos experimentales a

    polinomios o formas no lineales que forman un sistema lineal de coeficientes. Los mtodos tratados son en general mtodos propiamente de aproximacin grfica, precisamente es por esta razn, por la

    cual se debe tener un buen conocimiento sobre el conjunto de datos tratados ya que para tener los

    resultados deseados, es decir una representacin fiable de lo que realmente ocurre en un proceso los datos obtenidos deben cumplir con una serie de requerimientos, entre ellos los ms importantes son

    la ausencia de redundancia y obtencin de datos anmalos, estos ltimos pueden alterar

    enormemente las aproximaciones efectuadas por cualquiera los mtodos mencionados.

    Tambin tener en cuenta que no siempre una aproximacin optima de los datos experimentales

    determina una mejor aproximacin o modelo para un proceso dado, es sabido que la adquisicin de

    datos posee una cierta incertidumbre y en consecuencia la data se ve alterada por errores de medicin o presencia de ruido. Teniendo esto en cuenta la excesiva aproximacin (interpolacin) de

    los datos en muchos casos podran llevarnos a aproximaciones errneas que por lo dems son

    mucho ms complejas de lo que realmente son los mismos procesos, un ejemplo de esto es la interpolacin polinomial como la mostrada en la figura.3.1.

    -5 -4 -3 -2 -1 0 1 2 3 4 5-0.5

    0

    0.5

    1

    1.5

    2

    puntos

    aproximacin polinomial

    real