ConditionedGaussianProcess¶
- class ConditionedGaussianProcess(*args)¶
- Conditioned Gaussian process. - Warning - This class is experimental and likely to be modified in future releases. To use it, import the - openturns.experimentalsubmodule.- Parameters:
- gprResultGaussianProcessRegressionResult
- Structure that contains all the elements of Gaussian Process Regression computations. 
- meshMesh
- Mesh - over which the domain - is discretized. 
 
- gprResult
 - Methods - Accessor to the object's name. - Get a continuous realization. - Get the covariance model. - Get the description of the process. - getFuture(*args)- Prediction of the - future iterations of the process. - Get the dimension of the domain - . - getMarginal(indices)- Get the - marginal of the random process. - getMesh()- Get the mesh. - getName()- Accessor to the object's name. - Get the dimension of the domain - . - Return a realization of the process. - getSample(size)- Get - realizations of the process. - Get the used method for getRealization. - Get the time grid of observation of the process. - getTrend()- Get the trend function. - hasName()- Test if the object is named. - Test whether the process is composite or not. - isNormal()- Test whether the process is normal or not. - Test whether the process is stationary or not. - Tell if the process is trend stationary or not. - setDescription(description)- Set the description of the process. - setMesh(mesh)- Set the mesh. - setName(name)- Accessor to the object's name. - setSamplingMethod(*args)- Set the used method for getRealization. - setTimeGrid(timeGrid)- Set the time grid of observation of the process. - Notes - This class helps to generate fields from the conditioned gaussian process resulting from a Gaussian process regression algorithm. - Refer to the documentation of - GaussianProcessRegressionto get details on the notations.- Examples - We consider the model - defined by - . - >>> import openturns as ot >>> import openturns.experimental as otexp >>> ot.RandomGenerator.SetSeed(0) >>> model = ot.SymbolicFunction(['x', 'y'], ['cos(0.5*x) + sin(y)']) - Then we define the train sample as a box with 8 levels on the x-axis and 5 levels on the y-axis. - >>> levels = [8.0, 5.0] >>> box = ot.Box(levels) >>> x_train = box.generate() >>> x_train *= 10 >>> y_train = model(x_train) - We define the covariance model as a - SquaredExponentialmodel:- >>> dim = 2 >>> covarianceModel = ot.SquaredExponential([1.0, 1.0], [1.0]) - We define the functions basis to estimate the trend: this basis only contains constant functions: - >>> basis = ot.ConstantBasisFactory(dim).build() - We estimate the Gaussian process regression, using first the class - GaussianProcessFitter, then using the class- GaussianProcessRegression:- >>> fitter_algo = otexp.GaussianProcessFitter(x_train, y_train, covarianceModel, basis) >>> fitter_algo.run() >>> fitter_result = fitter_algo.getResult() >>> gpr_algo = otexp.GaussianProcessRegression(fitter_result) >>> gpr_algo.run() >>> gpr_result = gpr_algo.getResult() - Now, we define the mesh on which the gconditionned gaussian process is generated: - >>> vertices = [[1.0, 0.0], [2.0, 0.0], [2.0, 1.0], [1.0, 1.0], [1.5, 0.5]] >>> simplices = [[0, 1, 4], [1, 2, 4], [2, 3, 4], [3, 0, 4]] >>> mesh2D = ot.Mesh(vertices, simplices) >>> process = otexp.ConditionedGaussianProcess(gpr_result, mesh2D) - We get a realization of the conditioned Gaussian process: - >>> realization = process.getRealization() - __init__(*args)¶
 - getClassName()¶
- Accessor to the object’s name. - Returns:
- class_namestr
- The object class name (object.__class__.__name__). 
 
 
 - getContinuousRealization()¶
- Get a continuous realization. - Returns:
- realizationFunction
- According to the process, the continuous realizations are built: - either using a dedicated functional model if it exists: e.g. a functional basis process. 
- or using an interpolation from a discrete realization of the process on - : in dimension - , a linear interpolation and in dimension - , a piecewise constant function (the value at a given position is equal to the value at the nearest vertex of the mesh of the process). 
 
 
- realization
 
 - getCovarianceModel()¶
- Get the covariance model. - Returns:
- covarianceModelCovarianceModel
- Temporal covariance model - . 
 
- covarianceModel
 
 - getDescription()¶
- Get the description of the process. - Returns:
- descriptionDescription
- Description of the process. 
 
- description
 
 - getFuture(*args)¶
- Prediction of the - future iterations of the process. - Parameters:
- stepNumberint, 
- Number of future steps. 
- sizeint, , optional 
- Number of futures needed. Default is 1. 
 
