GammaBernsteinFunction-class: Class for Gamma Bernstein functions

GammaBernsteinFunction-classR Documentation

Class for Gamma Bernstein functions

Description

The Gamma Bernstein function, is the Bernstein function of a subordinator with a (scaled) Gamma distribution. The representation is for a > 0

\psi(x) = \log(1 + \frac{x}{a}), x > 0.

Details

For this Bernstein function, the higher-order alternating iterated forward differences are known in closed form but cannot be evaluated numerically without the danger of loss of significance. 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{e^{-au}}{u} du, x>0, k>0.

This Bernstein function is no. 26 in the list of complete Bernstein functions in Chp. 16 of \insertCiteSchilling2012armo.

The Gamma Bernstein function has the Lévy density \nu:

\nu(du) = \frac{\operatorname{e}^{-a u}}{u}, \quad u > 0 ,

and it has the Stieltjes density \sigma:

\sigma(du) = u^{-1} du, u > a .

Slots

a

Scale parameter for the Lévy measure.

References

\insertAllCited

See Also

levyDensity(), stieltjesDensity(), valueOf(), intensities(), uexIntensities(), exIntensities(), exQMatrix(), rextmo(), rpextmo()

Other Bernstein function classes: AlphaStableBernsteinFunction-class, BernsteinFunction-class, CompleteBernsteinFunction-class, CompositeScaledBernsteinFunction-class, ConstantBernsteinFunction-class, ConvexCombinationOfBernsteinFunctions-class, ExponentialBernsteinFunction-class, InverseGaussianBernsteinFunction-class, LevyBernsteinFunction-class, LinearBernsteinFunction-class, ParetoBernsteinFunction-class, PoissonBernsteinFunction-class, ScaledBernsteinFunction-class, SumOfBernsteinFunctions-class

Other Levy Bernstein function classes: AlphaStableBernsteinFunction-class, CompleteBernsteinFunction-class, ExponentialBernsteinFunction-class, InverseGaussianBernsteinFunction-class, LevyBernsteinFunction-class, ParetoBernsteinFunction-class, PoissonBernsteinFunction-class

Other Complete Bernstein function classes: AlphaStableBernsteinFunction-class, ExponentialBernsteinFunction-class, InverseGaussianBernsteinFunction-class

Examples

# Create an object of class GammaBernsteinFunction
GammaBernsteinFunction()
GammaBernsteinFunction(a = 2)

# Create a Lévy density
bf <- GammaBernsteinFunction(a = 0.7)
levy_density <- levyDensity(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 <- GammaBernsteinFunction(a = 0.5)
stieltjes_density <- stieltjesDensity(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 <- GammaBernsteinFunction(a = 0.3)
valueOf(bf, 1:5)

# Calculate shock-arrival intensities
bf <- GammaBernsteinFunction(a = 0.8)
intensities(bf, 3)
intensities(bf, 3, method = "stieltjes")
intensities(bf, 3, tolerance = 1e-4)

# Calculate exchangeable shock-arrival intensities
bf <- GammaBernsteinFunction(a = 0.4)
uexIntensities(bf, 3)
uexIntensities(bf, 3, method = "stieltjes")
uexIntensities(bf, 3, tolerance = 1e-4)

# Calculate exchangeable shock-size arrival intensities
bf <- GammaBernsteinFunction(a = 0.2)
exIntensities(bf, 3)
exIntensities(bf, 3, method = "stieltjes")
exIntensities(bf, 3, tolerance = 1e-4)

# Calculate the Markov generator
bf <- GammaBernsteinFunction(a = 0.6)
exQMatrix(bf, 3)
exQMatrix(bf, 3, method = "stieltjes")
exQMatrix(bf, 3, tolerance = 1e-4)

hsloot/rmo documentation built on April 25, 2024, 10:41 p.m.