MittagLeffler: Mittag-Leffler Distribution

Description Usage Arguments Details Value References Examples

Description

Probability density, cumulative distribution function, quantile function and random variate generation for the two types of Mittag-Leffler distribution, as well as the 1, 2 and 3 parameter Mittag-Leffler function.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
dml(x, tail, scale = 1, log = FALSE, second.type = FALSE)

pml(q, tail, scale = 1, second.type = FALSE, lower.tail = TRUE,
  log.p = FALSE)

qml(p, tail, scale = 1, second.type = FALSE, lower.tail = TRUE,
  log.p = FALSE)

rml(n, tail, scale = 1, second.type = FALSE)

mlf(z, a, b = 1, g = 1)

Arguments

x, q

vector of quantiles.

tail

tail parameter.

scale

scale parameter.

log, log.p

logical; if TRUE, probabilities p are given as log(p).

second.type

logical; if FALSE (default), first type of Mittag-Leffler distribution is assumed.

lower.tail

logical; if TRUE, probabilities are P[X ≤ x] otherwise, P[X > x]

p

vector of probabilities.

n

number of observations. If length(n) > 1, the length is taken to be the number required.

z

The argument (real-valued)

a, b, g

Parameters of the Mittag-Leffler distribution; see Garrappa

Details

The generalized (two-parameter) Mittag-Leffer function is defined by the power series

E_{α,β} (z) = ∑_{k=0}^∞ z^k / Γ(α k + β)

for complex z and complex α, β with Real(α) > 0 (only implemented for real valued parameters)

The **first type** of Mittag-Leffler distribution assumes the Mittag-Leffler function as its tail function, so that the CDF is given by

F(q; α, τ) = 1 - E_{α,1} (-(q/τ)^α)

for q ≥ 0, tail parameter 0 < α ≤ 1, and scale parameter τ > 0. Its PDF is given by

f(x; α, τ) = x^{α - 1} E_{α,α} [-(x/τ)^α] / τ^α.

As α approaches 1 from below, the Mittag-Leffler converges (weakly) to the exponential distribution. For 0 < α < 1, it is (very) heavy-tailed, i.e. has infinite mean.

The **second type** of Mittag-Leffler distribution is defined via the Laplace transform of its density f:

\int_0^∞ \exp(-sx) f(x; α, 1) dx = E_{α,1}(-s)

It is light-tailed, i.e. all its moments are finite. At scale τ, its density is

f(x; α, τ) = f(x/τ; α, 1) / τ.

Value

dml returns the density, pml returns the distribution function, qml returns the quantile function, and rml generates random variables.

mlf returns the value of the Mittag-Leffler function.

References

Haubold, H. J., Mathai, A. M., & Saxena, R. K. (2011). Mittag-Leffler Functions and Their Applications. Journal of Applied Mathematics, 2011, 1<e2><80><93>51. http://doi.org/10.1155/2011/298628

Garrappa, R. (2015). Numerical Evaluation of Two and Three Parameter Mittag-Leffler Functions. SIAM Journal on Numerical Analysis, 53(3), 1350<e2><80><93>1369. http://doi.org/10.1137/140971191

Mittag-Leffler distribution. (2017, May 3). In Wikipedia, The Free Encyclopedia. https://en.wikipedia.org/w/index.php?title=Mittag-Leffler_distribution&oldid=778429885

The Mittag-Leffler function. MathWorks File Exchange. https://au.mathworks.com/matlabcentral/fileexchange/48154-the-mittag-leffler-function

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
dml(1, 0.8)
dml(1, 0.6, second.type=TRUE)
pml(2, 0.7, 1.5)
qml(p = c(0.25, 0.5, 0.75), tail = 0.6, scale = 100)
rml(1000, 0.7, 1)

## Fitting Mittag-Leffler distribution to observations X by Maximum
## Likelihood

mlml <- function(X) {
  log_l <- function(theta) {
    #transform parameters so can do optimization unconstrained
    theta[1] <- 1/(1+exp(-theta[1]))
    theta[2] <- exp(theta[2])
    -sum(log(dml(X,theta[1],theta[2])))
  }
  ml_theta <- stats::optim(c(0.5,0.5), fn=log_l)$par
  ml_a <- 1/(1 + exp(-ml_theta[1]))
  ml_d <- exp(ml_theta[2])
  print(paste("tail =", ml_a, "scale =", ml_d))
}
mlml(rml(n = 100, tail = 0.9, scale = 2))
mlf(2,0.7)

rickygill01/MittagLeffler documentation built on May 24, 2019, 6:17 a.m.