11.5.2.2. Introducing noise for deterministic function

As previously explained, when comparing your reference dataset to a deterministic model (i.e., a model with no intrinsic stochastic behaviour), the user can explicitly specify his own uncertainty assumptions. This can be done by calling setGaussianNoise, whose prototype is

void setGaussianNoise(const char *stdname);

The idea is to inject random noise (assumed Gaussian and centered) into the model predictions, using internal variables from the reference dataset to define its standard deviation. The only argument is a list of variables, formatted as "stdvaria1:stdvaria2", where each element corresponds to a variable within the reference TDataServer. These values provide the standard deviation for each observation point (for example, to represent experimental uncertainty).

This solution allows to:

  • define a common uncertainty (applied generally across all observations in the reference dataset) by simply adding an attribute with a TAttributeFormula, where the formula is constant;

  • use experimental uncertainties that are provided along with the reference values;

  • store all hypotheses within the reference TDataServer object. For this reason, we strongly recommend saving both the parameter and reference datasets at the end of a calibration procedure.

Warning

The number of variables in the stdname list must match the number of model outputs. Even in the special case where calibration involves two outputs, with one having no associated uncertainty, a zero-valued attribute should still be added for that output if the other requires an uncertainty model.