Una vez que hemos ajustado una serie de puntos con una determinada función, se suele utilizar el coeficiente de determinación (R2) para medir lo bueno/malo que es el ajuste. Cuanto R2 más se aproxime a 1, el ajuste será mejor. Existen varias definiciones de R2, pero quizás la más popular sea la siguiente:
R2 = 1 - SSerror/SStotal
donde:
SSerror = Σ(ymedido (i) - ycalculado (i))2
SStotal = Σ(ymedido (i) - ymedido medio)2
Para crear una función que calcule R2, creamos el siguiente función "fR2.m":
R2 = 1 - SSerror/SStotal
donde:
SSerror = Σ(ymedido (i) - ycalculado (i))2
SStotal = Σ(ymedido (i) - ymedido medio)2
Para crear una función que calcule R2, creamos el siguiente función "fR2.m":
function z = fR2(ym,ycal)
yav = mean(ym);
s1 = sum((ym-yav).^2);
s2 = sum((ym-ycal).^2);
z = 1 - s2/s1;
Por ejemplo, tenemos el conjunto de puntos siguientes:
x = [1 2 3 4 5]';
ym = [1.24 0.59 0.31 0.19 0.09]';
que hemos ajustado a la ecuación y=2.4·exp(-0.69·x).
El calculo de R2 se hace directamente:
ycal = 2.4*exp(-0.69*x);
R2 = fR2(ym,ycal)
Matlab nos devuelve el valor 0.9963, que corresponde con un ajuste muy bueno.
No hay comentarios:
Publicar un comentario