Local parameter sensitivity analysis

This function allows to assess the local sensitivity of model outputs with respect to changes in parameters and represents the results graphically and returns a data.frame with the calculate sensitivity metric values. A default sensitivity metric is implemented but the user can provide own sensitivity metrics to assess specific things (example: time to maximum value, maximum value, steady-state/baseline value, oscillation frequency, ... whatever.) Local here means based on the parameterization within the IQRmodel.

  dosingTable = NULL,
  sensparams = NULL,
  sensoutput = NULL,
  sensmetricFct = NULL,
  sensopt.abspert = NULL,
  sensopt.relpert = 0.01,
  title = NULL,
  orderAlpha = FALSE,
  plotTrajectories = FALSE



IQRmodel to perform the sensitivity analysis for


Simulation time vector to use for the analysis.It can also be provided as a list of simulation time vectors. In the latter case the same number as list entries of dosingTable elements need to be provided. The different simtime vectors will then be used for the different dosingTable elements in the order as defined.


Single IQRdosing object defining the dosing to apply to the model during sensitivity analysis. dosingTable can also be a list of IQRdosing objects that all will be simulated and results concatenated.


Vector of parameter names in the IQRmodel to perform the sensitivity analysis for. Default: all parameters in the model.


Vector of element names (states, variables, reactions) in the IQRmodel to consider during the sensitivity analysis. Default: all OUTPUT variables in the model. If no OUTPUT elements present then an error is produced.


Function defining a custom sensitivity metric according to the syntax define in Details.


Default relative perturbation work well for non-zero nominal parameters. To allow to also determine sensitivity to parameters with 0 nominal value this argument takes a named vector. Names should be parameter names in the model and the value is the desired perturbation in absolute terms. Absolute perturbations can also be used on non-zero parameters and if done the absolute perturbation and the relative perturbation both will be done.


All parameters are perturbed using relative perturbations of 0.01 times the nominal value.


Character string defining a custom title for the returned sensitivity analysis results plot.


Logical. If TRUE the parameters in the results are ordered alphabetically. Otherwise by decreasing sensitivity value.


Logical, defining if trajectories to be plotted for visual inspection of results.


List with elements "plot" and "sensitivity". Plot is a ggplot2 object containing the plot itself. sensitivity is a data.frame containing parameter names and sensitivity values.


A custom sensitivity metric can be provided through definition of a function with the following input arguments: p_nom,p_pert,y_nom,y_pert. Where p_nom is the nominal parameter value, p_pert the perturbed one. y_nom is a data.frame the following columns: TIME, DOSING, NAME, VALUE. NAME contains the name of the simulated output, VALUE contains the simulated value under nominal parameter conditions, TIME contains the TIME of the simulated point. y_pert contains the same information as y_nom but for perturbed parammeter conditions. The output of the custom sensitivity metric function needs to be a scalar numeric value that defines the sensitivity metric to be used. This sensitivity metric function is called by sensitivity_IQRmodel for all parameters in sensparams.

The default sensitivity metric calculates normalized sensitivities for each observed timepoint across all observed outputs. Since this results in signed vectors, the mean of the absolute values of the normalized sensitivities is used as a metric, resulting in an always positive metric that can only be used to assess sensitivity of all outputs together to a parameter but not be used to assess directionality of the sensitivity.

See also

Other IQRmodel: IQRmodel(), addOutputs_IQRmodel(), addRelations_IQRmodel(), exportSBML_IQRmodel(), exportVariant_IQRmodel(), export_IQRmodel(), getPars_IQRmodel(), hasCcodeFunctions_IQRmodel(), hasInitialAssignments_IQRmodel(), importSBML_IQRmodel(), importVariant_IQRmodel(), is_IQRmodel(), new_IQRmodel(), print.IQRmodel(), print.IQRsensitivity(), regenerate_IQRmodel(), replaceTerms_IQRmodel(), setParameters_IQRmodel(), setPars_IQRmodel(), sim_IQRmodel(), simbio_CSV2namedVector(), simbio_updateParamIC_IQRmodel(), stoichiometry_IQRmodel(), strReplace_IQRmodel()

Other QSP: IQRsysEst(), IQRsysModel(), IQRsysProject(), addOutputs_IQRmodel(), addRelations_IQRmodel(), as_IQRsysEst(), as_IQRsysProjectMulti(), as_IQRsysProject(), comparePars_IQRsysModel(), duplicate_IQRsysProject(), exportVariant_IQRmodel(), exportVirtualSubjects_IQRnlmeProject(), export_IQRsysData(), getDosing_IQRsysModel(), getEmpiricalETACovarianceMatrix_IQRsysProject(), getOptTrace_IQRsysProject(), getPars_IQRoptTrace(), getPars_IQRsysModel(), getPrediction_IQRsysModel(), hasrun_IQRsysProject(), importVariant_IQRmodel(), import_IQRsysData(), is_IQRsysEst(), is_IQRsysModel(), is_IQRsysProjectMulti(), is_IQRsysProject(), load_IQRsysProject(), modelSpec_IQRsysEst(), model_IQRsysModel(), offsetTIME_IQRsysData(), plotDVPRED_IQRsysModel(), plotFit_IQRsysModel(), plotPars_IQRsysModel(), plotPred_IQRsysModel(), plotProfile_IQRsysModel(), plotWRES_IQRsysModel(), plotWaterfall_IQRsysModel(), plot_IQRoptTrace(), plot_IQRsysModel(), print.IQRsensitivity(), print.IQRsysProject(), profile_IQRsysModel(), replaceTerms_IQRmodel(), run_IQRsysProjectMulti(), run_IQRsysProject(), sample_IQRsysModel(), setPars_IQRsysModel(), sim_IQRsysModel(), sim_IQRvirtualSubjects(), simbio_CSV2namedVector(), simbio_updateParamIC_IQRmodel(), spmIIV_IQRsysProject(), spm_IQRsysProject(), switchOpt_IQRsysModel(), tablePars_IQRsysModel()

Other Sensitivity Analysis: informationContent_IQRnlmeProject(), print.IQRsensitivity()


Henning Schmidt, IntiQuan