为什么线性拟合返回的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;