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:
- Lévy-Itō decomposition
-
-
Constructor Summary
Constructors Constructor Description MultivariateRandomProcess(int nB, TimeGrid timeGrid)Construct a multivariate random process.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected VectordB(double dt)Get a Brownian motion increment.intnB()Get the dimension of the Brownian motion (or the number of driving 1D Brownian motions).protected doublenextTime()Get the next time point in the time grid.voidseed(long... seeds)Seed the random number/vector/scenario generator to produce repeatable experiments.doubletime()Get the current time.protected VectorZt()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 Detail
-
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 Detail
-
seed
public void seed(long... seeds)
Description copied from interface:SeedableSeed the random number/vector/scenario generator to produce repeatable experiments.
-
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;
NaNifnextTime()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
-
-