simple way to compute rmse root mean square error in R
calculer rmse ("racine" de l'erreur moyenne quadratique) avec R.
rmse=function(obs,pred)
{
diff=obs-pred
diff=diff[!is.na(diff)] #to remove NA values
return (sqrt(mean((diff)^2)))
}
save the commands above in a file named rmse.r
To call this function:
considering that obs is the array of observed values, pred is the array of predicted values
do
source("rmse.r")
rmsErr= rmse(obs,pred)
rmse=function(obs,pred)
{
diff=obs-pred
diff=diff[!is.na(diff)] #to remove NA values
return (sqrt(mean((diff)^2)))
}
save the commands above in a file named rmse.r
To call this function:
considering that obs is the array of observed values, pred is the array of predicted values
do
source("rmse.r")
rmsErr= rmse(obs,pred)
Ce commentaire a été supprimé par l'auteur.
RépondreSupprimerJe viens de débuter un stage dans le domaine de la modélisation ...et je n'ai pas encore toutes les bases en programmation.Je me permets de poster mon message votre blog en espérant que vous pourriez m'aider.
RépondreSupprimerJe dois comparer 2 fichiers en calculant les biais, RMSE et corrélation:
Je commence par le Biais qui me semble plus simple et que je pourrais certainement adapter par la suite pour les autres indicateurs:
Biais:
B = 1/n.Σi (Mi -Oi) Avec Mi la valeur donnée par le model a la date i
Et Oi la valeur donné par le fichier observation à la même date i.
Mes 2 fichiers:
-Un fichier.txt (Observation.txt) dans lequel se trouve les données observations:
avec la date, l'heure et la concentration d'un polluant à cet heure sur une période comme ce qui suit:
2012081801 47
2012081802 45
2012081804 43
2012081805 40
-Un fichier .txt (Model.txt) dans lequel se trouve les données fournies par un model:
2012081801 67.254
2012081802 62.861
2012081803 62.427
2012081804 63.149
2012081805 63.076
je ne sais pas trop comment m'y prendre, En vous remerciant par avance.
Tasneem
J'ai oublié de préciser que j'ai quelques notions de base en fortran mais pas avec R...
RépondreSupprimerTasneem
Bonjour,
RépondreSupprimerpour le biais tel que formulé B = 1/n.Σi (Mi -Oi), voici un bout de code juste ce qui est entre [code] et [/code]
[code]
obs=as.matrix(read.table('Observation.txt', header=F)) # pour charger les fichiers, s'il y d'entete de fichier mettre header=T
model=as.matrix(read.table('Model.txt', header=F))
B =sum(model[,2]-obs[,2])/n #supposant que la deuxiéme colonne de votre fichier correspond aux concentrations
[/code]
Merci pour votre réponse
SupprimerDe rien,
SupprimerFaites un retour, s'il vous plait, aprés avoir testé le code.
bonjour j'aimerais savoir comment calculer le biais d'une estimation?? jai obtenu une estimation paramètre de memoire longue je veux calculer le biais de cette estimation. j'ai la valeur reelle . merci
RépondreSupprimerVous pouvez calculer les valeurs estimées de données avec le nouveau paramètre et ensuite calculer la rmse entre les vraies valeurs et les nouvelles
RépondreSupprimer