TrendTransform

class TrendTransform(*args)

Trend transformation.

Parameters
myTrendFuncFunction

The trend function f_{trend} of a process.

myMeshMesh

The mesh on which f_{trend} is applied.

Notes

A multivariate stochastic process X: \Omega \times\cD \rightarrow \Rset^d of dimension d where \cD \in \Rset^n may write as the sum of a trend function f_{trend}: \Rset^n \rightarrow \Rset^d and a stationary multivariate stochastic process X_{stat}: \Omega \times\cD \rightarrow \Rset^d of dimension d as follows:

X(\omega,\vect{t}) = X_{stat}(\omega,\vect{t}) + f_{trend}(\vect{t})

We note (\vect{x}_0, \dots, \vect{x}_{N-1}) the values of one field of the process X, associated to the mesh \cM = (\vect{t}_0, \dots, \vect{t}_{N-1}) of \cD. We note (\vect{x}^{stat}_0, \dots, \vect{x}^{stat}_{N-1}) the values of the resulting stationary field. Then we have:

\vect{x}^{stat}_i = \vect{x}_i - f_{trend}(\vect{t}_i)

Examples

Create a trend function: f_{trend} : \Rset \mapsto \Rset where f_{trend}(t)=1+2t+t^2:

>>> import openturns as ot
>>> myGrid = ot.RegularGrid(0.0, 0.1, 10)
>>> f = ot.SymbolicFunction(['t'], ['1+2*t+t^2'])
>>> fTrend = ot.TrendTransform(f, myGrid)

Add it to a process:

>>> amplitude=[5.0]
>>> scale=[0.2]
>>> myCovModel=ot.ExponentialModel(scale, amplitude)
>>> myXProcess=ot.GaussianProcess(myCovModel, myGrid)
>>> myYProcess = ot.CompositeProcess(fTrend, myXProcess)

Remove it from a field:

>>> myField = myYProcess.getRealization()
>>> myStatField = fTrend.getInverse()(myField)

Then re-add it:

>>> myInitialField = fTrend(myStatField)

Methods

__call__(self, \*args)

Call self as a function.

getCallsNumber(self)

Get the number of calls of the function.

getClassName(self)

Accessor to the object’s name.

getFunction(self)

Get the function of \ell.

getId(self)

Accessor to the object’s id.

getInputDescription(self)

Get the description of the input field values.

getInputDimension(self)

Get the dimension of the input field values.

getInputMesh(self)

Get the mesh associated to the input domain.

getInverse(self)

Accessor to the inverse trend function.

getMarginal(self, \*args)

Get the marginal(s) at given indice(s).

getName(self)

Accessor to the object’s name.

getOutputDescription(self)

Get the description of the output field values.

getOutputDimension(self)

Get the dimension of the output field values.

getOutputMesh(self)

Get the mesh associated to the output domain.

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.

isActingPointwise(self)

Whether the function acts point-wise.

setInputDescription(self, inputDescription)

Set the description of the input field values.

setInputMesh(self, inputMesh)

Set the mesh associated to the input domain.

setName(self, name)

Accessor to the object’s name.

setOutputDescription(self, outputDescription)

Set the description of the output field values.

setOutputMesh(self, outputMesh)

Set the mesh associated to the output domain.

setShadowedId(self, id)

Accessor to the object’s shadowed id.

setVisibility(self, visible)

Accessor to the object’s visibility state.

getTrendFunction

__init__(self, \*args)

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

getCallsNumber(self)

Get the number of calls of the function.

Returns
callsNumberint

Counts the number of times the function has been called since its creation.

getClassName(self)

Accessor to the object’s name.

Returns
class_namestr

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

getFunction(self)

Get the function of \ell.

Returns
lFunction

Function \ell: \Rset^n \times \Rset^d \rightarrow \Rset^{d'}.

Examples

>>> import openturns as ot
>>> h = ot.SymbolicFunction(['t', 'x'], ['x + t^2'])
>>> n = 1
>>> mesh = ot.Mesh(n)
>>> myVertexValueFunction = ot.ValueFunction(h, mesh)
>>> print(myVertexValueFunction.getFunction())
[t,x]->[x + t^2]
getId(self)

Accessor to the object’s id.

Returns
idint

Internal unique identifier.

getInputDescription(self)

Get the description of the input field values.

Returns
inputDescriptionDescription

Description of the input field values.

getInputDimension(self)

Get the dimension of the input field values.

Returns
dint

Dimension d of the input field values.

getInputMesh(self)

Get the mesh associated to the input domain.

Returns
inputMeshMesh

The input mesh \cM_{N'}.

getInverse(self)

Accessor to the inverse trend function.

Returns
myInverseTrendTransformInverseTrendTransform

The f_{trend}^{-1} function.

getMarginal(self, \*args)

Get the marginal(s) at given indice(s).

Parameters
iint or list of ints, 0 \leq i < d'

Indice(s) of the marginal(s) to be extracted.

Returns
functionVertexValueFunction

The initial function restricted to the concerned marginal(s) at the indice(s) i.

getName(self)

Accessor to the object’s name.

Returns
namestr

The name of the object.

getOutputDescription(self)

Get the description of the output field values.

Returns
outputDescriptionDescription

Description of the output field values.

getOutputDimension(self)

Get the dimension of the output field values.

Returns
d’int

Dimension d' of the output field values.

getOutputMesh(self)

Get the mesh associated to the output domain.

Returns
outputMeshMesh

The output mesh \cM_{N'}.

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.

isActingPointwise(self)

Whether the function acts point-wise.

Returns
pointWisebool

Returns true if the function evaluation at each vertex depends only on the vertex or the value at the vertex.

setInputDescription(self, inputDescription)

Set the description of the input field values.

Parameters
inputDescriptionsequence of str

Description of the input field values.

setInputMesh(self, inputMesh)

Set the mesh associated to the input domain.

Parameters
inputMeshMesh

The input mesh \cM_{N'}.

setName(self, name)

Accessor to the object’s name.

Parameters
namestr

The name of the object.

setOutputDescription(self, outputDescription)

Set the description of the output field values.

Parameters
outputDescriptionsequence of str

Describes the outputs of the output field values.

setOutputMesh(self, outputMesh)

Set the mesh associated to the output domain.

Parameters
outputMeshMesh

The output mesh \cM_{N'}.

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.