2 votos

Cálculo de R^2: dos resultados diferentes según el método

Así que he ajustado una tendencia lineal a mis datos y calculado R^2 de dos maneras diferentes (en Matlab), una es usando corrcoef y la otra es "a mano". Estos devuelven resultados diferentes y ambos parecen tener sentido, así que no estoy seguro de por qué es eso. Mis métodos son los siguientes, con x el número de años y y mis valores:

(1)
rsq1 = corrcoef(x, y);

(2)
%// fitting the model
p = polyfit(x,y,1);
yfit = polyval(p,x);

%// calculating R^2
yresid = y - yfit;
SSresid = sum(yresid.^2);
SStotal = (length(y)-1) * var(y);
rsq2 = 1 - SSresid/SStotal;

Como soy muy nuevo en esto no puedo averiguar por qué rsq1 y rsq2 son diferentes. Tengo la sensación de que me estoy perdiendo algo obvio... ¿alguien tiene alguna idea?

Gracias por su ayuda.

5voto

Francisco Noriega Puntos 111

El cuadrado r que se obtiene de la regresión lineal es igual al cuadrado del coeficiente de correlación de Pearson, que se ha calculado como rsq1 . Por lo tanto, tanto rsq1 y rsq1^2 el primero es la correlación de Pearson, el segundo es el valor R-cuadrado que se obtendría haciendo una regresión lineal de y contra x que en su ejemplo es rsq2 .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X