Skip to contents

Executes optimization to find the best parameter values by comparing simulation results against observed data.

Value

A new ParameterIdentification object. Executes Parameter Identification

Super class

ospsuite.utils::Printable -> ParameterIdentification

Active bindings

simulations

A named list of simulation objects, keyed by the IDs of their root containers.

parameters

Read-only list of PIParameters objects for optimization.

configuration

A PIConfiguration object instance.

outputMappings

A list of PIOutputMapping objects linking observed data to simulation outputs.

Methods


Method new()

Initializes a ParameterIdentification instance.

Usage

ParameterIdentification$new(
  simulations,
  parameters,
  outputMappings,
  configuration = NULL
)

Arguments

simulations

An object or a list of objects of class Simulation. Parameters of the simulation object will be varied and the results simulated. For creating Simulation objects, see ospsuite::loadSimulation.

parameters

An object or a list of objects of class PIParameter. These parameters will be varied. For creating PIParameter objects, refer to PIParameters.

outputMappings

List of objects of the class PIOutputMapping. Each object maps a model output (represented by a Quantity) with a set of observed data given as XYData objects. For guidance on creating PIOutputMapping objects, see PIOutputMapping.

configuration

(Optional) PIConfiguration for additional settings. Uses default if omitted. For details on creating a PIConfiguration object, see PIConfiguration.


Method run()

Initiates parameter identification process. Upon completion, access optimal parameter values through PIParameters$currValue.

Usage

ParameterIdentification$run()

Returns

Results from the parameter identification algorithm, varying by algorithm choice. Plots Parameter Estimation Results


Method plotResults()

Generates plots for each output mapping based on the current or provided parameter values. Simulations are executed with these parameters to visualize the estimation results.

Usage

ParameterIdentification$plotResults(par = NULL)

Arguments

par

Optional parameter values for simulations, in the order of ParameterIdentification$parameters. Use current values if NULL.

Returns

A list of ggplot2 plots, one for each PIOutputMapping. Calculate Objective Function Values (OFV) on an n-Dimensional Grid

Generates a grid of parameter combinations, computes the OFV for each, and optionally sets the best result as the starting point for subsequent optimizations.


Method gridSearch()

Usage

ParameterIdentification$gridSearch(
  lower = NULL,
  upper = NULL,
  logScaleFlag = FALSE,
  totalEvaluations = 50,
  setStartValue = FALSE
)

Arguments

lower

Numeric vector of parameter lower bounds, defaulting to PIParameter minimum values.

upper

Numeric vector of parameter upper bounds, defaulting to PIParameter maximum values.

logScaleFlag

Logical scalar or vector; determines if grid points are spaced logarithmically. Default is FALSE.

totalEvaluations

Integer specifying the total grid points. Default is 50.

setStartValue

Logical. If TRUE, updates PIParameter starting values to the best grid point. Default is FALSE.

Returns

A tibble with parameter values and their corresponding OFV. Calculate Objective Function Value (OFV) Profiles

Generates OFV profiles by varying each parameter independently while holding others constant.


Method calculateOFVProfiles()

Usage

ParameterIdentification$calculateOFVProfiles(
  par = NULL,
  boundFactor = 0.1,
  totalEvaluations = 20
)

Arguments

par

Numeric vector of parameter values, one for each parameter. Defaults to current parameter values if NULL, invalid or mismatched.

boundFactor

Numeric value. A value of 0.1 means lower is 10% below par and upper is 10% above par. Default is 0.1.

totalEvaluations

Integer specifying the total number of grid points across each parameter profile. Default is 20.

Returns

A list of tibbles, one per parameter, with columns for parameter values and OFVs (ofv).


Method print()

Prints a summary of ParameterIdentification instance.

Usage

ParameterIdentification$print()