Stochastic Process

The stochastic_process module consists of classes and functions to generate samples of stochastic processes from prescribed properties of the process (e.g. power spectrum, bispectrum and/or autocorrelation function). The existing classes rely on stochastic expansions taking the following general form,

\[A(x) = \sum_{i=1}^N \theta(\omega) \phi(x),\]

such that the process can be expressed in terms of a set of uncorrelated random variables, \(\theta(\omega)\), and deterministic basis functions \(\phi(x)\).

The stochastic_process module supports simulation of uni-variate, multi-variate, multi-dimensional, Gaussian and non-Gaussian stochastic processes. Gaussian stochasitc processes can be simulated using the widely-used Spectral Representation Method ([43], [44], [45], [46]) and the Karhunen-Loeve Expansion ([47], [48], [49]). Non-Gaussian stochastic processes can be generated through higher-order spectral representations ([50], [51], [52]) or through a nonlinear transformation from a Gaussian stochastic process to a prescribed marginal distribution using translation process theory [53]. Modeling of arbitrarily distributed random processes with specified correlation and/or power spectrum can be performed using the Iterative Translation Approximation Method (ITAM) ([54], [55]) for inverse translation process modeling.

This module contains functionality for all the stochastic process methods supported in UQpy.

The module currently contains the following classes:

  • SpectralRepresentation: Class for simulation of Gaussian stochastic processes and random fields using the Spectral Representation Method.

  • BispectralRepresentation: Class for simulation of third-order non-Gaussian stochastic processes and random fields using the Bispectral Representation Method.

  • KarhunenLoeveExpansion: Class for simulation of stochastic processes using the Karhunen-Loeve Expansion.

  • Translation: Class for transforming a Gaussian stochastic process to a non-Gaussian stochastic process with prescribed marginal probability distribution.

  • InverseTranslation: Call for identifying an underlying Gaussian stochastic process for a non-Gaussian process with prescribed marginal probability distribution and autocorrelation function / power spectrum.

As with other modules of UQpy, adding simulation methods requires the user to build a new class to support the desired functionality. It does not require modification of any existing classes or methods.