Capitulo - IV (Ajuste de Curvas)
Capitulo - IV (Ajuste de Curvas)
Capitulo - IV (Ajuste de Curvas)
1. INTRODUCCION
1.1. Generalidades
Los datos casi siempre son valores discutidos a lo largo de un continuo.
Se requiere una estimación en puntos entre los valores discutidos.
Dos procedimientos generales para el ajuste de curvas.
a) Los datos pueden tener un grado significativo de error, entonces se
derivará una sola ecuación que represente la tendencia general de los
datos.
Uno de los procedimientos es “regresión” por mínimos cuadrados.
b) Los datos son muy precisos, el procediendo es ajustar a una curva o una
serie de curvas que pasan directamente a través de cada uno de los
puntos.
Generalmente todos los datos se originan de tablas; ejemplo: densidad del
agua, capacidad calorífica en función de la temperatura.
El procedimiento se denomina “Interpolación”.
Interpolación lineal
Interpolación curvilínea
b) Desviación estándar
2
_
Yi Y
n-1 : Grados de libertad
Sy
n 1
c) Varianza
Yi 2
Yi 2
n No se requiere el cálculo del promedio
Sy 2
n 1
2
_
Yi Y
Sy 2
n 1
d) Coeficiente de Variación
Sy
CV _
Y
e) Histograma
Se usa para la distribución de los datos
Solución:
>> E1=6.395+(6.775-6.395)*rand(25,1)
>> E=fprintf('%4.3f\n',E1)
6.756 6.685 6.629 6.549 6.417
6.483 6.568 6.696 6.750 6.529
6.626 6.402 6.745 6.743 6.704
6.580 6.707 6.676 6.551 6.399
6.734 6.564 6.462 6.735 6.448
>> des_sta=std(E)
des_sta =
0.1210
>> hist(E)
Obs
3
0
6.35 6.4 6.45 6.5 6.55 6.6 6.65 6.7 6.75 6.8 6.85
coeficiente
>> histfit(E)
10
0
6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7
Y a o a1 X e (1)
ao : Itercepto
a1 : pendiente
e : error o residuo
Y
X
e Y a o a1 X (2)
El error es la discrepancia entre el valor real y el valor aproximado.
La mejor estrategia para un mejor ajuste; es minimizar la suma de los
cuadrados de los residuos entre la “Y” medida y la “Y” calculada con el
modelo lineal.
n n n
SR
i 1
ei2 Yi,medida Yi,modelo 2 Yi a o a1 X 2
i 1 i 1
(3)
n: Total de puntos
0 Y X a X a
i i o i 1Xi
2
Si hacemos a na o o
X a Y X a X a Y X
(4) 2
(5)
nao i 1 i i o i 1 i i
n X a n X a n Y X
i o i
2
1 i i
n X a n Y X
i
2
1 i i
a X n X X Y Y X
2 2
1
i i i i i i
n Y X X Y i i i i
a (6)
n X X
1 2
2
i i
ao
Y X a Y X
i i 1 i i
a1
(7)
n n n
_ _
a o Y X a1 (8)
1.3.2. Cuantificación del error de una regresión lineal
La desviación estándar para la línea de regresión se puede determinar:
SR
Sx/ y (12)
n2
El denominador es n-2, debido a los datos estimados (a 0 y a1), que se
usaron para calcular SR, tiene dos grados de libertad.
Yi ðYi ð ao ð a1 X ð
l
in ea
nl
sio
gre
R e
Y ðao ða1X
Xi
La suma Total de los cuadrados alrededor de la media, esta magnitud
representa el error residual asociado con la variable dependiente antes
de la regresión, la ecuación es:
n 2
_
ST
i 1
Yi,medida Y
(9)
Ejemplo
Sean los siguientes valores de “X” y de “Y”, ajustar a una línea recta.
>> Y=[0.5 2.5 2 4 3.5 6 5.5]' >> X=[1:7]'
Y= X=
0.5000 1
2.5000 2
2.0000 3
4.0000 4
3.5000 5
6.0000 6
5.5000 7
Solución:
sumy = sumxy =
24 119.5000
>> sumx=sum(X) >> sumx2=sum(X.^2)
sumx = sumx2 =
28 140
a1
n Y X X Y
i i i i
_ _
a o Y X a1
n X X
2
i
2
i
>> a0=promy-a1*promx
a0 =
>> nu=n*sumxy-sumx*sumy
0.0714
nu =
164.5000
>> de=n*sumx2-(sumx).^2
de =
196
>> a1=nu/de
a1 =
0.8393
AJUSTE LINEAL
6
3
Y
1
Obs
Ecua
0
1 2 3 4 5 6 7
X
n n n 2
_
SR
i 1
e i2 Yi a o a1 X 2
i 1
ST
i 1
Yi,medida Y
>> Sr=((Y-0.0714-0.8393*X).^2) >> st=(Y-promy).^2
Sr = st =
0.1687 8.5765
0.5625 0.8622
0.3473 2.0408
0.3265 0.3265
0.5897 0.0051
0.7971 6.6122
0.1994 4.2908
>> Sr=sum((Y-0.0714-0.8393*X).^2) >> st=sum((Y-promy).^2)
Sr = st =
2.9911 22.7143
>> p=polyfit(X,Y,1)
p=
0.8393 0.0714
>> Y1=polyval(p,X)
Y1 =
0.9107
1.7500
2.5893
3.4286
4.2679
5.1071
5.9464
0.9107
1.7500
2.5893
3.4286
4.2679
5.1071
5.9464
>> plot(x,y,'o',x,f),grid
AJUSTE
6
3
Y
1 datos
Ajuste
0
1 2 3 4 5 6 7
X
A= 1 10
2 20
1 10 3 30
2 20 4 40
3 30 5 50
4 40
5 50
Pasos:
a) Estando en Matlab, ir a Start ( parte inferior izquierda)
b) Ir a Toolboxes
c) Ir a Curve Fitting
d) Ir a Curve Fitting Tools
Aparece la siguiente ventana (GUI)
Procedimiento
a) Ingreso de datos
Seleccionar los datos que están en las variables
Importar los datos . Dar click a create data set
b) Ajuste de datos
Seleccionar New Fit
Escoger un tipo de modelo de ajuste. Type of Fit
Seleccionar los datos de salida . Tableo f Fits
c) Ejecutar el ajuste
Dar click en Apply
d) Guardar la sesión
Ir a: File/save session
También se puede generar un archivo script
Goodness of fit:
SSE: 2.991 (Sr suma de los cuadrados de los residuos)
R-square: 0.8683 ( Coeficiente de determinación)
Adjusted R-square: 0.842
RMSE: 0.7734 (Representa la desv. Std. de la regresión)
Y e t
ln Y ln t
a) Generar una tabla en Excel con los datos experimentales que se
muestran en la tabla adjunta, luego grabarlos en formato txt.
Y e t Y 101.4e 0.2635t
Donde :
Y : Humedad ( %H2)
α : Intercepto
β : tasas de secado (razón de cambio)
t : Tiempo de secado, en horas
100
80
%H2O
60
40
20
0
0 1 2 3 4 5 6 7 8 9 10
t (hr)
ln Y ln t
ln Y ln(101.4) ( 0.2635)t
ln Y 4.6191 0.2635t
semilogy(t,Y),grid
3
SECADO DE CAFE
10
2
10
%H2O
1
10
0
10
0 1 2 3 4 5 6 7 8 9 10
t (hr)
x Y
1 0.7
2 1.7
3 3.4
4 5.7
5 8.4
CRECIMEINTO BACTERIAS
18
16
14
12
10
cell/ml
0
1 2 3 4 5 6 7
t (hr)
>> loglog(x,y),grid
CRECIMEINTO BACTERIAL
2
10
1
10
cell/ml
0
10
-1
10
0
10
t (hr)
Y a
n n
2
SR e i2 i o a1 X i a 2 X i2
i 1 i 1
Derivando e igualando a cero, obtienen las siguientes ecuaciones normales:
n
S R
2 Yi a o a1 X i a 2 X i2
a o i 1
n
S R
2 X i Yi a o a1 X i a 2 X i2
a1 i 1
n
S R
a 2
2
i 1
X i2 Yi a o a1 X i a 2 X i2
X a X a X a X Y
i 0 i
2
1
3
i 2 i i
X a X a X a X Y
i
2
0
3
i 1 i
4
2
2
i i
Esas tres ecuaciones con tres incógnitas se pueden resolver por cualquier
técnica, ya estudiadas.
El error estándar de la regresión es :
SR
Sx/ y
n ( m 1)
n: Número de datos
m: orden del polinomio
Ejemplo:
Ajustar a un polinomio de segundo orden los datos de la siguiente tabla.
>> load seg_orde.txt
>> data=seg_orde
data =
0 2.1000
1.0000 7.7000
2.0000 13.6000
3.0000 27.2000
4.0000 40.9000
5.0000 61.1000
Solución
a) Encontrando los coeficientes
m2
n6
x i 15 x 979
4
i
_ y i 152.6 x y 585.6
i i
x 2 .5
_ x 2
i 55 x y 2488.8
2
i i
y 2 .5
x 3
i 225
xi 15
c) Graficando
AJUSTE SEGUNDO ORDEN
70
60
50
40
y
30
20
10
obsr
calc
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
x
ST Yi,medida Y
i 1 i 1
i 1 >> Sr=(y-2.4786-2.3593*x-
>> St=(promy-y).^2 1.8706*x.^2).^2
544.4444 Sr =
314.4711 0.1433
140.0278 0.9831
3.1211 1.1655
239.2178 0.6530
1272.1111 0.8938
>> St=sum((promy-y).^2); 0.0036
>> fprintf('%8.4f\n',St) >> Sr=sum((y-2.4786-2.3593*x-
2513.3933 1.8706*x.^2).^2)
Sr =
3.8423
SR 3.8423
Sx/ y 1.1317
n (m 1) 6 (2 1)
Coeficiente de determinación:
S S R 2513.3933 3.8423
r2 T 0.9985
ST 2513.3933
Coeficiente de correlación:
r = 0.9992
Y a0 a1 x1 a 2 x 2 e
Así la suma de los cuadrados de los residuos (Sr) es:
n n
SR i 1
ei2 Y
i 1
i a o a1 X 1i a 2 X 2i 2
n
S R
a 2
2
i 1
X 2i Yi a o a1 X 1i a 2 X 2i
X a X a Y
( n) a o 1i 1 2i 2 i
X a X a X X a X Y
1i 0
2
1i 1 1i 2i 2 1i i
X a X X a X a X Y
2i 0 1i 2i 1
2
2i 2 2i i
Esas tres ecuaciones con tres incógnitas se pueden resolver por cualquier
técnica, ya estudiadas.
El sistema se puede expresar de la siguiente manera.
n X 1i X 2i
a
o Y
i
X 1i X 2
1i X X 1i 2i a1
2 a
X Y
1i i
X 2i X X 1i 2i X 2i 2 X Y
2i i
>> x2=[0 1 2 3 6 2]
>> y=[5 10 9 0 3 27]
Solución
a) Encontrando los coeficientes
>> sumy=sum(y) >> sumx12=sum(x1.^2) >> sum1sum2=sum(x1.*x2)
sumy = sumx12 = sum1sum2 =
54 76.2500 48
>> sumx1=sum(x1) >> sumx22=sum(x2.^2) >> sumx1y=sum(x1.*y)
sumx1 = sumx22 = sumx1y =
16.5000 54 243.5000
>> sumx2=sum(x2) >> sumx2y=sum(x2.*y)
sumx2 = sumx2y =
14 100
m2
n6
x 1 16.5 x 1 x2 48
y 54 x 2 14 x 1y 243.5
x 2
1 76.25 x 2 y 100
x 2
2 54
>> M=[6 16.5 14;16.5 76.25 48;14 48 Entonces los coeficientes son:
54]; >> ao=Co(1)
>> b=[54 243.5 100]'; ao =
>> Co=bicg(M,b) 5.0000
bicg converged at iteration 3 to a >> a1=Co(2)
solution with relative residual 9.5e- A1 =
016 4.0000
Co = >> a2=Co(3)
5.0000 a2 =
4.0000 -3
-3.0000
La ecuación polinómica será:
Y 5 4X1 3X 2
b) Generando una tabla de valores observados y calculados
>> Ycalc=ao+a1.*x1+a2.*x2; > data=[x1;x2;y;Ycalc]'
>> Ycalc' data =
ans = 0 0 5.0000 5.0000
5.0000 2.0000 1.0000 10.0000 10.0000
10.0000 2.5000 2.0000 9.0000 9.0000
9.0000 1.0000 3.0000 0 0
0 4.0000 6.0000 3.0000 3.0000
3.0000 7.0000 2.0000 27.0000 27.0000
27.0000
c) Graficando
30
25
20
15
y
10
0
6
8
4
6
2 4
2
x2 0 0
x1
Usando toolboox
>> x1
x1 =
0 2.0000 2.5000 1.0000 4.0000 7.0000
>> x2
x2 =
0 1 2 3 6 2
>> y
y=
5 10 9 0 3 27