- stepNumberint, 
- Returns:
- predictionProcessSampleorTimeSeries
- future iterations of the process. If - , prediction is a - TimeSeries. Otherwise, it is a- ProcessSample.
 
- prediction
 
 - getInputDimension()¶
- Get the dimension of the domain - . - Returns:
- nint
- Dimension of the domain - : - . 
 
 
 - getMarginal(indices)¶
- Get the - marginal of the random process. - Parameters:
- kint or list of ints 
- Index of the marginal(s) needed. 
 
- kint or list of ints 
- Returns:
- marginalsProcess
- Process defined with marginal(s) of the random process. 
 
- marginals
 
 - getName()¶
- Accessor to the object’s name. - Returns:
- namestr
- The name of the object. 
 
 
 - getOutputDimension()¶
- Get the dimension of the domain - . - Returns:
- dint
- Dimension of the domain - . 
 
 
 - getRealization()¶
- Return a realization of the process. - Returns:
- realizationField
- A realization of the process. 
 
- realization
 
 - getSample(size)¶
- Get - realizations of the process. - Parameters:
- nint, 
- Number of realizations of the process needed. 
 
- nint, 
- Returns:
- processSampleProcessSample
- realizations of the random process. A process sample is a collection of fields which share the same mesh - . 
 
- processSample
 
 - getSamplingMethod()¶
- Get the used method for getRealization. - Returns:
- samplingMethodint
- Used method for sampling. 
 
 - Notes - Available parameters are : - 0 (GaussianProcess.CHOLESKY) : Cholesky factor sampling (default method) 
- 1 (GaussianProcess.HMAT) : H-Matrix method (if H-Mat available) 
- 2 (GaussianProcess.GALLIGAOGIBBS) : Gibbs method (in dimension 1 only) 
 
 - getTimeGrid()¶
- Get the time grid of observation of the process. - Returns:
- timeGridRegularGrid
- Time grid of a process when the mesh associated to the process can be interpreted as a - RegularGrid. We check if the vertices of the mesh are scalar and are regularly spaced in- but we don’t check if the connectivity of the mesh is conform to the one of a regular grid (without any hole and composed of ordered instants). 
 
- timeGrid
 
 - getTrend()¶
- Get the trend function. - Returns:
- trendTrendTransform
- Trend function. 
 
- trend
 
 - hasName()¶
- Test if the object is named. - Returns:
- hasNamebool
- True if the name is not empty. 
 
 
 - isComposite()¶
- Test whether the process is composite or not. - Returns:
- isCompositebool
- True if the process is composite (built upon a function and a process). 
 
 
 - isNormal()¶
- Test whether the process is normal or not. - Returns:
- isNormalbool
- True if the process is normal. 
 
 - Notes - A stochastic process is normal if all its finite dimensional joint distributions are normal, which means that for all - and - , with - , there is - and - such that: - where - , - and - and - is the symmetric matrix: - A Gaussian process is entirely defined by its mean function - and its covariance function - (or correlation function - ). 
 - isStationary()¶
- Test whether the process is stationary or not. - Returns:
- isStationarybool
- True if the process is stationary. 
 
 - Notes - A process - is stationary if its distribution is invariant by translation: - , - , - , we have: 
 - isTrendStationary()¶
- Tell if the process is trend stationary or not. - Returns:
- isTrendStationarybool
- True if the process is trend stationary. 
 
 
 - setDescription(description)¶
- Set the description of the process. - Parameters:
- descriptionsequence of str
- Description of the process. 
 
 
 - setName(name)¶
- Accessor to the object’s name. - Parameters:
- namestr
- The name of the object. 
 
 
 - setSamplingMethod(*args)¶
- Set the used method for getRealization. - Available parameters are : - 0 (GaussianProcess.CHOLESKY) : Cholesky factor sampling (default method) 
- 1 (GaussianProcess.HMAT) : H-Matrix method (if H-Mat available) 
- 2 (GaussianProcess.GALLIGAOGIBBS) : Gibbs method (in dimension 1 only) 
 - Parameters:
- samplingMethodint
- Fix a method for sampling. 
 
 
 - setTimeGrid(timeGrid)¶
- Set the time grid of observation of the process. - Returns:
- timeGridRegularGrid
- Time grid of observation of the process when the mesh associated to the process can be interpreted as a - RegularGrid. We check if the vertices of the mesh are scalar and are regularly spaced in- but we don’t check if the connectivity of the mesh is conform to the one of a regular grid (without any hole and composed of ordered instants). 
 
- timeGrid
 
 
Examples using the class¶
Gaussian Process Regression : generate trajectories from the metamodel
 OpenTURNS
      OpenTURNS