Perché l'RMSE viene restituito dall'adattamento lineare deviando sqrt(sum(residuals^2)/n)?Sono confuso riguardo all'errore quadratico medio riportato nel "Riepilogo dell'adattamento" nella piattaforma di adattamento lineare.
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'è di sbagliato qui?
Grazie
Modellazione statistica avanzataOrganizzazione dei contenutiEsplorazione e visualizzazione dei datiPersonalizzazione di massaCondivisione e comunicazione dei risultatiRi: Perché l'RMSE viene restituito dall'adattamento lineare che devia sqrt (somma (residui ^ 2) / n)?CIAO @ragnarl ,
Posso vedere come questo appaia contraddittorio! Tutti i quadrati medi implicano la divisione di una somma di 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 per 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 per stimare l'intercetta e 1 altro è perso per stimare la 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 aiuti!
@giuliano
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;