Class MultivariateRandomProcess

java.lang.Object
dev.nm.stat.stochasticprocess.multivariate.random.MultivariateRandomProcess
All Implemented Interfaces:
RandomVectorGenerator, Seedable
Direct Known Subclasses:
MultivariateRandomWalk

public abstract class MultivariateRandomProcess extends Object implements RandomVectorGenerator

This interface represents a multivariate random process a.k.a. stochastic process.

Given a probability space (Ω, F, P), a random process (or stochastic process) with state space X is a collection of X-valued random variables indexed by a set T ("time"). That is, a stochastic process F is a collection {Ft: t ∈ T} where each Ft is an X-valued random variable.

According to the Lévy-Khintchine representation, for a stochastic process, we have the Lévy triplet:
  • the absolutely continuous part such that the increment dB is proportional to the square root of time increment dt;
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct a multivariate random process.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Vector
    dB(double dt)
    Get a Brownian motion increment.
    int
    nB()
    Get the dimension of the Brownian motion (or the number of driving 1D Brownian motions).
    protected double
    Get the next time point in the time grid.
    void
    seed(long... seeds)
    Seed the random number/vector/scenario generator to produce repeatable experiments.
    double
    Get the current time.
    protected Vector
    Zt()
    Get a d-dimensional Gaussian innovation.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface dev.nm.stat.random.rng.multivariate.RandomVectorGenerator

    nextVector
  • Constructor Details

    • MultivariateRandomProcess

      public MultivariateRandomProcess(int nB, TimeGrid timeGrid)
      Construct a multivariate random process.
      Parameters:
      nB - the dimension of the Brownian motion (or the number of driving 1D Brownian motions)
      timeGrid - the time points
  • Method Details

    • seed

      public void seed(long... seeds)
      Description copied from interface: Seedable
      Seed the random number/vector/scenario generator to produce repeatable experiments.
      Specified by:
      seed in interface Seedable
      Parameters:
      seeds - the seeds
    • nB

      public int nB()
      Get the dimension of the Brownian motion (or the number of driving 1D Brownian motions).
      Returns:
      the dimension of the Brownian motion
    • time

      public double time()
      Get the current time.
      Returns:
      the current time; NaN if nextTime() is not already called
    • nextTime

      protected double nextTime()
      Get the next time point in the time grid. This advances the internal clock.
      Returns:
      the next time point in the time grid
    • Zt

      protected Vector Zt()
      Get a d-dimensional Gaussian innovation.
      Returns:
      a d-dimensional Gaussian innovation
    • dB

      protected Vector dB(double dt)
      Get a Brownian motion increment.
      Parameters:
      dt - the time increment
      Returns:
      a Brownian motion increment