|
SSJ
3.3.1
Stochastic Simulation in Java
|
Approximates a principal component analysis (PCA) decomposition of the InverseGaussianProcess.
More...
Public Member Functions | |
| InverseGaussianProcessPCA (double s0, double delta, double gamma, RandomStream stream) | |
Constructs a new InverseGaussianProcessPCA. More... | |
| double [] | generatePath () |
| double [] | generatePath (double[] uniforms01) |
| Instead of using the internal stream to generate the path, uses an array of uniforms \(U[0,1)\). More... | |
| double | nextObservation () |
| Not implementable for PCA. | |
| void | setObservationTimes (double t[], int d) |
| Sets the observation times of both the InverseGaussianProcessPCA and the inner BrownianMotionPCA. | |
| RandomStream | getStream () |
| void | setStream (RandomStream stream) |
| void | setBrownianMotionPCA (BrownianMotionPCA bmPCA) |
| Sets the brownian motion PCA. More... | |
| BrownianMotion | getBrownianMotionPCA () |
| Returns the BrownianMotionPCA. | |
Public Member Functions inherited from InverseGaussianProcess | |
| InverseGaussianProcess (double s0, double delta, double gamma, RandomStream stream) | |
Constructs a new InverseGaussianProcess. More... | |
| double [] | generatePath () |
| double [] | generatePath (double[] uniforms01) |
| Instead of using the internal stream to generate the path, uses an array of uniforms \(U[0,1)\). More... | |
| double [] | generatePath (double[] uniforms01, double[] uniforms01b) |
| This method does not work for this class, but will be useful for the subclasses that require two streams. | |
| double | nextObservation () |
| void | setParams (double delta, double gamma) |
| Sets the parameters. | |
| double | getDelta () |
| Returns \(\delta\). | |
| double | getGamma () |
| Returns \(\gamma\). | |
| double | getAnalyticAverage (double time) |
Returns the analytic average which is \(\delta t/ \gamma\), with \(t=\) time. | |
| double | getAnalyticVariance (double time) |
Returns the analytic variance which is \((\delta t)^2\), with \(t=\) time. | |
| RandomStream | getStream () |
| void | setStream (RandomStream stream) |
| int | getNumberOfRandomStreams () |
| Returns the number of random streams of this process. More... | |
Public Member Functions inherited from StochasticProcess | |
| void | setObservationTimes (double[] T, int d) |
Sets the observation times of the process to a copy of T, with. More... | |
| void | setObservationTimes (double delta, int d) |
| Sets equidistant observation times at \(t_j = j\delta\), for. More... | |
| double [] | getObservationTimes () |
| Returns a reference to the array that contains the observation times. More... | |
| int | getNumObservationTimes () |
| Returns the number \(d\) of observation times, excluding the time \(t_0\). | |
| abstract double [] | generatePath () |
| Generates, returns, and saves the sample path \(\{X(t_0), X(t_1), \dots, X(t_d)\}\). More... | |
| double [] | generatePath (RandomStream stream) |
Same as generatePath(), but first resets the stream to stream. | |
| double [] | getPath () |
| Returns a reference to the last generated sample path \(\{X(t_0), ... , X(t_d)\}\). More... | |
| void | getSubpath (double[] subpath, int[] pathIndices) |
Returns in subpath the values of the process at a subset of the observation times, specified as the times \(t_j\) whose indices. More... | |
| double | getObservation (int j) |
| Returns \(X(t_j)\) from the current sample path. More... | |
| void | resetStartProcess () |
| Resets the observation counter to its initial value \(j=0\), so that the current observation \(X(t_j)\) becomes \(X(t_0)\). More... | |
| boolean | hasNextObservation () |
Returns true if \(j<d\), where \(j\) is the number of observations of the current sample path generated since the last call to resetStartProcess. More... | |
| double | nextObservation () |
| Generates and returns the next observation \(X(t_j)\) of the stochastic process. More... | |
| int | getCurrentObservationIndex () |
| Returns the value of the index \(j\) corresponding to the time. More... | |
| double | getCurrentObservation () |
| Returns the value of the last generated observation \(X(t_j)\). | |
| double | getX0 () |
| Returns the initial value \(X(t_0)\) for this process. | |
| void | setX0 (double s0) |
Sets the initial value \(X(t_0)\) for this process to s0, and reinitializes. | |
| abstract void | setStream (RandomStream stream) |
Resets the random stream of the underlying generator to stream. | |
| abstract RandomStream | getStream () |
| Returns the random stream of the underlying generator. | |
| int [] | getArrayMappingCounterToIndex () |
| Returns a reference to an array that maps an integer \(k\) to \(i_k\), the index of the observation \(S(t_{i_k})\) corresponding to the \(k\)-th observation to be generated for a sample path of this process. More... | |
Protected Attributes | |
| BrownianMotionPCA | bmPCA |
Protected Attributes inherited from InverseGaussianProcess | |
| RandomStream | stream |
| double | delta |
| double | gamma |
| double | deltaOverGamma |
| double | deltaSquare |
| double [] | imu |
| double [] | ilam |
Protected Attributes inherited from StochasticProcess | |
| boolean | observationTimesSet = false |
| double | x0 = 0.0 |
| int | d = -1 |
| int | observationIndex = 0 |
| int | observationCounter = 0 |
| double [] | t |
| double [] | path |
| int [] | observationIndexFromCounter |
Additional Inherited Members | |
Protected Member Functions inherited from InverseGaussianProcess | |
| void | init () |
Protected Member Functions inherited from StochasticProcess | |
| void | init () |
Package Attributes inherited from InverseGaussianProcess | |
| int | numberOfRandomStreams |
Approximates a principal component analysis (PCA) decomposition of the InverseGaussianProcess.
The PCA decomposition of a BrownianMotionPCA with a covariance matrix identical to the one of our InverseGaussianProcess is used to generate the path of our InverseGaussianProcess [140] . 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.
| 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.
| 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 for NormalInverseGaussianProcess.
| void setBrownianMotionPCA | ( | BrownianMotionPCA | bmPCA | ) |
Sets the brownian motion PCA.
The observation times will be overriden when the method observationTimes() is called on the InverseGaussianProcessPCA.
1.8.14