100% encontró este documento útil (1 voto)
1K vistas21 páginas

Minimos Cuadrados en Matlab PDF

Este documento presenta un estudio sobre el método de mínimos cuadrados y la regresión. Explica que el método de mínimos cuadrados permite aproximar curvas a un conjunto de datos minimizando la suma de los cuadrados de los errores. Proporciona un ejemplo de cómo aplicar el método para encontrar los coeficientes de un polinomio cúbico que se ajuste a un conjunto de datos dado mediante la solución de un sistema de ecuaciones.

Cargado por

Henry Rodriguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
1K vistas21 páginas

Minimos Cuadrados en Matlab PDF

Este documento presenta un estudio sobre el método de mínimos cuadrados y la regresión. Explica que el método de mínimos cuadrados permite aproximar curvas a un conjunto de datos minimizando la suma de los cuadrados de los errores. Proporciona un ejemplo de cómo aplicar el método para encontrar los coeficientes de un polinomio cúbico que se ajuste a un conjunto de datos dado mediante la solución de un sistema de ecuaciones.

Cargado por

Henry Rodriguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 21

Universidad de Concepción Departamento Ingeniería Eléctrica.

Facultad de Ingeniería
Departamento Ingeniería Eléctrica.

TAREA Nº 1
“IDENTIFICACIÓN DE PARÁMETROS”
“Ajustes de curvas y regresión”

Alumnos:
Héctor A. Mella C.
Sebastián O. Mardones M.
Profesor:
Alejandro Rojas
Asignatura:
Identificación de parámetros
29 de abril de 2011 1
Introducción:

El ajuste de curvas es un problema ampliamente utilizado en ingeniería y específicamente


corresponde a problemas tratados en análisis numérico, área en la que se han estudiado diversos
casos. En el mundo que nos rodea existen diversos procesos que nos son de interés analizar, estos
están en un plano análogo, pero en la mayoría de los casos es necesario transportarlos al mundo
digital de la manera más precisa posible mediante conversores A/D. En ingeniería son muchas las
ocasiones en que es necesario proponer funciones y modelos que se ajusten lo más fielmente
posible a la realidad. Para ofrecer una buena solución a estos problemas se usan métodos como la
Interpolación, Método de Mínimos Cuadrados, Regresión lineal y no lineal, entre otros.
En este informe nos centraremos en el Método de Mínimos Cuadrados y Regresión.
El objetivo de este informe es estudiar la teoría y también mostrar ejemplos los métodos de
Mínimos Cuadrados y Regresión, pero también se tratará el tema de interpolación polinomial.

1.- Método de los Mínimos Cuadrados.

El método de mínimos cuadrados es una herramienta que permite dar respuesta al problema de
resolver sistemas de ecuaciones lineales sobre-determinados, es decir, sistemas lineales con más
ecuaciones que incógnitas. Así, en lugar de resolver las ecuaciones de manera exacta, habitualmente
no existe tal solución, se busca minimizar la suma de los cuadrados de los residuos. En específico la
aproximación de curvas mediante mínimos cuadrados busca encontrar los coeficientes para la
función F(x) tal que aproxime de la mejor forma posible al un set de datos.
Así, dado un conjunto de puntos ( xk , yk ) , 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 F ( xk )  yk es
decir:
m
F ( x)   c j · f j ( x)
j 1
Notar que las funciones bases fj(x) pueden ser cualesquiera, luego se sobreentiende que F(x) es una
combinación lineal de dichas funciones base.
Para el caso particular en que la función F(x) sea un polinomio de orden n se tiene
f ( x)  c1  c2 ·x  ...  cn ·x n
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 solución.

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


A·c  y
mxn
Donde A R 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 función o polinomio F(x), y c  R m
Una alternativa es buscar una solución para el vector c  R tal que el error definido como
n

ek  yk  F ( xk )
sea mínimo.
Es importante mencionar que existen variadas formas de definir el error, mas aún cuando éste se
aplica a un conjunto de puntos y no solo a uno, dicho error podrá ser considerado como:
- Máximo Error:  
Emax ( F )  max ek

