Ich bin verwirrt über den Root Mean Square Error, der in der "Zusammenfassung der Anpassung" auf der Linear Fit-Plattform gemeldet wird.
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>Das Ergebnis der letzten Zeile:
rmse_lin_reg = 0.111508840972607;
rmse_lin_fit = 0.136569881096024;
Was ist hier falsch?
Vielen Dank
Hallo @ragnarl ,
Ich kann sehen, wie widersprüchlich dies erscheint! Bei allen mittleren Quadraten wird eine Summe der quadratischen Abweichungen durch ihre Freiheitsgrade dividiert. In Ihrer Formel, die mit den Ergebnissen von LinearRegression () arbeitet, scheinen Sie durch n zu teilen, nicht durch df.
rmse_lin_reg=sqrt(sum((z-y)^2)/nrows(y));
Die Freiheitsgrade für den mittleren quadratischen Fehler in einer einfachen linearen Regression sind n-2 (1 df geht durch Schätzen des Abschnitts verloren, und 1 weiterer geht durch Schätzen der Steigung von x verloren). Wenn Sie Ihr Skript wie folgt anpassen, um zu haben rmse_lin_reg = sqrt (Summe ((zy) ^ 2) / (nrows (y) -2)) Sie finden den gleichen Wert für MSE (und damit RMSE).
Ich hoffe das hilft!
@julianisch
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>
kehrt zurück
rmse_lin_reg = 0.13656988109602;
rmse_lin_fit = 0.13656988109602;