umontreal.iro.lecuyer.stochprocess
Class InverseGaussianProcessPCA
- java.lang.Object
-
- umontreal.iro.lecuyer.stochprocess.StochasticProcess
-
- umontreal.iro.lecuyer.stochprocess.InverseGaussianProcess
-
- umontreal.iro.lecuyer.stochprocess.InverseGaussianProcessPCA
-
public class InverseGaussianProcessPCA extends InverseGaussianProcess
Approximates a principal component analysis (PCA) decomposition of the InverseGaussianProcess. The PCA decomposition of aBrownianMotionPCAwith a covariance matrix identical to the one of our InverseGaussianProcess is used to generate the path of our InverseGaussianProcess. Such a path is a perfectly random path and it is hoped that it will provide reduction in the simulation variance when using quasi-Monte Carlo.The method nextObservation() cannot be used with PCA decompositions since the whole path must be generated at once.
-
-
Constructor Summary
Constructors Constructor and Description InverseGaussianProcessPCA(double s0, double delta, double gamma, RandomStream stream)Constructs a new InverseGaussianProcessPCA.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description double[]generatePath()Generates, returns, and saves the sample path {X(t0), X(t1),…, X(td)}.double[]generatePath(double[] uniforms01)Instead of using the internal stream to generate the path, uses an array of uniforms U[0, 1).BrownianMotiongetBrownianMotionPCA()Returns theBrownianMotionPCA.RandomStreamgetStream()Returns the random stream of the underlying generator.doublenextObservation()Not implementable for PCA.voidsetBrownianMotionPCA(BrownianMotionPCA bmPCA)Sets the brownian motion PCA.voidsetObservationTimes(double[] t, int d)voidsetStream(RandomStream stream)Resets the random stream of the underlying generator to stream.-
Methods inherited from class umontreal.iro.lecuyer.stochprocess.InverseGaussianProcess
generatePath, getAnalyticAverage, getAnalyticVariance, getDelta, getGamma, getNumberOfRandomStreams, setParams
-
Methods inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, resetStartProcess, setObservationTimes, setX0
-
-
-
-
Constructor Detail
-
InverseGaussianProcessPCA
public InverseGaussianProcessPCA(double s0, double delta, double gamma, RandomStream stream)Constructs a new InverseGaussianProcessPCA. The initial value s0 will be overridden by t[0] when the observation times are set.
-
-
Method Detail
-
generatePath
public double[] generatePath()
Description copied from class:StochasticProcessGenerates, returns, and saves the sample path {X(t0), X(t1),…, X(td)}. It can then be accessed via getPath, getSubpath, or getObservation. The generation method depends on the process type.- Overrides:
generatePathin classInverseGaussianProcess
-
generatePath
public double[] generatePath(double[] uniforms01)
Instead of using the internal stream to generate the path, uses an array of uniforms U[0, 1). The length of the array should be equal to the length of the number of periods in the observation times. This method is useful forNormalInverseGaussianProcess.- Overrides:
generatePathin classInverseGaussianProcess
-
nextObservation
public double nextObservation()
Not implementable for PCA.- Overrides:
nextObservationin classInverseGaussianProcess
-
setObservationTimes
public void setObservationTimes(double[] t, int d)- Overrides:
setObservationTimesin classStochasticProcess
-
getStream
public RandomStream getStream()
Description copied from class:StochasticProcessReturns the random stream of the underlying generator.- Overrides:
getStreamin classInverseGaussianProcess
-
setStream
public void setStream(RandomStream stream)
Description copied from class:StochasticProcessResets the random stream of the underlying generator to stream.- Overrides:
setStreamin classInverseGaussianProcess
-
setBrownianMotionPCA
public void setBrownianMotionPCA(BrownianMotionPCA bmPCA)
Sets the brownian motion PCA. The observation times will be overriden when the method observationTimes() is called on theInverseGaussianProcessPCA.
-
getBrownianMotionPCA
public BrownianMotion getBrownianMotionPCA()
Returns theBrownianMotionPCA.
-
-
DMelt 3.0 © DataMelt by jWork.ORG