Perché l'RMSE restituito dal Linear Fit devia sqrt (sum (residuals ^ 2) / n)?Sono confuso per quanto riguarda l'errore Root Mean Square riportato nel "Riepilogo dell'adattamento" nella piattaforma Linear Fit.
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>Il risultato dell'ultima riga:
rmse_lin_reg = 0.111508840972607;
rmse_lin_fit = 0.136569881096024;
Cosa c'è che non va qui?
Grazie
AnalyticsScriptingOggetto: Perché l'RMSE restituito dal Linear Fit devia sqrt (sum (residuals ^ 2) / n)?Ciao @ragnarl ,
Posso vedere come questo appaia contraddittorio! Tutti i quadrati medi implicano la divisione della somma delle deviazioni al quadrato per i loro gradi di libertà. Nella tua formula che lavora con i risultati di LinearRegression () sembra che tu stia dividendo per n, non df.
rmse_lin_reg=sqrt(sum((z-y)^2)/nrows(y));
I gradi di libertà per l'errore quadratico medio in una regressione lineare semplice sono n-2 (1 df perso nella stima dell'intercetta e 1 in più viene perso nella stima della pendenza di x). Se modifichi il tuo script come di seguito per avere rmse_lin_reg = sqrt (sum ((zy) ^ 2) / (nrows (y) -2)) troverai lo stesso valore per MSE (e quindi RMSE).
Spero che questo possa essere d'aiuto!
@julian
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>
ritorna
rmse_lin_reg = 0.13656988109602;
rmse_lin_fit = 0.13656988109602;