Process transformation

The objective here is to create a process Y as the image through a field function f_{dyn} of another process X:

\begin{aligned}
  Y=f_{dyn}(X)\end{aligned}

General case

In the general case, X: \Omega \times\cD \rightarrow \Rset^d is a multivariate stochastic process of dimension d where \cD \in \Rset^n, Y: \Omega \times \cD' \rightarrow \Rset^q a multivariate stochastic process of dimension q where \cD' \in \Rset^p and f_{dyn}:\cD \times \Rset^d \rightarrow \cD' \times \Rset^q and f_{dyn} is defined in (1).

We build the composite process Y thanks to function f_{dyn} and the process X.

The library proposes two kinds of field function: the value functions defined in (2) and the vertex-value functions defined in (3).

Trend modifications

Very often, we have to remove a trend from a process or to add it. If we note f_{trend}: \Rset^n \rightarrow \Rset^d the function modelling a trend, then the field function which consists in adding the trend to a process is the vertex-value function f_{temp}: \cD \times \Rset^d \rightarrow \Rset^n \times \Rset^d defined by:

(1)\begin{aligned}
   f_{temp}(\vect{t}, \vect{x})=(\vect{t},  \vect{x} +  f_{trend}(\vect{t}))\end{aligned}

The library enables to directly convert the function f_{trend} into the vertex-value function f_{temp} thanks to the TrendTransform object which maps f_{trend} into the vertex-value function f_{temp}.

Then, the process Y is built with the object CompositeProcess from the data: f_{temp} and the process X such that:

\begin{aligned}
  \forall \omega \in \Omega, \forall \vect{t} \in \cD, \quad Y(\omega, \vect{t}) = X(\omega, \vect{t}) + f_{trend}(\vect{t})\end{aligned}

Box Cox transformation

If the transformation of the process X into Y corresponds to the Box Cox transformation f_{BoxCox}: \Rset^d \rightarrow \Rset^d which transforms X into a process Y with stabilized variance, then the corresponding field function is the value function f_{spat}: \cD \times \Rset^d \rightarrow \cD \times \Rset^d defined by:

(2)\begin{aligned}
    f_{spat}(\vect{t}, \vect{x})=(\vect{t},f_{BoxCox}(\vect{x}))\end{aligned}

The library enables to directly convert the function f_{BoxCox} into the value function f_{spat} thanks to the ValueFunction object.
Then, the process Y is built with the object CompositeProcess from the data: f_{spat} and the process X such that:

\begin{aligned}
  \forall \omega \in \Omega, \forall \vect{t} \in \cD, \quad Y(\omega, \vect{t}) = f_{BoxCox}(X(\omega, \vect{t}))\end{aligned}