public class InverseGaussianProcess extends StochasticProcess
InverseGaussianDist.
With parameters δ and γ, the
time increments are given by
InverseGaussianDist
(δdt/γ, δ2dt2).
[We here use the inverse gaussian distribution
parametrized with IGDist
(μ, λ), where
μ = δ/γ
and
λ = δ2. If we instead used the parametrization
IGDist
(δ, γ),
then the increment distribution of our process would have been written
more simply as
IGDist[tex2html_wrap_inline158](δdt, γ).]
The increments are generated by using
the inversion of the cumulative distribution function.
It therefore uses only one RandomStream.
Subclasses of this class use different generating methods and some need
two RandomStream's.
The initial value of this process is the initial observation time.
path| Constructor and Description |
|---|
InverseGaussianProcess(double s0,
double delta,
double gamma,
RandomStream stream)
Constructs a new InverseGaussianProcess.
|
| 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).
|
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 |
getAnalyticAverage(double time)
Returns the analytic average which is
δt/γ,
with t = time.
|
double |
getAnalyticVariance(double time)
Returns the analytic variance which is
(δt)2,
with t = time.
|
double |
getDelta()
Returns δ.
|
double |
getGamma()
Returns γ.
|
int |
getNumberOfRandomStreams()
Returns the number of random streams of this process.
|
RandomStream |
getStream()
Returns the random stream of the underlying generator.
|
double |
nextObservation()
Generates and returns the next observation X(tj) of the stochastic process.
|
void |
setParams(double delta,
double gamma)
Sets the parameters.
|
void |
setStream(RandomStream stream)
Resets the random stream of the underlying generator to stream.
|
generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, resetStartProcess, setObservationTimes, setObservationTimes, setX0public InverseGaussianProcess(double s0,
double delta,
double gamma,
RandomStream stream)
public double[] generatePath()
StochasticProcessgeneratePath in class StochasticProcesspublic double[] generatePath(double[] uniforms01)
NormalInverseGaussianProcess.public double[] generatePath(double[] uniforms01,
double[] uniforms01b)
public double nextObservation()
StochasticProcessnextObservation in class StochasticProcesspublic void setParams(double delta,
double gamma)
public double getDelta()
public double getGamma()
public double getAnalyticAverage(double time)
public double getAnalyticVariance(double time)
public RandomStream getStream()
StochasticProcessgetStream in class StochasticProcesspublic void setStream(RandomStream stream)
StochasticProcesssetStream in class StochasticProcesspublic int getNumberOfRandomStreams()
InverseGaussianProcess.To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.