為什麼線性擬合返回的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)?你好@ragnarl ,
我可以看到這看起來是矛盾的! 所有均方均涉及將偏差平方和除以其自由度。 在使用LinearRegression()的結果的公式中,您似乎被n除而不是df。
rmse_lin_reg=sqrt(sum((z-y)^2)/nrows(y));
簡單線性回歸中均方誤差的自由度為n-2(估計截距損失1 df,估計x的斜率損失1 df)。 如果您按照以下方式調整腳本rmse_lin_reg = sqrt(sum((zy)^ 2)/(rows(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;