--- title: "Accuracy indices" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Accuracy indices} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>") ``` {lvmisc} contains a group of useful functions to compute basic indices of accuracy. These functions can be divided in those which compute element-wise values and those which compute average values: * **Element-wise:** * `error()` * `error_abs()` * `error_pct()` * `error_abs_pct()` * `error_sqr()` * **Average:** * `mean_error()` * `mean_error_abs()` * `mean_error_pct()` * `mean_error_abs_pct()` * `mean_error_sqr()` * `mean_error_sqr_root()` * `bias()` * `loa()` You may notice that the majority of these functions have common prefixes (`error_` and `mean_error_`), intended to facilitate the use, as most text editors have an auto-complete feature. Also all of the accuracy indices functions take `actual` and `predicted` as arguments, and the functions that return average values have `na.rm = TRUE` in addition. Let's now see how each function computes its results ## Element-wise #### Error: `error()` It simply subtracts the `predicted` from the `actual` values. **Formula:** $$a_i - p_i$$ #### Absolute error: `error_abs()` It returns the absolute values of the `error()` function. **Formula:** $$|a_i - p_i|$$ #### Percent error: `error_pct()` Divides the error by the `actual` values. **Formula:** $$\frac{a_i - p_i}{a_i}\cdot100$$ #### Absolute percent error: `error_abs_pct()` Returns the absolute values of the `error_pct()` function. **Formula:** $$\frac{|a_i - p_i|}{|a_i|}\cdot100$$ #### Squared error: `error_sqr()` It squares the values of the `error()` function. **Formula:** $$(a_i - p_i)^2$$ ## Average #### Mean error: `mean_error()` It is the average of the error. **Formula:** $$\frac{1}{N}\sum_{i = 1}^{N}(a_i - p_i)$$ #### Mean absolute error: `mean_error_abs()` Computes the average of the absolute error. **Formula:** $$\frac{1}{N}\sum_{i = 1}^{N}|a_i - p_i|$$ #### Mean percent error: `mean_error_pct()` The average of the percent error. **Formula:** $$\frac{1}{N}\sum_{i = 1}^{N}\frac{a_i - p_i}{a_i}\cdot100$$ #### Mean absolute percent error: `mean_error_abs_pct()` It is the average of the absolute percent error. **Formula:** $$\frac{1}{N}\sum_{i = 1}^{N}\frac{|a_i - p_i|}{|a_i|}\cdot100$$ #### Mean squared error: `mean_error_sqr()` Averages the mean squared error. **Formula:** $$\frac{1}{N}\sum_{i = 1}^{N}(a_i - p_i)^2$$ #### Root mean squared error: `mean_error_sqr_root()` It takes the square root of the mean squared error. **Formula:** $$\sqrt{\frac{1}{N}\sum_{i = 1}^{N}(a_i - p_i)^2}$$ #### Bias: `bias()` Alias to `mean_error()`. #### Limits of agreement: `loa()` **Formula:** $$bias \pm 1.96\sigma$$ Where $\sigma$ is the standard deviation.