# GaussianLinearCalibration¶

class `GaussianLinearCalibration`(*args)

Gaussian linear calibration algorithm (Best Linear Unbiased Estimator or BLUE).

Available constructors:

GaussianLinearCalibration(model, inputObservations, outputObservations, candidate, parameterCovariance, errorCovariance, methodName)

GaussianLinearCalibration(modelObservations, gradientObservations, outputObservations, candidate, parameterCovariance, errorCovariance, methodName)

Parameters
model`Function`

The parametric function to be calibrated.

inputObservations2-d sequence of float

The sample of input observations.

outputObservations2-d sequence of float

The sample of output observations.

candidatesequence of float

The mean of the gaussian prior distribution of the parameter.

parameterCovariance2-d sequence of float

The covariance matrix of the gaussian prior distribution of the parameter.

errorCovariance2-d sequence of float

The covariance matrix of the gaussian distribution of the observations error.

methodNamestr

The name of the least-squares method to use for the calibration. By default, equal to QR. Possible values are SVD, QR, Cholesky.

modelObservations2-d sequence of float

The sample of output values of the model.

gradientObservations2-d sequence of float

The Jacobian matrix of the model with respect to the parameter.

Notes

GaussianLinearCalibration is known as the Best Linear Unbiased Estimator or BLUE. It is the minimum variance estimator of the parameter of a given model under the assumption that this parameter acts linearly in the model.

The given observation error covariance can be either local, ie the same matrix applies for each observation and is of dimension the output dimension of the model, or global, ie the matrix describes the full set of observation errors, in which case its dimension is the product of the output dimension of the model and the number of observations.

The prior distribution of the parameter is a `Normal`.

The posterior distribution of the parameter is `Normal`.

The resulting error distribution is `Normal` and is based on the errorCovariance input argument.

Examples

Calibrate a nonlinear model using GaussianLinearCalibration:

```>>> import openturns as ot
>>> ot.RandomGenerator.SetSeed(0)
>>> m = 10
>>> x = [[0.5 + i] for i in range(m)]
>>> inVars = ['a', 'b', 'c', 'x']
>>> formulas = ['a + b * exp(c * x)']
>>> model = ot.SymbolicFunction(inVars, formulas)
>>> p_ref = [2.8, 1.2, 0.5]
>>> params = [0, 1, 2]
>>> modelX = ot.ParametricFunction(model, params, p_ref)
>>> y = modelX(x)
>>> y += ot.Normal(0.0, 0.05).getSample(m)
>>> candidate = [1.0]*3
>>> priorCovariance = ot.CovarianceMatrix(3)
>>> errorCovariance = ot.CovarianceMatrix(1, [0.1])
>>> method = 'SVD'
>>> algo = ot.GaussianLinearCalibration(modelX, x, y, candidate, priorCovariance, errorCovariance, method)
>>> algo.run()
>>> print(algo.getResult().getParameterMAP())
[8.11483,0.0770992,0.992927]
```

Methods

 `getCandidate`(self) Accessor to the parameter candidate. `getClassName`(self) Accessor to the object’s name. Accessor to the observation error covariance. Accessor to the flag for a global observation error covariance. Accessor to the model gradient at the candidate. `getId`(self) Accessor to the object’s id. `getMethodName`(self) Accessor to the name of least-squares method used for the resolution. Accessor to the model evaluation at the candidate. `getName`(self) Accessor to the object’s name. Accessor to the output data to be fitted. Accessor to the parameter prior covariance. Accessor to the parameter prior distribution. `getResult`(self) Get the result structure. `getShadowedId`(self) Accessor to the object’s shadowed id. `getVisibility`(self) Accessor to the object’s visibility state. `hasName`(self) Test if the object is named. `hasVisibleName`(self) Test if the object has a distinguishable name. `run`(self) Launch the algorithm. `setName`(self, name) Accessor to the object’s name. `setResult`(self, result) Accessor to optimization result. `setShadowedId`(self, id) Accessor to the object’s shadowed id. `setVisibility`(self, visible) Accessor to the object’s visibility state.
`__init__`(self, \*args)

Initialize self. See help(type(self)) for accurate signature.

`getCandidate`(self)

Accessor to the parameter candidate.

Returns
candidate`Point`

Parameter candidate.

`getClassName`(self)

Accessor to the object’s name.

Returns
class_namestr

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

`getErrorCovariance`(self)

Accessor to the observation error covariance.

Returns
error`CovarianceMatrix`

Observation error covariance.

`getGlobalErrorCovariance`(self)

Accessor to the flag for a global observation error covariance.

Returns
flagbool

Flag telling if the given observation error covariance is global or not.

`getGradientObservations`(self)

Accessor to the model gradient at the candidate.

Returns
gradientObservation`Matrix`

Gradient of the model at the candidate point.

`getId`(self)

Accessor to the object’s id.

Returns
idint

Internal unique identifier.

`getMethodName`(self)

Accessor to the name of least-squares method used for the resolution.

Returns
name`String`

Name of least-squares method used for the resolution.

`getModelObservations`(self)

Accessor to the model evaluation at the candidate.

Returns
modelObservation`Sample`

Evaluation of the model at the candidate point.

`getName`(self)

Accessor to the object’s name.

Returns
namestr

The name of the object.

`getOutputObservations`(self)

Accessor to the output data to be fitted.

Returns
data`Sample`

The output data to be fitted.

`getParameterCovariance`(self)

Accessor to the parameter prior covariance.

Returns
prior`CovarianceMatrix`

Parameter prior covariance.

`getParameterPrior`(self)

Accessor to the parameter prior distribution.

Returns
prior`Distribution`

The parameter prior distribution.

`getResult`(self)

Get the result structure.

Returns
resCalibration: `CalibrationResult`

The structure containing all the results of the calibration problem.

Notes

The structure contains all the results of the calibration problem.

`getShadowedId`(self)

Accessor to the object’s shadowed id.

Returns
idint

Internal unique identifier.

`getVisibility`(self)

Accessor to the object’s visibility state.

Returns
visiblebool

Visibility flag.

`hasName`(self)

Test if the object is named.

Returns
hasNamebool

True if the name is not empty.

`hasVisibleName`(self)

Test if the object has a distinguishable name.

Returns
hasVisibleNamebool

True if the name is not empty and not the default one.

`run`(self)

Launch the algorithm.

Notes

It launches the algorithm and creates a `CalibrationResult`, structure containing all the results.

`setName`(self, name)

Accessor to the object’s name.

Parameters
namestr

The name of the object.

`setResult`(self, result)

Accessor to optimization result.

Parameters
result`CalibrationResult`

Result class.

`setShadowedId`(self, id)

Accessor to the object’s shadowed id.

Parameters
idint

Internal unique identifier.

`setVisibility`(self, visible)

Accessor to the object’s visibility state.

Parameters
visiblebool

Visibility flag.