為什麼線性擬合返回的 RMSE 偏離 sqrt(sum(residuals^2)/n)?我對線性擬合平台中“擬合摘要”中報告的均方根誤差感到困惑。
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>最後一行的結果:
rmse_lin_reg = 0.111508840972607;
rmse_lin_fit = 0.136569881096024;
這裡有什麼問題嗎?
謝謝
高級統計建模內容組織數據探索和可視化大規模定制分享和交流結果回复:為什麼線性擬合返回的 RMSE 偏離 sqrt(sum(residuals^2)/n)?你好@拉格納爾,
我可以看出這看起來多麼矛盾! 所有均方都涉及將偏差平方和除以它們的自由度。 在使用 LinearRegression() 結果的公式中,您似乎除以 n,而不是 df。
rmse_lin_reg=sqrt(sum((z-y)^2)/nrows(y));
簡單線性回歸中均方誤差的自由度為 n-2(估計截距時損失 1 個 df,估計 x 斜率時又損失 1 個)。 如果您按如下方式調整腳本以具有rmse_lin_reg=sqrt(sum((zy)^2)/(nrows(y)-2))您會發現 MSE(以及 RMSE)具有相同的值。
我希望這有幫助!
@朱利安
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>
回報
rmse_lin_reg = 0.13656988109602;
rmse_lin_fit = 0.13656988109602;