CalibrationSet: Calibration set

View source: R/class-CalibrationSet.R

CalibrationSetR Documentation

Calibration set

Description

A calibration set combines a scenario, observed data, and an optional weighting factor into one object. The calibration set is used to fit model parameters to observed data using calibrate().

Usage

caliset(scenario, data, weight = 1.0, tag = NULL)

Arguments

scenario

a scenario describing conditions during the experiment

data

a data.frame with observed data in long format containing two columns: the 1st column with numeric time points and 2nd column with numeric data to fit to.

weight

optional numeric weight to be applied when calculating the error term for each data point. Default value is 1.0, i.e. no weighting.

tag

optional value to identify the data, e.g. a study number

Details

A calibration set usually represents a single experiment or trial. Multiple experimental replicates can be combined into a single set, if model parameters are identical between trials. If model parameters were modified during a trial, e.g. a pump failure occurred or flow rates changed, this can be represented by using a scenario sequence instead of a basic scenario. Please refer to sequence() for details.

Weighting

An optional weighting factor can be used to scale the error term of a whole set or of individual data points when fitting parameters using e.g. calibrate().

The vector of weights must either be of length one or have the same length as the dataset. In the former case, the same weight will be applied to all values in the dataset. In the latter, individual weights are applied for each data point.

Value

caliset() returns a calibration set object

Examples

library(dplyr)

# Get observed biomass during control experiment by Schmitt et al. (2013)
observed <- Schmitt2013 %>%
  filter(ID == "T0") %>%
  select(t, BM=obs)

# Create a scenario that represents conditions during experiment
scenario <- metsulfuron %>%
  set_param(c(k_phot_fix=TRUE, k_resp=0, Emax=1)) %>%
  set_init(c(BM=12)) %>%
  set_noexposure()

# Create a calibration set
cs <- caliset(scenario, observed)

# Fit parameter 'k_phot_max' to observed biomass growth from experiment
calibrate(
  cs,
  par=c(k_phot_max=1),
  output="BM",
  method="Brent", # Brent is recommended for one-dimensional optimization
  lower=0,        # lower parameter boundary
  upper=0.5       # upper parameter boundary
) -> fit
fit$par


cvasi documentation built on Sept. 23, 2024, 9:08 a.m.