Parameters¶
The parameters of a model are defined by two properties they must have (i) a name and (ii) either a fixed value or a distribution. It is important that the name of the parameter is the same as the name given as the input argument in the model function. A parameter is considered uncertain if it has a probability distribution, and the distributions are given as Chaospy distributions. 64 different univariate distributions are defined in Chaospy. For a list of available distributions and detailed instructions on how to create probability distributions with Chaospy, see Section 3.3 in the Chaospy paper.
The parameters are defined by the Parameters class.
Parameters
takes the argument parameters.
parameters can be on many different forms, but the most useful is
a dictionary with the above information,
the names of the parameters are the keys,
and the fixed values or distributions of the parameters are the values.
As an example, if we have two parameters,
where the first is named name_1
and has a uniform probability
distributions in the interval \([8, 16]\), and the second is named
name_2
and has a fixed value 42, the list become:
import chaospy as cp
parameters = {"name_1": cp.Uniform(8, 16), "name_2": 42}
And Parameters
is initialized:
parameters = un.Parameters(parameters=parameters)
The other possible forms that parameters can take are:
{name_1: parameter_object_1, name: parameter_object_2, ...}
{name_1: value_1 or Chaospy distribution, name_2: value_2 or Chaospy distribution, ...}
[parameter_object_1, parameter_object_2, ...]
,[[name_1, value_1 or Chaospy distribution], ...]
.[[name_1, value_1, Chaospy distribution or callable that returns a Chaospy distribution], ...]
Where name
is the name of the parameter and parameter_object
is a Parameter
object (see below).
The parameter argument in UncertaintyQuantification
is either
Parameters
object, or a parameters
dictionary/list as shown above.
Each parameter in Parameters
is a Parameter object.
Each Parameter
object is responsible for storing the name and fixed value
and/or distribution of each parameter.
It is initialized as:
parameter = Parameter(name="name_1", distribution=cp.Uniform(8, 16))
In general you should not need to use Parameter
, it is mainly for internal
use in Uncertainpy