SSJ
V. labo.

umontreal.iro.lecuyer.stochprocess
Class GammaProcessPCA

java.lang.Object
  extended by umontreal.iro.lecuyer.stochprocess.StochasticProcess
      extended by umontreal.iro.lecuyer.stochprocess.GammaProcess
          extended by umontreal.iro.lecuyer.stochprocess.GammaProcessPCA
Direct Known Subclasses:
GammaProcessPCABridge

public class GammaProcessPCA
extends GammaProcess

GammaProcessPCA

Represents a gamma process sampled using the principal component analysis (PCA). To simulate the gamma process at times t0 < t1 < ... < td by PCA sampling, a Brownian motion {W(t), t≥0} with mean 0 and variance parameter ν is first generated at times t0 < t1 < ... < td by PCA sampling (see class BrownianMotionPCA). The independent increments W(tj) - W(tj-1) of this process are then transformed into independent U(0, 1) random variates Vj via

Vj = Φ($\displaystyle \sqrt{{\tau_j-\tau_{j-1}}}$[W(τj) - W(τj-1)]),    j = 1,..., s

Finally, the increments of the Gamma process are computed as Y(tj) - Y(tj-1) = G-1(Vj), where G is the gamma distribution function.


Constructor Summary
GammaProcessPCA(double s0, double mu, double nu, GammaGen Ggen)
          .
GammaProcessPCA(double s0, double mu, double nu, RandomStream stream)
          .
 
Method Summary
 double[] generatePath()
          .
 double[] generatePath(double[] uniform01)
          .
 BrownianMotionPCA getBMPCA()
          .
 double nextObservation()
          .
 double nextObservation(double nextT)
          [tabb54]
 void setObservationTimes(double[] t, int d)
          .
 void setParams(double s0, double mu, double nu)
          .
 void setStream(RandomStream stream)
          .
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.GammaProcess
getMu, getNu, getStream
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, resetStartProcess, setObservationTimes, setX0
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GammaProcessPCA

public GammaProcessPCA(double s0,
                       double mu,
                       double nu,
                       RandomStream stream)
. \begin{tabb}Constructs a new \texttt{GammaProcessPCA} with parameters
 $\mu = \te...
 ...essPCA} and the \class{BrownianMotionPCA} are generated by
 inversion.
 \end{tabb}


GammaProcessPCA

public GammaProcessPCA(double s0,
                       double mu,
                       double nu,
                       GammaGen Ggen)
. \begin{tabb}Constructs a new \texttt{GammaProcessPCA} with parameters
 $\mu = \te...
 ...orces the generator
 to use the correct parameters (as defined above).
 \end{tabb}

Method Detail

generatePath

public double[] generatePath()
Description copied from class: GammaProcess
. \begin{tabb}
 Generates, returns and saves the path
 $\{X(t_{0}), X(t_{1}), \ldots...
 ...externalclass{umontreal.iro.lecuyer.randvar}{GammaGen} \texttt{Ggen}.
 \end{tabb}

Overrides:
generatePath in class GammaProcess

generatePath

public double[] generatePath(double[] uniform01)
Description copied from class: GammaProcess
. \begin{tabb}Generates, returns and saves the path $
 \{X(t_{0}), X(t_{1}), \ldots...
 ...by inversion. The vector \texttt{uniform01} must be of
 dimension $d$.
 \end{tabb}

Overrides:
generatePath in class GammaProcess

nextObservation

public double nextObservation()
. \begin{tabb}This method is not implemented in this class since the path
 cannot be generated sequentially.
 \end{tabb}

Overrides:
nextObservation in class GammaProcess

nextObservation

public double nextObservation(double nextT)
[tabb54]

Overrides:
nextObservation in class GammaProcess

getBMPCA

public BrownianMotionPCA getBMPCA()
. \begin{tabb}Returns the \class{BrownianMotionPCA} that is included in the
 \class{GammaProcessPCA} object.
 \end{tabb}


setObservationTimes

public void setObservationTimes(double[] t,
                                int d)
. \begin{tabb}Sets the observation times of the \class{GammaProcessPCA} and the
 \class{BrownianMotionPCA}.
 \end{tabb}

Overrides:
setObservationTimes in class StochasticProcess

setParams

public void setParams(double s0,
                      double mu,
                      double nu)
. \begin{tabb}Sets the parameters \texttt{s0}, $\mu$\ and $\nu$\ to new values, an...
 ...ts
 the variance parameters of the \class{BrownianMotionPCA} to $\nu$.
 \end{tabb}

Overrides:
setParams in class GammaProcess

setStream

public void setStream(RandomStream stream)
. \begin{tabb}
 Resets the \externalclass{umontreal.iro.lecuyer.rng}{RandomStream}
 ...
 ...domStream} of
 the inner \class{BrownianMotionPCA} to
 \texttt{stream}.
 \end{tabb}

Overrides:
setStream in class GammaProcess

SSJ
V. labo.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.