2
m

e k
- Error Medio: Em ( F )  k 1

m
m

 e 
2
k
- Error Cuadrático Medio: Ecm ( F )  k 1

Siendo esta última manera de calcular el error la más común y la utilizada por el método de
mínimos cuadrados.
Luego dado el conjunto de puntos ( x1 , y1 ), ... , ( xm , ym ) se busca que el error
m

 F (x )  y
2
i i
i 1
Sea lo menor posible, teniendo en cuenta que se debe encontrar el vector c que mejor aproxime a
A·c=y

 f1( x1 ) f2 ( x1 )  fn ( x1 )   c1   y1 
    
 f1 ( x2 ) f2 ( x2 )  fn ( x2 )   c2   y 2 
  · 
       
    
 f (x ) f2 ( xm )  fn ( xm )   cn   y m 
 1 m

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 demás, el vector y no tiene por qué se
una de ellas(si lo hiciera, el sistema Ac=b tendría solución). Lo que se necesita entonces es una
combinación lineal de las columnas de A lo más cercana al vector y. Para esto se define el residuo
como:
r  y  A·c
De manera que el mínimo error cuadrático supone minimizar el residuo, quizá pueda hacerse
pequeño con una adecuada elección de c, pero en general será distinto de cero, luego
r  a algúna combinacio n de la matriz 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í At ·r  0 donde A es la matriz transpuesta de A.
t

En consecuencia c debe satisfacer A ( y  Ac)  0  A ·Ac  A ·y


t t t

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


mejor aproximación está dado por:
c  At ·A   1
A t ·y
A esta ecuación se le llama ecuación normal de Gauss, y es válida para cualquier conjunto de
funciones base.

3
 Ejemplo método mínimos cuadrados caso lineal:

Se tiene un set de datos los que se desean ajustar en el sentido de Mínimos cuadrados según una
aproximación polinomial de tercer orden.
Tabla 1.1: “Set de datos aproximación polinomial”

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
Se deben encontrar los coeficientes a, b, c y d para determinar el polinomio p(x)
p( x)  a·x 3  b·x 2  c·x  d
Evaluando los valores de x presentes en la Tabla 1.1 según el polinomio anterior se puede obtener
un sistema de ecuaciones de la forma A·X=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 función a aproximar.

 0.000 0.000 0.000 1.000   10.5000 


   
 0.125 0.250 0.500 1.000   5.4844 
 1.000 1.000 1.000 1.000   0.0000 
   
 3.375 2.250 1.500 1.000    3.6094 
 8.000 a
 4.000 2.000 1.000      4.5000 
 15.625 6.250 2.500 1.000  ·      2.9531 
b
  c  
 27.000 9.000 3.000 1.000   d   0.0000 
 42.875 12.250 3.500 1.000    2.9531 
  c  
 64 . 000 16 .000 4 .000 1 .000   4.5000 
 91.125 20.250 4.500 1.000   3.6094 
   

125 .000 25 . 000 5. 000 1 .000 
0.0000
A y

