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 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
nextTime()
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
time()
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 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:Seedable
Seed 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;
NaN
ifnextTime()
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
-
-