線形フィットによって返された 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;
ここで何が間違っているのでしょうか?
ありがとう
高度な統計モデリングコンテンツの構成データの探索と視覚化マスカスタマイゼーション結果の共有と伝達Re: 線形フィットによって返された RMSE が sqrt(sum(residuals^2)/n) から逸脱しているのはなぜですか?やあ@ラグナル、
これがいかに矛盾しているかがわかります。 すべての平均二乗には、偏差の二乗和を自由度で割ることが含まれます。 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;