martes, 2 de noviembre de 2010

Cómo calcular el coeficiente de determinación

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":

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: