Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

intFun.crmse

Centralized root mean square error (CRMSE)


Description

This function computes the centralized root mean square error, which is defined as:

$crmse(λ, φ) = √{\frac{1}{t_{f}-t_{0}}\int_{t_{0}}^{t_{f}}[(v_{mod}(t,λ, φ)-\overline{v_{mod}}(λ, φ))-(v_{ref}(t,λ, φ)-\overline{v_{ref}}(λ, φ))]^{2}dt}$

where λ is the longitude, φ is the latitude, t is the time, t_0 is the initial time step, t_f is the final time time step, v_{mod} is a modelled variable, v_{ref} is the corresponding reference variable, \overline{v_{mod}} is the time-mean modelled variable, and \overline{v_{ref}} is the time-mean reference variable.

Usage

intFun.crmse(mod.anom, ref.anom)

Arguments

mod.anom

An R object (e.g. monthly anomalies from model output)

ref.anom

An R object (e.g. monthly anomalies from reference data)

Value

An R object that shows the centralized root mean square error

Examples

library(raster)
# create two raster stacks
for(i in 1:100)
{
 mod <- raster::raster(matrix(runif(100,0,10), ncol=10))
 ref <- raster::raster(matrix(runif(100,0,10), ncol=10))
 assign(paste('mod', i , sep='_'), mod)
 assign(paste('ref', i , sep='_'), ref)
}
my.list.mod <- lapply(ls(pattern='mod_'), get)
my.list.ref <- lapply(ls(pattern='ref_'), get)
mod <- do.call(stack, my.list.mod)
ref <- do.call(stack, my.list.ref)
# compute anomalies
mod.anom <- intFun.anom(mod)
ref.anom <- intFun.anom(ref)
# compute CRMSE
crmse <- intFun.crmse(mod.anom, ref.anom)
plot(crmse); text(crmse, digits=2)

amber

Automated Model Benchmarking R Package

v1.0.3
GPL-3
Authors
Christian Seiler [cre, aut]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.