Notar que el sistema posee más ecuaciones que incógnitas (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 cuadrático medio sea el mínimo

4
 y 
m 11

 ek 
2
 (a·xk  b·xk  c·xk  d )
2 3 2
k
Ecm ( F )  k 1
 k 1
m 11

Se debe escoger un vector c tal que:


A·c  y  A ·A·c  A ·y
t t
 c  At ·A  
1
At ·y
 t
1 t
Obsérvese que la matriz A ·A A es la inversa izquierda de A, también llamada pseudoinversa
de A y para que ella exista las ecuaciones que definen a A deben ser linealmente independientes.

  0.9583 
 
 8.5000 
Así resulta un c
 20.7917 
 
 12.0000 
 
Finalmente se tiene el polinomio de tercer grado que aproxima el conjunto de datos con el menor
error cuadrático medio como
p( x)  0.9583·x 3  8.5·x 2  20.7917 x  12

Aproximación método mínimos cuadrados


14
Aprox. mínimos cuadrados
12 Mediciones

10

4
y

-2

-4

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

Figura 1.1:”Aproximación lineal mediante método mínimos 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('Aproximación método mínimos cuadrados');
hold; plot(X,Y,'or','linewidth',2);
legend('Aprox. mínimos cuadrados','Mediciones');

5
 Ejemplo método mínimos cuadrados caso no lineal reducible a lineal:

Considerando la siguiente tabla de valores

Tabla 1.2: “Set de datos aproximación no lineal”


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

Se quiere ajustar a la función no lineal del tipo f ( x)  a·ebx


Debido a que el método de mínimos cuadrados no las herramientas necesarias para calcular una
buena aproximación para funciones no lineales, en particular para este caso la no linealidad de la
función exponencial, se debe transformar el problema a uno lineal.

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


f ( x)  a·ebx / ln( )
ln( f ( x))  ln(a)  b·x

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 aproximación no línea”


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

Estos datos se puede establecen seis ecuaciones y dos incógnitas. Entonces se tiene el siguiente
sistema sobre-determinado.

1 0.000   1.1454 
   
1 0.400   1.4854 
1 0.800   ln( a)   1.7951 
 ·  
1 1.200   b   2.1577 
1 1.600     
   2.3986 
x

1 2.000   2.7860 
   
A z

Resolviendo el problema de mínimos cuadrados

6
A·x  z  A ·A·x  A ·y
t t
 
x  At ·A 
1
At ·y
Se llega a que

ln(a)  1.1539

Por lo tanto, volviendo al plano original se tiene para los parámetros a y b

a  e1.1539  3.1705 y b=0.8075

Y por lo tanto reemplazando en la función original los valores obtenidos se tiene

f ( x)  a·ebx  3.1705e0.8075x

Aproximación método mínimos cuadrados lineal


2.8
Aprox. mínimos cuadrados
2.6 Mediciones

2.4

2.2

1.8

1.6

1.4

1.2

1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Figura 1.2:”Aproximación lineal mediante método mínimos 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('Aproximación método mínimos cuadrados no lineal');
legend('Aprox. mínimos cuadrados 3.17·e^0^.^8^0^7','Mediciones');
figure(3)
plot(X,1.1539+b*X,'r',X,Z,'ok','linewidth',2); grid on;
title('Aproximación método mínimos cuadrados lineal');
legend('Aprox. mínimos 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 gráficamente que los nuevos datos se pueden aproximar de buena

7
manera con una recta, para encontrar los coeficientes de esta se utilizó mínimos cuadrados según el
procedimiento anterior, obteniendo el resultado que se muestra en la figura1.2 . Luego para tener la
solución real a nuestro problema se aplica la función exponencial obteniéndose los resultados
expuestos en la figura1.3.

Aproximación método mínimos cuadrados no lineal


18
Aprox. mínimos cuadrados 3.17·e0.807
16 Mediciones

14

12

10
y

2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x

Figura 1.3:”Grafica resultado Aproximación no lineal”

Si bien el método de los mínimos cuadrados solo sirve para aproximar modelos lineales, existen
otros casos de modelos no lineales reducibles a lineales, como por ejemplo:

f ( x)  c·e axbx :
2

Aplicando logaritmo natural

a
f ( x) 
bx : Tomando los recíproco

k0
f ( x) 
1  a·e bx : Con k0 conocido, se toman los recíprocos, se resta 1 para finalmente
se aplica logaritmo natural.

Se puede llegar a una buena aproximación mediante este método.

Una observación importante es que este método proporciona una buena estimación cuando se tienen
pocos datos (alrededor de diez), o en su defecto, un número mayor de mediciones pero bajo las
mismas circunstancias experimentales, ya que si se presentan mediciones atípicas y estas son
asimétricas los parámetros estimados pueden estar sesgados por estos valores erróneos, el método
de mínimos cuadrados presenta una notoria falta de robustez frente a este problema y en ocasiones
8
las aproximaciones pueden ser ineficientes en extremo debido a la presencia de mediciones atípicas
asimétricas.
Por otra parte, es reproducible, cada experimentador proporciona igual aproximación para datos
iguales, no obstante en el sentido de adquirir la data es irreproducible.

2.- Regresión Lineal y Cuadrática:

El método de regresión es ampliamente utilizado para pronosticar funciones. Aunque los casos que
veremos en el presente informe, se limita a un número de casos específicos. En otras palabras los
puntos dados tienen que tener una proyección en el tiempo, ya sea lineal o cuadrática. Como
veremos a continuación el método se basa en reducir el error total en la zona de la interpolación.

Regresión Lineal

La regresión lineal se utiliza cuando los puntos a tratar siguen una trayectoria de carácter lineal.
Entonces se buscara la recta que mejor ajuste a todos los puntos dados. De manera de reducir el
error deseado.

Como veremos a continuación la deducción del método 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 fácil 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 interpolación a todos los puntos dados.
puntos dados
6

3
y

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x

Figura2.1: “Puntos en el plano y una recta que pretende aproximar a la función generadora de
estos puntos”

9
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 fácil notar que el Error total será la suma de todos los
errores. Además cabe destacar que el error puede ser positivo o negativo, por lo que al intentar
buscar un mínimo nos enfrentaremos a un problema, por ejemplo; un 𝛿𝑖 = −10 es menor error que
𝛿𝑖 = 2.5. Claramente la afirmación 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
mínimo error al cuadrado así.

𝑛 𝑛 2
2
𝐸𝑡𝑜𝑡𝑎𝑙(𝑚, 𝛽) = 𝛿𝑖 = {𝑦𝑖 − (𝑚𝑥𝑖 + 𝛽)}
0 0

Por lo que ahora nos centramos en minimizar la amplitud del error, el cual se producirá cuando
𝑦𝑖 = 𝑚𝑥𝑖 + 𝛽 . Entonces dada que esta función es la que debemos minimizar en términos de 𝑚 𝑦 𝛽.
Simplemente derivamos la función y la igualamos a cero.
𝑛 𝑛
𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕 2
= {𝑦𝑖 − 𝑚𝑥𝑖 + 𝛽 } = −2 {𝑦𝑖 − (𝑚𝑥𝑖 + 𝛽)} 𝑥𝑖
𝜕𝑚 𝜕𝑚
0 0

𝑛 𝑛
𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕 2
= {𝑦𝑖 − 𝑚𝑥𝑖 + 𝛽 } = −2 {𝑦𝑖 − (𝑚𝑥𝑖 + 𝛽)}
𝜕𝛽 𝜕𝛽
0 0

Y despejando nuestras variables de interés tenemos que:


𝑛 𝑛 𝑛 𝑛
2 2
0= 𝑦𝑖 𝑥𝑖 − 𝑚𝑥𝑖 − 𝛽𝑥𝑖 𝛽 𝑥𝑖 + 𝑚 𝑥𝑖 = 𝑦𝑖 𝑥𝑖
0 0 0 0

𝑛 𝑛 𝑛

0= 𝑦𝑖 − 𝑚𝑥𝑖 − 𝛽 𝑛𝛽 +𝑚 𝑥𝑖 = 𝑦𝑖
0 0 0

Esto da como resultado un sistema de ecuaciones lineales de 2x2, donde la solución se puede
realizar por simple sustitución como sigue.

𝑛 𝑛
𝑛 𝑦𝑖 𝑥𝑖 −
0 0 𝑦𝑖 𝑛0 𝑥𝑖
𝑚=
𝑛 𝑛0 𝑥𝑖 2 − 𝑛
0 𝑥𝑖
2

10
𝑛 𝑛
1
𝛽= 𝑦𝑖 − 𝑚 𝑥𝑖
𝑛
0 0

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

 Ejemplo Regresión Lineal

Los puntos dados están dados en la siguiente tabla:


Tabla 2.1: “Set de datos regresión 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

Código solución

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 resolución:

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')

11
Puntos dados y Solución con Regresión Lineal
5.5

4.5

3.5

3
y

2.5

1.5

0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x

Figura 2.2: “Set de datos y Aproximación mediante regresión lineal”

La recta encontrada: 𝑦 = 0.942𝑥 + 0.569

Se puede concluir que el proceso de regresión fue exitoso, la recta encontrada claramente ajusta a
los puntos dados.

Regresión Cuadrática:

La idea es igual que en la regresión lineal, tenemos un conjunto de datos


(𝑥1 , 𝑦1 ), (𝑥2 , 𝑦2 ), … (𝑥𝑛 , 𝑦𝑛 ) y sabemos que esos datos corresponden a una función desconocida. La
idea es ajustar aquellos puntos a la parábola que mejor los aproxime. De esta forma la función que
obtendrá este método es:

𝑦 = 𝑎𝑥 2 + 𝑏𝑥 + 𝑐

Como vemos ahora interesa encontrar tres parámetros a, b y c.

Análogo al caso anterior el error total es:


𝑛 𝑛
2
𝐸𝑡𝑜𝑡𝑎𝑙(𝑎, 𝑏, 𝑐) = 𝛿𝑖 = {𝑦𝑖 − 𝑎𝑥𝑖 2 − 𝑏𝑥𝑖 − 𝑐}2
0 0

Entonces derivando cada la función del error por cada parámetro de interés y luego igualando a cero
tenemos que.
𝑛 𝑛
𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕 2 2
= {𝑦𝑖 − 𝑎𝑥𝑖 − 𝑏𝑥𝑖 − 𝑐} = −2 {𝑦𝑖 − 𝑎𝑥𝑖 2 − 𝑏𝑥𝑖 − 𝑐}
𝜕𝑐 𝜕𝑚
0 0

12
𝑛 𝑛
𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕 2 2
= {𝑦𝑖 − 𝑎𝑥𝑖 − 𝑏𝑥𝑖 − 𝑐} = −2 {𝑦𝑖 − 𝑎𝑥𝑖 2 − 𝑏𝑥𝑖 − 𝑐} 𝑥𝑖
𝜕𝑏 𝜕𝛽
0 0

𝑛 𝑛
𝜕𝐸𝑡𝑜𝑡𝑎𝑙 𝜕 2 2
= {𝑦𝑖 − 𝑎𝑥𝑖 − 𝑏𝑥𝑖 − 𝑐} = −2 {𝑦𝑖 − 𝑎𝑥𝑖 2 − 𝑏𝑥𝑖 − 𝑐} 𝑥𝑖 2
𝜕𝑎 𝜕𝛽
0 0

𝑛 𝑛 𝑛
2
𝑎 𝑥𝑖 + 𝑏 𝑥𝑖 + 𝑛𝑐 = 𝑦𝑖
0 0 0

𝑛 𝑛 𝑛 𝑛
3 2
𝑎 𝑥𝑖 + 𝑏 𝑥𝑖 + 𝑐 𝑥𝑖 = 𝑥𝑖 𝑦𝑖
0 0 0 0

𝑛 𝑛 𝑛 𝑛
4 3 2
𝑎 𝑥𝑖 + 𝑏 𝑥𝑖 + 𝑐 𝑥𝑖 = 𝑦𝑖 𝑥𝑖 2
0 0 0 0

Notar que en esta ocasión tenemos un sistema de 3x3, cabe destacar que se pueden realizar métodos
básicos de resolución de ecuaciones, pero por simplicidad de resolverá de la forma matricial.
𝑛 𝑛 𝑛

𝑥𝑖 2 𝑥𝑖 𝑛 𝑦𝑖
0 0 0
𝑛 𝑛 𝑛 𝑎 𝑛
3 2 𝑏 =
𝑥𝑖 𝑥𝑖 𝑥𝑖 𝑥𝑖 𝑦𝑖
0 0 0 𝑐 0
𝑛 𝑛 𝑛 𝑛

𝑥𝑖 4 𝑥𝑖 3 𝑥𝑖 2 𝑦𝑖 𝑥𝑖 2
0 0 0 0

Notar que estamos frente a un sistema cuadrado de 3x3, donde la solución de dicho sistema es el
𝑎
vector de coeficientes 𝑏 .
𝑐

13
 Ejemplo Regresión Cuadrática

Dados los puntos

Tabla 2.2: “Set de datos regresión lineal cuadrática”


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

Código Solución

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 Solución con Regresión Cuadrática')
xlabel('x')
ylabel('y')

14
Puntos dados y Solución con Regresión Cuadrática
30

25

20

15
y

10

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x

Figura2.2: “Set de datos y Aproximación mediante regresión lineal cuadrática”

Del gráfico se concluye que la parábola encontrada si ajusta a los puntos dados. Entonces la
solución mediante Regresión Cuadrática es:

𝑦 = 0.8609𝑥 2 + 0.8261𝑥 + 0.9073

Regresión no Lineal

A parte de los métodos de regresión mostrados, específicamente el lineal, se pueden resolver casos
no lineales, que son reductibles a lineales. Ejemplo de esto son la función exponencial, potencial y
logaritmo. Que son fácilmente reductibles a lineales.

Ajustar un modelo potencial de la forma 𝑌 = 𝐴𝑥 𝑏 y uno exponencial de la forma 𝑌 = 𝐴𝐵 𝑥 , se


reduce a una función lineal con sólo tomar logaritmo.

Respecto al modelo potencial: Si tomamos los logaritmos obtenemos:

log 𝑌 = log 𝐴𝑥 𝑏 = log 𝐴 + 𝑏 log(𝑥)

Notemos que la ecuación obtenida corresponde a una ecuación de la recta donde: 𝑦 = 𝑚𝑥 + 𝛽 y en


nuestra ecuación linealizada log 𝑌 = 𝑦, log 𝐴 = 𝛽, 𝑏 log 𝑥 = 𝑚𝑥 .Entonces podemos trabajar
el modelo como uno lineal y luego volver a nuestras variables de interés.

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


experimentos del tipo biológico. Entonces la nube de puntos dados vienen dados por la forma de
curva y = exp⁡(a + bx). Mediante una transformación lineal, en particular el logaritmo natural,
transformamos esta regresión en una lineal. En efecto queda.

ln(y) = a + bx

15
Entonces de acá se obtiene 𝑌 = ln(y), lo que la convierte en una regresión lineal

Respecto al modelo logarítmico: Si nuestro conjunto de puntos sigue un modelo logarítmico


tenemos que sería de la forma 𝑌 = a + blog(x), la cual también 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 logarítmica, y luego volviendo a lineal.

 Ejemplo de Regresión reductible a lineal:

Debido a que la regresión lineal ya se abordo y que todas estas linealizaciones siguen una misma
lógica, se opto por mostrar sólo un ejemplo de regresión reductible a lineal. Modelo Logarítmico.

Tabla 2.3: “Set de datos regresión no lineal”

X Y
1 0.5816
2 1.2202
3 1.7831 4

4 1.9247
3.5
5 1.7664
6 2.0636 3

7 2.7015
8 2.5249 2.5

9 2.5641
2
10 2.7046
11 3.1081 1.5

12 2.5082
13 2.9918 1

14 2.8380
15 3.1434 0.5
0 2 4 6 8 10 12 14 16 18 20

16 3.1693
17 3.2345 Figura2.3: “Set de datos regresión no lineal”
18 3.6499
19 3.1624
20 3.9490

16
Linealizando el problema

3.5

2.5

1.5

0.5
0 0.5 1 1.5 2 2.5 3

Figura2.2: “Set de datos linealizados y Aproximación mediante regresión lineal”

Notemos que si pasamos este problema a lineal, cambiando el eje de las abscisas a escala
logarítmica, podemos resolver el problema como se muestra en la figura.
4

3.5

2.5

1.5

0.5
0 2 4 6 8 10 12 14 16 18 20

Figura2.2: “Set de datos original y Aproximación mediante regresión no lineal”

Volviendo a la escala inicial tenemos la solución al problema dado. Donde la curva encontrada
satisface las condiciones de mínimo.

𝑌 = 0.5246 + 0.9708log(x)

17
Código solución:

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 Interpolación Polinomial

Es un método 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 más utilizadas tenemos La
interpolación polinomial de Lagrange y Splines Cubicas. En este informe presentaremos los
polinomios de Lagrange.

Interpolación Polinomial: Nuestro objetivo es obtener una función P, cuya curva aproxime a una
función desconocida F de la que solo tenemos un limitado número de puntos. Por lo tanto estos
puntos son utilizados como requisito para la función 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 además les pedimos que puedan representar a una
función es decir 𝑥𝑖 ≠ 𝑥𝑗 si 𝑖 ≠ 𝑗. Siguiendo con P, éste es un polinomio 𝑝 𝑥 = 𝑎0 + 𝑎1 𝑥 +
⋯ 𝑎𝑚 𝑥 𝑚 , notemos que tenemos m+1 parámetros independientes, además resulta lógico pensar que
m=n.

Notemos que agregando las condiciones dadas (los puntos de la desconocida función F), obtenemos
un sistema de ecuaciones escrito matricialmente por:

Problema a solucionar:

1 𝑥1 𝑥1 2 … 𝑥1 𝑛−1 𝑎1 𝑦1
⋮ ⋱
⋱ ⋮ = ⋮
⋱ ⋮
1 𝑥𝑛 𝑥𝑛 2 … 𝑥𝑛 𝑛−1 𝑎𝑛+1 𝑦𝑛

Encontrar la inversa de esta ecuación matricial corresponde a encontrar el polinomio, pero encontrar
la inversa de esta ecuación podría ser una tarea titánica.

18
Solución de Lagrange:

Se puede obtener la solución al sistema planteado sin la necesidad de resolverlo, esto se logra a
través 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 ecuación es fácil 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 relación:

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 demás definiciones es posible ver:

𝑝 𝑥 = 𝑦0 ℓ0 𝑥 + ⋯ 𝑦𝑛 ℓ𝑛 𝑥

Este polinomio de grado n (o menor) satisface la condición de 𝑝 𝑥𝑖 = 𝑦𝑖 , para todo i.

Resumiendo:
𝑛

𝑝 𝑥 = 𝑦𝑖 ℓ𝑖 (𝑥)
𝑖=0

Donde ℓ𝑖 (𝑥), es la descrita anteriormente.

19
 Ejemplo de Polinomios de Lagrange:

A pesar de que Matlab incorpora funciones de polinomios, por ejemplo polyfit y polyvar. A
continuación se muestra el algoritmo solución implementado por nosotros, para la resolución de
este problema. Además se comentará, por que las funciones polinomiales no son tan
frecuentemente usadas como las del tipo de regresión, mínimos cuadrados u otros ajustes.

Codigo Solución

%% 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 función 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

20
2
puntos
aproximación polinomial
real

1.5

0.5

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

Figura3.1: “Aproximación 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
interpolación, evidentemente esto es un efecto no deseado. A este fenómeno se le conoce como “El
Fenómeno de Runge”, métodos como numéricos 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 métodos tratados
son en general métodos propiamente de aproximación gráfica, precisamente es por esta razón, 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 representación fiable de lo que realmente ocurre en un proceso los
datos obtenidos deben cumplir con una serie de requerimientos, entre ellos los más importantes son
la ausencia de redundancia y obtención de datos anómalos, estos últimos pueden alterar
enormemente las aproximaciones efectuadas por cualquiera los métodos mencionados.

También tener en cuenta que no siempre una aproximación optima de los datos experimentales
determina una mejor aproximación o modelo para un proceso dado, es sabido que la adquisición de
datos posee una cierta incertidumbre y en consecuencia la data se ve alterada por errores de
medición o presencia de ruido. Teniendo esto en cuenta la excesiva aproximación (interpolación) de
los datos en muchos casos podrían llevarnos a aproximaciones erróneas que por lo demás son
mucho más complejas de lo que realmente son los mismos procesos, un ejemplo de esto es la
interpolación polinomial como la mostrada en la figura.3.1.

21

También podría gustarte