線形フィットによって返されるRMSEがsqrt(sum(residuals ^ 2)/ n)から外れるのはなぜですか?線形フィットプラットフォームの「SummaryofFit」で報告された二乗平均平方根誤差について混乱しています。
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;
ここで何が問題になっていますか?
ありがとうございました
分析スクリプティングRe:線形フィットによって返されるRMSEがsqrt(sum(residuals ^ 2)/ n)から外れるのはなぜですか?こんにちは@ragnarl 、
これがどのように矛盾しているのかがわかります! すべての平均二乗は、二乗偏差の合計をそれらの自由度で割ることを含みます。 LinearRegression()の結果を処理する数式では、dfではなくnで除算しているように見えます。
rmse_lin_reg=sqrt(sum((z-y)^2)/nrows(y));
単純な線形回帰の平均二乗誤差の自由度はn-2です(切片の推定で1 dfが失われ、xの傾きの推定でさらに1 dfが失われます)。 以下のようにスクリプトを調整すると、 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;