MSE: Mean Squared Error (MSE)

View source: R/reg_MSE.R

MSER Documentation

Mean Squared Error (MSE)


It estimates the MSE for a continuous predicted-observed dataset.


MSE(data = NULL, obs, pred, tidy = FALSE, na.rm = TRUE)



(Optional) argument to call an existing data frame containing the data.


Vector with observed values (numeric).


Vector with predicted values (numeric).


Logical operator (TRUE/FALSE) to decide the type of return. TRUE returns a data.frame, FALSE returns a list; Default : FALSE.


Logic argument to remove rows with missing values (NA). Default is na.rm = TRUE.


The MSE, also known as MSD, measures general agreement, as includes both variance (lack of precision) and bias (lack of accuracy). The MSE of predictions could be decomposed following a variety of approaches (e.g. Willmott et al. 1981; Correndo et al. 2021). Its calculation is simple, the sum of squared differences between predictions and observations divided by the sample size (n). The greater the value the worse the predicted performance. Unfortunately, the units of MSE do not have a direct interpretation. For a more direct interpretation, the square root of MSE (RMSE) has the same units as the variable of interest. For the formula and more details, see online-documentation


an object of class numeric within a list (if tidy = FALSE) or within a ⁠data frame⁠ (if tidy = TRUE).


Willmott (1981). On the validation of models. Phys. Geogr. 2, 184–194. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/02723646.1981.10642213")}

Correndo et al. (2021). Revisiting linear regression to test agreement in continuous predicted-observed datasets. Agric. Syst. 192, 103194. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.agsy.2021.103194")}


X <- rnorm(n = 100, mean = 0, sd = 10)
Y <- rnorm(n = 100, mean = 0, sd = 9)
MSE(obs = X, pred = Y)

metrica documentation built on June 30, 2024, 5:07 p.m.