From 9d23f66cf669e9415ef602e90cd4bde53abff099 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 5 Jan 2024 11:21:11 +0000 Subject: [PATCH 1/4] remove scoringutils metrics as using Metrics versions --- NAMESPACE | 2 -- R/metrics-point.R | 52 -------------------------------------------- man/abs_error.Rd | 39 --------------------------------- man/squared_error.Rd | 31 -------------------------- 4 files changed, 124 deletions(-) delete mode 100644 R/metrics-point.R delete mode 100644 man/abs_error.Rd delete mode 100644 man/squared_error.Rd diff --git a/NAMESPACE b/NAMESPACE index c4ba7a2dc..61072bdab 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -13,7 +13,6 @@ S3method(validate_forecast,forecast_binary) S3method(validate_forecast,forecast_point) S3method(validate_forecast,forecast_quantile) S3method(validate_forecast,forecast_sample) -export(abs_error) export(add_coverage) export(add_pairwise_comparison) export(ae_median_quantile) @@ -69,7 +68,6 @@ export(score) export(se_mean_sample) export(select_rules) export(set_forecast_unit) -export(squared_error) export(summarise_scores) export(summarize_scores) export(theme_scoringutils) diff --git a/R/metrics-point.R b/R/metrics-point.R deleted file mode 100644 index 1a0654928..000000000 --- a/R/metrics-point.R +++ /dev/null @@ -1,52 +0,0 @@ -#' @title Absolute Error -#' -#' @description -#' Calculate absolute error as -#' -#' \deqn{ -#' \textrm{abs}(\textrm{observed} - \textrm{median\_prediction}) -#' }{ -#' abs(observed - prediction) -#' } -#' -#' @return vector with the absolute error -#' @inheritParams ae_median_quantile -#' @seealso [ae_median_sample()], [ae_median_quantile()] -#' @examples -#' observed <- rnorm(30, mean = 1:30) -#' predicted_values <- rnorm(30, mean = 1:30) -#' abs_error(observed, predicted_values) -#' @export -#' @keywords metric - -abs_error <- function(observed, predicted) { - return(abs(observed - predicted)) -} - - -#' @title Squared Error -#' -#' @description -#' Squared Error SE calculated as -#' -#' \deqn{ -#' (\textrm{observed} - \textrm{predicted})^2 -#' }{ -#' (observed - predicted)^2 -#' } -#' -#' @param predicted A vector with predicted values of size n -#' @return vector with the scoring values -#' @inheritParams ae_median_sample -#' @export -#' @keywords metric -#' @examples -#' observed <- rnorm(30, mean = 1:30) -#' predicted_values <- rnorm(30, mean = 1:30) -#' squared_error(observed, predicted_values) - -squared_error <- function(observed, predicted) { - assert_input_point(observed, predicted) - se <- (observed - predicted)^2 - return(se) -} diff --git a/man/abs_error.Rd b/man/abs_error.Rd deleted file mode 100644 index 197703193..000000000 --- a/man/abs_error.Rd +++ /dev/null @@ -1,39 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/metrics-point.R -\name{abs_error} -\alias{abs_error} -\title{Absolute Error} -\usage{ -abs_error(observed, predicted) -} -\arguments{ -\item{observed}{numeric vector of size n with the observed values} - -\item{predicted}{numeric nxN matrix of predictive -quantiles, n (number of rows) being the number of forecasts (corresponding -to the number of observed values) and N -(number of columns) the number of quantiles per forecast. -If \code{observed} is just a single number, then predicted can just be a -vector of size N.} -} -\value{ -vector with the absolute error -} -\description{ -Calculate absolute error as - -\deqn{ - \textrm{abs}(\textrm{observed} - \textrm{median\_prediction}) -}{ - abs(observed - prediction) -} -} -\examples{ -observed <- rnorm(30, mean = 1:30) -predicted_values <- rnorm(30, mean = 1:30) -abs_error(observed, predicted_values) -} -\seealso{ -\code{\link[=ae_median_sample]{ae_median_sample()}}, \code{\link[=ae_median_quantile]{ae_median_quantile()}} -} -\keyword{metric} diff --git a/man/squared_error.Rd b/man/squared_error.Rd deleted file mode 100644 index f8b578403..000000000 --- a/man/squared_error.Rd +++ /dev/null @@ -1,31 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/metrics-point.R -\name{squared_error} -\alias{squared_error} -\title{Squared Error} -\usage{ -squared_error(observed, predicted) -} -\arguments{ -\item{observed}{A vector with observed values of size n} - -\item{predicted}{A vector with predicted values of size n} -} -\value{ -vector with the scoring values -} -\description{ -Squared Error SE calculated as - -\deqn{ - (\textrm{observed} - \textrm{predicted})^2 -}{ - (observed - predicted)^2 -} -} -\examples{ -observed <- rnorm(30, mean = 1:30) -predicted_values <- rnorm(30, mean = 1:30) -squared_error(observed, predicted_values) -} -\keyword{metric} From 56eb662ea7494f101c9ffc5776b8be804845976b Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 5 Jan 2024 11:26:49 +0000 Subject: [PATCH 2/4] add NEWs item --- NEWS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index 24bf6832f..e95602810 100644 --- a/NEWS.md +++ b/NEWS.md @@ -36,9 +36,9 @@ The update introduces breaking changes. If you want to keep using the older vers - `plot_avail_forecasts()` was renamed `plot_forecast_counts()` in line with the change in the function name. The `x` argument no longer has a default value, as the value will depend on the data provided by the user. - The deprecated `..density..` was replaced with `after_stat(density)` in ggplot calls. - Files ending in ".Rda" were renamed to ".rds" where appropriate when used together with `saveRDS()` or `readRDS()`. -- `score()` now calls `na.omit()` on the data, instead of only removing rows with missing values in the columns `observed` and `predicted`. This is because `NA` values in other columns can also mess up e.g. grouping of forecasts according to the unit of a single forecast. +- `score()` now calls `na.omit()` on the data, instead of only removing rows with missing values in the columns `observed` and `predicted`. This is because `NA` values in other columns can also mess up e.g. grouping of forecasts according to the unit of a single forecast. - added documentation for the return value of `summarise_scores()`. - +- Removed abs_error and squared_error from the package in favour of `Metrics::ae` and `Metrics::se`. # scoringutils 1.2.1 From 00b703ee7602bc7d5dced0d485599e71ca8950c4 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 5 Jan 2024 11:37:52 +0000 Subject: [PATCH 3/4] remove metrics from see also doc links --- R/metrics-sample.R | 3 +-- man/ae_median_sample.Rd | 2 +- man/se_mean_sample.Rd | 3 --- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/R/metrics-sample.R b/R/metrics-sample.R index 335292b18..2bfe7c37a 100644 --- a/R/metrics-sample.R +++ b/R/metrics-sample.R @@ -92,7 +92,7 @@ bias_sample <- function(observed, predicted) { #' the number of data points and N (number of columns) the number of Monte #' Carlo samples. Alternatively, `predicted` can just be a vector of size n. #' @return vector with the scoring values -#' @seealso [ae_median_quantile()], [abs_error()] +#' @seealso [ae_median_quantile()] #' @importFrom stats median #' @examples #' observed <- rnorm(30, mean = 1:30) @@ -127,7 +127,6 @@ ae_median_sample <- function(observed, predicted) { #' the number of data points and N (number of columns) the number of Monte #' Carlo samples. Alternatively, `predicted` can just be a vector of size n. #' @return vector with the scoring values -#' @seealso [squared_error()] #' @examples #' observed <- rnorm(30, mean = 1:30) #' predicted_values <- matrix(rnorm(30, mean = 1:30)) diff --git a/man/ae_median_sample.Rd b/man/ae_median_sample.Rd index 1e420fcc4..6967f44fd 100644 --- a/man/ae_median_sample.Rd +++ b/man/ae_median_sample.Rd @@ -31,6 +31,6 @@ predicted_values <- matrix(rnorm(30, mean = 1:30)) ae_median_sample(observed, predicted_values) } \seealso{ -\code{\link[=ae_median_quantile]{ae_median_quantile()}}, \code{\link[=abs_error]{abs_error()}} +\code{\link[=ae_median_quantile]{ae_median_quantile()}} } \keyword{metric} diff --git a/man/se_mean_sample.Rd b/man/se_mean_sample.Rd index c2101d4df..4a5d62aab 100644 --- a/man/se_mean_sample.Rd +++ b/man/se_mean_sample.Rd @@ -31,7 +31,4 @@ observed <- rnorm(30, mean = 1:30) predicted_values <- matrix(rnorm(30, mean = 1:30)) se_mean_sample(observed, predicted_values) } -\seealso{ -\code{\link[=squared_error]{squared_error()}} -} \keyword{metric} From 8c35bec292c235a1861f4b872f77928165aa18b2 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 5 Jan 2024 11:48:58 +0000 Subject: [PATCH 4/4] catch final abs_error mention --- R/metrics-quantile.R | 2 +- man/ae_median_quantile.Rd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/metrics-quantile.R b/R/metrics-quantile.R index ce14a37b5..af02ef30c 100644 --- a/R/metrics-quantile.R +++ b/R/metrics-quantile.R @@ -498,7 +498,7 @@ bias_quantile_single_vector <- function(observed, predicted, quantile, na.rm) { #' `quantile`. #' @inheritParams wis #' @return numeric vector of length N with the absolute error of the median -#' @seealso [ae_median_sample()], [abs_error()] +#' @seealso [ae_median_sample()] #' @importFrom stats median #' @examples #' observed <- rnorm(30, mean = 1:30) diff --git a/man/ae_median_quantile.Rd b/man/ae_median_quantile.Rd index d96965c7c..d8d463366 100644 --- a/man/ae_median_quantile.Rd +++ b/man/ae_median_quantile.Rd @@ -38,6 +38,6 @@ predicted_values <- matrix(rnorm(30, mean = 1:30)) ae_median_quantile(observed, predicted_values, quantile = 0.5) } \seealso{ -\code{\link[=ae_median_sample]{ae_median_sample()}}, \code{\link[=abs_error]{abs_error()}} +\code{\link[=ae_median_sample]{ae_median_sample()}} } \keyword{metric}