GaussianProcessFitterResult

class GaussianProcessFitterResult(*args)

Gaussian process fitter result.

Warning

This class is experimental and likely to be modified in future releases. To use it, import the openturns.experimental submodule.

Parameters:
inputSample, outputSampleSample

The samples (\vect{x}_k)_{1 \leq k \leq \sampleSize} \in \Rset^{\inputDim} and (\vect{y}_k)_{1 \leq k \leq \sampleSize}\in \Rset^{\outputDim}.

metaModelFunction

The meta model: \tilde{\cM}: \Rset^{\inputDim} \rightarrow \Rset^{\outputDim}, defined in :eq:metaModelGPF.

residualsPoint

The residual errors.

relativeErrorsPoint

The relative errors.

regressionMatrixMatrix

The regression matrix, e.g the evaluation of the basis function upon the input design sample.

basisBasis

Functional basis of size b : (\varphi^l: \Rset^{\inputDim} \rightarrow \Rset^{\outputDim}) for each l \in [1, b]. Its size should be equal to zero if the trend is not estimated.

trendCoefsequence of float

The trend coefficients vectors (\vect{\alpha}^1, \dots, \vect{\alpha}^{\outputDim}) stored as a Point.

covarianceModelCovarianceModel

Covariance function of the Gaussian process with its optimized parameters.

optimalLogLikelihoodfloat

The maximum log-likelihood corresponding to the model.

linAlgMethodint

The used linear algebra method to fit the model:

  • otexp.GaussianProcessFitterResult.LAPACK or 0: using LAPACK to fit the model,

  • otexp.GaussianProcessFitterResult.HMAT or 1: using HMAT to fit the model.

Methods

getBasis()

Accessor to the basis.

getClassName()

Accessor to the object's name.

getCovarianceModel()

Accessor to the covariance model.

getInputSample()

Accessor to the input sample.

getLinearAlgebraMethod()

Accessor to the used linear algebra method to fit.

getMetaModel()

Accessor to the metamodel.

getName()

Accessor to the object's name.

getNoise()

Accessor to the Gaussian process.

getOptimalLogLikelihood()

Accessor to the optimal log-likelihood of the model.

getOutputSample()

Accessor to the output sample.

getRegressionMatrix()

Accessor to the regression matrix.

getRelativeErrors()

Accessor to the relative errors.

getResiduals()

Accessor to the residuals.

getTrendCoefficients()

Accessor to the trend coefficients.

hasName()

Test if the object is named.

setInputSample(sampleX)

Accessor to the input sample.

setMetaModel(metaModel)

Accessor to the metamodel.

setName(name)

Accessor to the object's name.

setOutputSample(sampleY)

Accessor to the output sample.

setRelativeErrors(relativeErrors)

Accessor to the relative errors.

setResiduals(residuals)

Accessor to the residuals.

Notes

The structure is usually created by the method run of a GaussianProcessFitter, and obtained thanks to the getResult() method.

The meta model \tilde{\cM}: \Rset^{\inputDim} \rightarrow \Rset^{\outputDim} is defined by:

(1)\tilde{\cM}(\vect{x}) = \left(
  \begin{array}{l}
    \mu_1(\vect{x}) \\
    \dots  \\
    \mu_p(\vect{x}) 
   \end{array}
 \right)

where \mu_\ell(\vect{x}) = \sum_{j=1}^{b} \alpha_j^\ell \varphi_j^\ell(\vect{x}) and \varphi_j^\ell: \Rset^{\inputDim} \rightarrow \Rset are the trend functions (the \ell-th marginal of \varphi(x)).

(2)\tilde{\cM}(\vect{x}) = \left(
  \begin{array}{l}
    \mu_1\circ T(\vect{x}) \\
    \dots  \\
    \mu_p\circ T(\vect{x}) 
   \end{array}
 \right)

Examples

Create the model \cM: \Rset \mapsto \Rset and the samples:

>>> import openturns as ot
>>> import openturns.experimental as otexp
>>> g = ot.SymbolicFunction(['x'],  ['x * sin(x)'])
>>> sampleX = [[1.0], [2.0], [3.0], [4.0], [5.0], [6.0]]
>>> sampleY = g(sampleX)

Create the algorithm:

>>> basis = ot.Basis([ot.SymbolicFunction(['x'], ['x']), ot.SymbolicFunction(['x'], ['x^2'])])
>>> covarianceModel = ot.GeneralizedExponential([2.0], 2.0)
>>> algo = otexp.GaussianProcessFitter(sampleX, sampleY, covarianceModel, basis)
>>> algo.run()

Get the result:

>>> result = algo.getResult()

Get the meta model:

>>> metaModel = result.getMetaModel()
>>> graph = metaModel.draw(0.0, 7.0)
>>> cloud = ot.Cloud(sampleX, sampleY)
>>> cloud.setPointStyle('fcircle')
>>> graph = ot.Graph()
>>> graph.add(cloud)
>>> graph.add(g.draw(0.0, 7.0))
__init__(*args)
getBasis()

Accessor to the basis.

Returns:
basisBasis

Functional basis of size b : (\varphi^\ell: \Rset^{\inputDim} \rightarrow \Rset^{\outputDim}) for each l \in [1, b].

Notes

If the trend is not estimated, the basis is empty.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

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

getCovarianceModel()

Accessor to the covariance model.

Returns:
covModelCovarianceModel

The covariance model of the Gaussian process W.

getInputSample()

Accessor to the input sample.

Returns:
inputSampleSample

The input sample.

getLinearAlgebraMethod()

Accessor to the used linear algebra method to fit.

Returns:
linAlgMethodint

The used linear algebra method to fit the model:

  • otexp.GaussianProcessFitterResult.LAPACK or 0: using LAPACK to fit the model,

  • otexp.GaussianProcessFitterResult.HMAT or 1: using HMAT to fit the model.

getMetaModel()

Accessor to the metamodel.

Returns:
metaModelFunction

Metamodel.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getNoise()

Accessor to the Gaussian process.

Returns:
processProcess

Returns the Gaussian process W with the optimized parameters.

getOptimalLogLikelihood()

Accessor to the optimal log-likelihood of the model.

Returns:
optimalLogLikelihoodfloat

The value of the log-likelihood corresponding to the model.

getOutputSample()

Accessor to the output sample.

Returns:
outputSampleSample

The output sample.

getRegressionMatrix()

Accessor to the regression matrix.

Returns:
processMatrix

Returns the regression matrix.

getRelativeErrors()

Accessor to the relative errors.

Returns:
relativeErrorsPoint

The relative errors defined as follows for each output of the model: \displaystyle \frac{\sum_{i=1}^N (y_i - \hat{y_i})^2}{N \Var{\vect{Y}}} with \vect{Y} the vector of the N model’s values y_i and \hat{y_i} the metamodel’s values.

getResiduals()

Accessor to the residuals.

Returns:
residualsPoint

The residual values defined as follows for each output of the model: \displaystyle \frac{\sqrt{\sum_{i=1}^N (y_i - \hat{y_i})^2}}{N} with y_i the N model’s values and \hat{y_i} the metamodel’s values.

getTrendCoefficients()

Accessor to the trend coefficients.

Returns:
trendCoefsequence of float

The trend coefficients vectors (\vect{\alpha}^1, \dots, \vect{\alpha}^{\outputDim}) as a Point

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

setInputSample(sampleX)

Accessor to the input sample.

Parameters:
inputSampleSample

The input sample.

setMetaModel(metaModel)

Accessor to the metamodel.

Parameters:
metaModelFunction

Metamodel.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setOutputSample(sampleY)

Accessor to the output sample.

Parameters:
outputSampleSample

The output sample.

setRelativeErrors(relativeErrors)

Accessor to the relative errors.

Parameters:
relativeErrorssequence of float

The relative errors defined as follows for each output of the model: \displaystyle \frac{\sum_{i=1}^N (y_i - \hat{y_i})^2}{N \Var{\vect{Y}}} with \vect{Y} the vector of the N model’s values y_i and \hat{y_i} the metamodel’s values.

setResiduals(residuals)

Accessor to the residuals.

Parameters:
residualssequence of float

The residual values defined as follows for each output of the model: \displaystyle \frac{\sqrt{\sum_{i=1}^N (y_i - \hat{y_i})^2}}{N} with y_i the N model’s values and \hat{y_i} the metamodel’s values.

Examples using the class

Gaussian Process Regression : cantilever beam model

Gaussian Process Regression : cantilever beam model

Gaussian Process Regression : quick-start

Gaussian Process Regression : quick-start