modStats: Calculate common model evaluation statistics

Description Usage Arguments Details Value Author(s) References Examples

Description

Function to calculate common numerical model evaluation statistics with flexible conditioning

Usage

1
2
3
modStats(mydata, mod = "mod", obs = "obs", statistic = c("n", "FAC2",
  "MB", "MGE", "NMB", "NMGE", "RMSE", "r", "COE", "IOA"), type = "default",
  rank.name = NULL, ...)

Arguments

mydata

A data frame.

mod

Name of a variable in mydata that respresents modelled values.

obs

Name of a variable in mydata that respresents measured values.

statistic

The statistic to be calculated. See details below for a description of each.

type

type determines how the data are split i.e. conditioned, and then plotted. The default is will produce statistics using the entire data. type can be one of the built-in types as detailed in cutData e.g. “season”, “year”, “weekday” and so on. For example, type = "season" will produce four sets of statistics — one for each season.

It is also possible to choose type as another variable in the data frame. If that variable is numeric, then the data will be split into four quantiles (if possible) and labelled accordingly. If type is an existing character or factor variable, then those categories/levels will be used directly. This offers great flexibility for understanding the variation of different variables and how they depend on one another.

More than one type can be considered e.g. type = c("season", "weekday") will produce statistics split by season and day of the week.

rank.name

Simple model ranking can be carried out if rank.name is supplied. rank.name will generally refer to a column representing a model name, which is to ranked. The ranking is based the COE performance, as that indicator is arguably the best single model performance indicator available.

...

Other aruments to be passed to cutData e.g. hemisphere = "southern"

Details

This function is under development and currently provides some common model evaluation statistics. These include (to be mathematically defined later):

All statistics are based on complete pairs of mod and obs.

Conditioning is possible through setting type, which can be a vector e.g. type = c("weekday", "season").

Details of the formulas are given in the openair manual.

Value

Returns a data frame with model evaluation statistics.

Author(s)

David Carslaw

References

Legates DR, McCabe GJ. (1999). Evaluating the use of goodness-of-fit measures in hydrologic and hydroclimatic model validation. Water Resources Research 35(1): 233-241.

Legates DR, McCabe GJ. (2012). A refined index of model performance: a rejoinder, International Journal of Climatology.

Willmott, C.J., Robeson, S.M., Matsuura, K., 2011. A refined index of model performance. International Journal of Climatology.

Examples

1
2
3
4
5
6
7
8
## the example below is somewhat artificial --- assuming the observed
## values are given by NOx and the predicted values by NO2.

modStats(mydata, mod = "no2", obs = "nox")

## evaluation stats by season

modStats(mydata, mod = "no2", obs = "nox", type = "season")

davidcarslaw/ggopenair documentation built on May 14, 2019, 10:37 p.m.