¿Por qué el RMSE devuelto por el ajuste lineal se desvía de sqrt(sum(residuals^2)/n)?Estoy confundido con respecto al error cuadrático medio informado en el "Resumen de ajuste" en la plataforma de ajuste lineal.
x = [1.309, 1.471, 1.49, 1.565, 1.611, 1.68];
y = [2.138, 3.421, 3.597, 4.34, 4.882, 5.66];
{Estimates, Std_Error, Diagnostics} = Linear Regression( y, x, <<PRINTTOLOG></PRINTTOLOG>El resultado de la última línea:
rmse_lin_reg = 0.111508840972607;
rmse_lin_fit = 0.136569881096024;
¿Que esta mal aquí?
Gracias
Modelado Estadístico AvanzadoOrganización de contenidoExploración y visualización de datosLa personalización en masaCompartir y comunicar resultadosRe: ¿Por qué el RMSE devuelto por el ajuste lineal se desvía de sqrt(sum(residuals^2)/n)?Hola @ragnarl ,
¡Puedo ver cómo esto parece contradictorio! Todos los cuadrados medios implican dividir una suma de desviaciones al cuadrado por sus grados de libertad. En su fórmula que trabaja con los resultados de LinearRegression(), parece estar dividiendo por n, no por df.
rmse_lin_reg=sqrt(sum((z-y)^2)/nrows(y));
Los grados de libertad para el error cuadrático medio en una regresión lineal simple son n-2 (se pierde 1 gl al estimar el intercepto y se pierde 1 gl al estimar la pendiente de x). Si ajusta su script como se muestra a continuación para tener rmse_lin_reg=sqrt(suma((zy)^2)/(nrows(y)-2)) encontrará el mismo valor para MSE (y por lo tanto RMSE).
¡Espero que esto ayude!
@Julian
x = [1.309, 1.471, 1.49, 1.565, 1.611, 1.68];
y = [2.138, 3.421, 3.597, 4.34, 4.882, 5.66];
{Estimates, Std_Error, Diagnostics} = Linear Regression( y, x, <<PRINTTOLOG></PRINTTOLOG>
devoluciones
rmse_lin_reg = 0.13656988109602;
rmse_lin_fit = 0.13656988109602;