Está en la página 1de 9

Actividad 2: Identificación paramétrica derivada de mediciones

experimentales
Ximena Hernandez Machain A01625522
1. Utiliza la función fit de MATLAB para ajustar una curva definida por la ecuación anterior e identifica los
parámetros a, b y c, así como alguna(s) medida(s) de bondad de ajuste (goodness of fit) para este modelo (por
ejemplo, SSE, R-squared y RMSE). Reporta tus hallazgos.

Con la ecuación dada, se ve que la proporción entre las variables LP y R, da una r-cuadrada igual a 1, la cual
nos da a entender que los datos se ajustan perfectamente a este modelo. Esto se puede observar además en
la Figura Ajuste de Modelo, donde la línea verde representa los datos experimentales dados y la línea roja la
curva del modelo generada por el comando fit en base a la ecuación dada.

clear all; clc

LP = [0.824 0.731 0.671 0.630 0.599 0.576 0.557];


R = [36 46 56 66 76 86 96];

%Define el modelo con el que se guiará la función fit


f = fittype('a + (b/x) + (c/x^2)');

% StartPoint da los puntos de inicio


% Da las medidas de bondad de ajuste (g_fit)
% Da el modelo (f1)
f1 = fit(R',LP',f, 'StartPoint', [1 1 1])

f1 =
General model:
f1(x) = a + (b/x) + (c/x^2)
Coefficients (with 95% confidence bounds):
a = 0.3982 (0.395, 0.4014)
b = 15.23 (14.86, 15.59)
c = 3.711 (-5.85, 13.27)

%Gráfica del modelo


figure;
hold on
plot(f1,R,LP,'g')
xlabel('R');
ylabel('LP');
title('Ajuste del Modelo');
hold off

1
%Identificación de Parámetros
a = f1.a

a = 0.3982

b = f1.b

b = 15.2266

c = f1.c

c = 3.7112

for i = 1 : length(R)
f2(i) = a + (b/R(i)) + (c/R(i)^2);
end
R1 = rsquare(LP,f2)

R1 = 1.0000

figure;
hold on
plot(f1,R,LP,'g')
plot(R,f2,'b')
title('Ajuste del Modelo en base a parámetros')

2
xlabel('R');
ylabel('LP');
hold off

2. Utiliza la función scatter para visualizar la relación LP-R y responde: ¿qué tipo de transformación permitiría
ajustar un modelo polinomial a estos datos? En otras palabras, ¿qué tipo de relación matemática tienen estas
dos variables?

La función scatter, nos permite ver en la gráfica donde se encuentran los datos experimentales, en base a esto
podemos observar que el modelo pasa por todos estos puntos, pero mas importante, esto nos permite observar
la relación entre las variables (LP y R), ya que se puede observar que entre mayor sea el tamaño del poro (R),
menor será la relación entre la proteína linfática y plasmática (LP) , lo cual tiene sentido al ver la ecuación que
se expone como parte del punto 1, al siguerir que hay nua relación inversa entre LP y R.

Siendo que los datos no se comportan como una regresión lineal al tener una no linearidad evidente, un
modelo polinomial de orden cuatro podría dar una relación de los datos, ya que este tipo de modelos logran
capturar una complejidad de patrones y la curvatura de la gráfica sugiere que una función polinómica de alto
grado se ajustaría mejor al comportamiento de los datos.

%Gráfica del modelo usando la función scatter


figure;
hold on
plot(f1,R,LP,'g')
plot(R,f2,'b')
scatter(R,f2,'k')
title('Ajuste de modelo con scatter')

3
xlabel('R');
ylabel('LP');
hold off

3. Implementa la transformación sugerida en el punto anterior y utiliza la función polyfit para ajustar un modelo
polinomial de tercer orden a los nuevos datos, con el propósito de identificar sus parámetros (a, b y c)
y alguna(s) medida(s) de bondad de ajuste (goodness of fit) para este nuevo modelo (por ejemplo, SSE,
R-squared y RMSE). Reporta tus hallazgos.

Primeramente, se propone un modelo polinomial de cuarto orden para ajustar los datos experimentales:

%Propuesta de Modelo Polinomial de Cuarto Orden


[f4, g4_fit] = fit(R',LP','poly4')

