Mittag-Leffler Family of Distributions

Implements the Mittag-Leffler function, distribution, random variate generation, and estimation. Based on the Laplace-Inversion algorithm by Garrappa, R. (2015) .


The MittagLeffleR R package

The first type Mittag-Leffler distribution is a heavy-tailed distribution, and occurs mainly as a waiting time distribution in problems with “fractional” time scales, e.g. times between earthquakes.

The second type Mittag-Leffler distribution is light-tailed, and “inverse” to the sum-stable distributions. It typically models the number of events in fractional systems and is used for time-changes of stochastic processes, e.g. anomalous diffusion processes.

Installation

Stable release on CRAN

You can install MittagLeffleR from CRAN via

install.packages("MittagLeffleR")
library(MittagLeffleR)

Development version on Github

Install the devtools package first, then

# install.packages("devtools")
devtools::install_github("strakaps/MittagLeffler")
library(MittagLeffleR)

Usage

See the reference manual at strakaps.github.io/MittagLeffleR/reference/index.html

Examples

Fitting a Mittag-Leffler distribution

Generate a dataset first:

library(MittagLeffleR)
y = rml(n = 10000, tail = 0.9, scale = 2)

Fit the distribution:

logMomentEstimator(y, 0.95)
#>        nu     delta      nuLo      nuHi   deltaLo   deltaHi 
#> 0.8979629 2.0015598 0.8976156 0.8983103 1.9996012 2.0035184

Read off

  • the shape parameter (0 < \nu < 1),
  • the scale parameter (\delta > 0),
  • their 95% confidence intervals.

Calculate the probability density of an anomalous diffusion process

Standard Brownian motion with drift (1) has, at time (t), has a normal probability density (n(x|\mu = t, \sigma^2 = t)). A fractional diffusion at time (t) has the time-changed probability density

[p(x,t) = \int n(x| \mu = u, \sigma^2 = u)h(u,t) du]

where (h(u,t)) is a second type Mittag-Leffler probability density with scale (t^\alpha). (We assume (t=1).)

tail <- 0.65
dx <- 0.01
x <- seq(-2,5,dx)
umax <- qml(p = 0.99, tail = tail, scale = 1, second.type = TRUE)
u <- seq(0.01,umax,dx)
h <- dml(x = u, tail = tail, scale = 1, second.type = TRUE)
N <- outer(x,u,function(x,u){dnorm(x = x, mean = u, sd = sqrt(u))})
p <- N %*% h * dx
plot(x,p, type='l', main = "Fractional diffusion with drift at t=1")

Vignettes

See the page strakaps.github.io/MittagLeffleR/articles/ for vignettes on

  • Plots of the Mittag-Leffler distributions
  • Details of Mittag-Leffler random variate generation
  • Probabilities and Quantiles

News

MittagLeffleR 0.3.0 [2018-04-24]

  • Added maximum likelihood estimator

MittagLeffleR 0.2.0 [2017-11-07]

  • Added log-moment estimator by Dexter Cahoy
  • Fixed links to Vignettes

MittagLeffleR 0.1.0 [2017-06-16]

  • First version on CRAN

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("MittagLeffleR")

0.3.0 by Peter Straka, a year ago


https://strakaps.github.io/MittagLeffleR/


Report a bug at https://github.com/strakaps/MittagLeffleR/issues


Browse source code at https://github.com/cran/MittagLeffleR


Authors: Gurtek Gill [aut] , Peter Straka [aut, cre]


Documentation:   PDF Manual  


Task views: Probability Distributions


GPL (>= 2) license


Imports stats, stabledist

Suggests knitr, rmarkdown, testthat, animation, magrittr


Imported by CTRE.


See at CRAN