Skip to contents

The Poisson process with arrival-rate \(\lambda\) and fixed jump size \(\eta\) is a Lévy subordinator corresponding to the Bernstein function $$ \psi(x) = 1 - e^{-x\eta}, x>0. $$

Details

For the Poisson Bernstein function, the higher-order alternating iterated forward differences can be calculated in closed form: $$ {(-1)}^{k-1} \Delta^k \psi(x) = e^{-u\eta} (1-e^{-\eta})^k, x>0, k>0. $$

The Poisson Bernstein function has the (discrete) Lévy density \(\nu\): $$ \nu(du) = \delta_{\eta}(du), \quad u > 0 . $$

Slots

eta

The fixed (positive) jump size.

Examples

# Create an object of class PoissonBernsteinFunction
PoissonBernsteinFunction()
#> An object of class "PoissonBernsteinFunction"
#> 	 (invalid or not initialized)
PoissonBernsteinFunction(eta = 2)
#> An object of class "PoissonBernsteinFunction"
#> - eta: 2

# Create a Lévy density
bf <- PoissonBernsteinFunction(eta = 0.7)
levy_density <- getLevyDensity(bf)
sum(levy_density$y * pmin(1, levy_density$x))
#> [1] 0.7

# Evaluate the Bernstein function
bf <- PoissonBernsteinFunction(eta = 0.3)
calcIterativeDifference(bf, 1:5)
#> [1] 0.2591818 0.4511884 0.5934303 0.6988058 0.7768698

# Calculate shock-arrival intensities
bf <- PoissonBernsteinFunction(eta = 0.8)
calcShockArrivalIntensities(bf, 3)
#> [1] 0.1111786 0.1111786 0.1362539 0.1111786 0.1362539 0.1362539 0.1669847
calcShockArrivalIntensities(bf, 3, tolerance = 1e-4)
#> [1] 0.1111786 0.1111786 0.1362539 0.1111786 0.1362539 0.1362539 0.1669847

# Calculate exchangeable shock-arrival intensities
bf <- PoissonBernsteinFunction(eta = 0.4)
calcExShockArrivalIntensities(bf, 3)
#> [1] 0.14813475 0.07285633 0.03583254
calcExShockArrivalIntensities(bf, 3, tolerance = 1e-4)
#> [1] 0.14813475 0.07285633 0.03583254

# Calculate exchangeable shock-size arrival intensities
bf <- PoissonBernsteinFunction(eta = 0.2)
calcExShockSizeArrivalIntensities(bf, 3)
#> [1] 0.364525230 0.080706891 0.005956243
calcExShockSizeArrivalIntensities(bf, 3, tolerance = 1e-4)
#> [1] 0.364525230 0.080706891 0.005956243

# Calculate the Markov generator
bf <- PoissonBernsteinFunction(eta = 0.6)
calcMDCMGeneratorMatrix(bf, 3)
#>            [,1]       [,2]       [,3]       [,4]
#> [1,] -0.8347011  0.4076860  0.3351663 0.09184884
#> [2,]  0.0000000 -0.6988058  0.4952348 0.20357094
#> [3,]  0.0000000  0.0000000 -0.4511884 0.45118836
#> [4,]  0.0000000  0.0000000  0.0000000 0.00000000
calcMDCMGeneratorMatrix(bf, 3, tolerance = 1e-4)
#>            [,1]       [,2]       [,3]       [,4]
#> [1,] -0.8347011  0.4076860  0.3351663 0.09184884
#> [2,]  0.0000000 -0.6988058  0.4952348 0.20357094
#> [3,]  0.0000000  0.0000000 -0.4511884 0.45118836
#> [4,]  0.0000000  0.0000000  0.0000000 0.00000000