| InverseGaussianBernsteinFunction-class | R Documentation |
For the inverse Gaussian Lévy subordinator with \eta > 0,
the corresponding Bernstein function is the function
\psi(x) = \sqrt{2x + \eta^2} - \eta, x>0.
For the inverse Gaussian Bernstein function, the higher-order alternating
iterated forward differences are not known in closed-form, but
we can use numerical integration (here: stats::integrate())
to approximate it with the following representation:
{(-1)}^{k-1} \Delta^{k} \psi(x)
= \int_0^\infty e^{-ux} (1-e^{-u})^k \frac{1}{\sqrt{2\pi}
u^{3/2}} e^{-\frac{1}{2}\eta^2 u} du, x>0, k>0.
This Bernstein function can be found on p. 309 in \insertCiteMai2017armo. Furthermore it is a transformation of no. 2 in the list of complete Bernstein functions in Chp. 16 of \insertCiteSchilling2012armo.
The inverse Gaussian Bernstein function has the Lévy density \nu:
\nu(du)
= \frac{1}{\sqrt{2 \pi u^3}} \operatorname{e}^{-\frac{1}{2} \eta^2 u} ,
\quad u > 0 ,
and it has the Stieltjes density \sigma:
\sigma(du)
= \frac{
\sin(\pi / 2)
}{
\pi
} \cdot \frac{
\sqrt{2 x - \eta^2}
}{
x
} ,
\quad u > \eta^2 / 2 .
etaThe distribution parameter (drift of the underlying Gaussian process).
getLevyDensity(), getStieltjesDensity(),
calcIterativeDifference(), calcShockArrivalIntensities(),
calcExShockArrivalIntensities(), calcExShockSizeArrivalIntensities(),
calcMDCMGeneratorMatrix(), rextmo(), rpextmo()
Other Bernstein function classes:
AlphaStableBernsteinFunction-class,
BernsteinFunction-class,
CompleteBernsteinFunction-class,
CompositeScaledBernsteinFunction-class,
ConstantBernsteinFunction-class,
ConvexCombinationOfBernsteinFunctions-class,
ExponentialBernsteinFunction-class,
GammaBernsteinFunction-class,
LevyBernsteinFunction-class,
LinearBernsteinFunction-class,
ParetoBernsteinFunction-class,
PoissonBernsteinFunction-class,
ScaledBernsteinFunction-class,
SumOfBernsteinFunctions-class
Other Levy Bernstein function classes:
AlphaStableBernsteinFunction-class,
CompleteBernsteinFunction-class,
ExponentialBernsteinFunction-class,
GammaBernsteinFunction-class,
LevyBernsteinFunction-class,
ParetoBernsteinFunction-class,
PoissonBernsteinFunction-class
Other Complete Bernstein function classes:
AlphaStableBernsteinFunction-class,
ExponentialBernsteinFunction-class,
GammaBernsteinFunction-class
Other Algebraic Bernstein function classes:
AlphaStableBernsteinFunction-class,
ExponentialBernsteinFunction-class,
ParetoBernsteinFunction-class
# Create an object of class InverseGaussianBernsteinFunction
InverseGaussianBernsteinFunction()
InverseGaussianBernsteinFunction(eta = 0.3)
# Create a Lévy density
bf <- InverseGaussianBernsteinFunction(eta = 0.7)
levy_density <- getLevyDensity(bf)
integrate(
function(x) pmin(1, x) * levy_density(x),
lower = attr(levy_density, "lower"),
upper = attr(levy_density, "upper")
)
# Create a Stieltjes density
bf <- InverseGaussianBernsteinFunction(eta = 0.5)
stieltjes_density <- getStieltjesDensity(bf)
integrate(
function(x) 1/(1 + x) * stieltjes_density(x),
lower = attr(stieltjes_density, "lower"),
upper = attr(stieltjes_density, "upper")
)
# Evaluate the Bernstein function
bf <- InverseGaussianBernsteinFunction(eta = 0.3)
calcIterativeDifference(bf, 1:5)
# Calculate shock-arrival intensities
bf <- InverseGaussianBernsteinFunction(eta = 0.8)
calcShockArrivalIntensities(bf, 3)
calcShockArrivalIntensities(bf, 3, method = "stieltjes")
calcShockArrivalIntensities(bf, 3, tolerance = 1e-4)
# Calculate exchangeable shock-arrival intensities
bf <- InverseGaussianBernsteinFunction(eta = 0.4)
calcExShockArrivalIntensities(bf, 3)
calcExShockArrivalIntensities(bf, 3, method = "stieltjes")
calcExShockArrivalIntensities(bf, 3, tolerance = 1e-4)
# Calculate exchangeable shock-size arrival intensities
bf <- InverseGaussianBernsteinFunction(eta = 0.2)
calcExShockSizeArrivalIntensities(bf, 3)
calcExShockSizeArrivalIntensities(bf, 3, method = "stieltjes")
calcExShockSizeArrivalIntensities(bf, 3, tolerance = 1e-4)
# Calculate the Markov generator
bf <- InverseGaussianBernsteinFunction(eta = 0.6)
calcMDCMGeneratorMatrix(bf, 3)
calcMDCMGeneratorMatrix(bf, 3, method = "stieltjes")
calcMDCMGeneratorMatrix(bf, 3, tolerance = 1e-4)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.