CalibrationStrategy

class CalibrationStrategy(*args)

Calibration strategy.

Available constructors:

CalibrationStrategy(range)

CalibrationStrategy(range=[0.117, 0.468], expansionFactor=1.2, shrinkFactor=0.8, calibrationStep=100)

Parameters:

range : Interval of dimension 1 [m,M]

Acceptance rate values for which no update of the calibration coefficient is performed.

expansionFactor : float, e > 1

Expansion factor e to use to rescale the calibration coefficient if the latter is too high (greater than the upper bound of range).

shrinkFactor : float, 0 < s < 1

Shrink factor s to use to rescale the calibration coefficient if the latter is too low (smaller than the lower bound of range). If expansionFactor is specified, shrinkFactor must be mentioned too.

calibrationStep : positive int

Calibration step corresponding for example to q in the description of the method getCalibrationStrategyPerComponent() of the RandomWalkMetropolisHastings class.

Notes

A CalibrationStrategy can be used by a RandomWalkMetropolisHastings for example (see the description of the method getCalibrationStrategyPerComponent() ).

Methods

computeUpdateFactor(rho) Compute the update factor.
getCalibrationStep() Get the calibration step.
getClassName() Accessor to the object’s name.
getExpansionFactor() Get the expansion factor.
getId() Accessor to the object’s id.
getImplementation(*args) Accessor to the underlying implementation.
getName() Accessor to the object’s name.
getRange() Get the range.
getShrinkFactor() Get the shrink factor.
setCalibrationStep(calibrationStep) Set the calibration step.
setExpansionFactor(expansionFactor) Set the expansion factor.
setName(name) Accessor to the object’s name.
setRange(range) Set the range.
setShrinkFactor(shrinkFactor) Set the shrink factor.
__init__(*args)
computeUpdateFactor(rho)

Compute the update factor.

Parameters:

rho : float

Acceptance rate \rho to take into account.

Returns:

lambda : float

Let \lambda be the calibration coefficient to update, it gives a factor \phi(\rho) such that \phi(\rho) \lambda is the updated calibration coefficient according to the strategy. The value is computed as follows:

\phi(\rho) = \left\{
             \begin{array}{l}
                 \displaystyle s  \quad if \; \rho < m \\
                 \displaystyle e  \quad if \; \rho > M \\
                 \displaystyle 1  \quad otherwise
             \end{array}
             \right.

with s \in ]0, 1[, e > 1 and [m,M] the values given,

respectively, by the methods getShrinkFactor(),

getExpansionFactor() and getRange().

Examples

>>> import openturns as ot
>>> calibration = ot.CalibrationStrategy(ot.Interval(0.1, 0.4), 1.2, 0.8)
>>> print(calibration.computeUpdateFactor(0.09))
0.8
>>> print(calibration.computeUpdateFactor(0.6))
1.2
>>> print(calibration.computeUpdateFactor(0.18))
1.0
getCalibrationStep()

Get the calibration step.

Returns:

step : positive int

Calibration step corresponding for example to q in the description of the method getCalibrationStrategyPerComponent() of the RandomWalkMetropolisHastings class.

getClassName()

Accessor to the object’s name.

Returns:

class_name : str

The object class name (object.__class__.__name__).

getExpansionFactor()

Get the expansion factor.

Returns:

expansionFactor : float

Expansion factor e. See the description of the method computeUpdateFactor().

getId()

Accessor to the object’s id.

Returns:

id : int

Internal unique identifier.

getImplementation(*args)

Accessor to the underlying implementation.

Returns:

impl : Implementation

The implementation class.

getName()

Accessor to the object’s name.

Returns:

name : str

The name of the object.

getRange()

Get the range.

Returns:

range : Interval of dimension 1

Range [m,M] in the description of the method computeUpdateFactor().

getShrinkFactor()

Get the shrink factor.

Returns:

shrinkFactor : float

Shrink factor s in the description of the method computeUpdateFactor().

setCalibrationStep(calibrationStep)

Set the calibration step.

Parameters:

step : positive int

Calibration step corresponding for example to q in the description of the method getCalibrationStrategyPerComponent() of the RandomWalkMetropolisHastings class.

setExpansionFactor(expansionFactor)

Set the expansion factor.

Parameters:

expansionFactor : float, e > 1

Expansion factor e. See the description of the method computeUpdateFactor().

setName(name)

Accessor to the object’s name.

Parameters:

name : str

The name of the object.

setRange(range)

Set the range.

Parameters:

range : Interval of dimension 1

Range [m,M] in the description of the method computeUpdateFactor().

setShrinkFactor(shrinkFactor)

Set the shrink factor.

Parameters:

shrinkFactor : float, 0 < s < 1

Shrink factor s in the description of the method computeUpdateFactor().