f4 =
Linear model Poly4:
f4(x) = p1*x^4 + p2*x^3 + p3*x^2 + p4*x + p5
Coefficients (with 95% confidence bounds):
p1 = 1.667e-08 (4.58e-09, 2.875e-08)
p2 = -5.511e-06 (-8.707e-06, -2.315e-06)
p3 = 0.0007081 (0.0004018, 0.001014)
p4 = -0.04406 (-0.05663, -0.0315)
p5 = 1.722 (1.536, 1.907)
g4_fit = struct with fields:
sse: 7.1429e-07
rsquare: 1.0000
dfe: 2
adjrsquare: 1.0000
rmse: 5.9761e-04

4
%Coeficientes en variables
a = f4.p1

a = 1.6667e-08

b = f4.p2

b = -5.5111e-06

c = f4.p3

c = 7.0810e-04

d = f4.p4

d = -0.0441

e = f4.p5

e = 1.7217

%Gráfica del modelo en base a los resultados de fit


figure;
hold on
title('Modelo Polinomial de cuarto orden')
plot(f4,R,LP,'b')
xlabel('R')
ylabel('LP')
hold off

5
%Cálculo de datos en base al modelo propuesto
for i = 1 : length(R)
f2(i) = a*R(i)^4 + b*R(i)^3 + c*R(i)^2 + d*R(i) + e;
end
R2 = rsquare(LP,f2)

R2 = 1.0000

%Gráfica del modelo de cuarto orden usando los parámetros calculados con fit
figure;
hold on
title('Modelo Polinomial de cuarto orden usando los parámetros resultantes')
plot(f1,R,LP,'g')
plot(R,f2,'b')
scatter(R,f2,'k')
xlabel('R')
ylabel('LP')
hold off

6
Los resultados de este modelo propuesto dan una r-cuadrada de 1, al igual que el modelo propuesto dentro del
punto 1 por lo que este modelo también relaciona los datos experimetales con exactitud.

En base al modelo propuesto (polinomial de orden 4) se calcularon los datos para usarlos dentro de un modelo
polinomial de tercer orden (f2), como se pide dentro del punto 3. Dentro de este modelo, usando los datos
nuevos, la r cuadrada da un valor de 0.9998 por lo que el modelo a pesar de ser bueno no se ajusta con tanta
exactitud como los modelos anteriores.

%Modelo Polinomial de Tercer Orden con los datos del modelo propuesto
f3 = polyfit(R,f2,3);
R_3 = linspace(min(R),max(R));
LP_3 = polyval(f3,R_3);

%Gráfica del modelo de tercer orden usando polyfit


figure;
hold on
plot(f1,R,LP,'g')
plot(R_3,LP_3,'b')
title('Modelo Polinomial de tercer orden')
xlabel('R')
ylabel('LP')
hold off

7
%Coeficientes en variables
a = f3(1,1)

a = -1.1111e-06

b = f3(1,2)

b = 2.8845e-04

c = f3(1,3)

c = -0.0270

d = f3(1,4)

d = 1.4732

%Medidas de bondad de ajuste (g3_fit)


for i = 1 : length(R) f_3(i) = a*R(i)^3 + b*R(i)^2 + c*R(i) + d; end
R3 = rsquare(LP,f_3)

R3 = 0.9998

%Gráfica de tercer orden usando parámetros calculados con fit


figure;

8
hold on
plot(f1,R,LP,'g')
plot(R,f_3,'b')
scatter(R,f_3,'k')
title('Modelo Polinomial de tercer orden usando los parámetros resultantes')
xlabel('R')
ylabel('LP')
hold off

4. Selecciona el modelo más ajustado a los datos, justificando tu respuesta en los hallazgos de los puntos 1 y
3.

En base a los resultados, tanto el modelo dado por la ecuación, como el polinomial de orden cuatro pueden ser
de utilidad al tener el mismo valor de r-cuadrada, sin embargo tomando en cuenta la practicidad y optimización
del proceso, el modelo dado por la ecuación del punto 1 es mejor, ya que tiene una menor cantidad de terminos
dentro de ella y trata a las variables (LP y R) como no lineales que en base a los datos experimentales y a la
gráfica podemos asumir que lo son, por lo que a mi parecer el modelo establecido es el mejor.

También podría gustarte