Learn R Programming

MBBEFDLite (version 0.0.5)

dmb: The MBBEFD Distribution

Description

Density, distribution function, quantile function and random generation for the MBBEFD distribution with parameters g and b.

Usage

dmb(x, g, b, c = NULL, log = FALSE)
pmb(q, g, b, c = NULL, lower.tail = TRUE, log.p = FALSE)
qmb(p, g, b, c = NULL, lower.tail = TRUE, log.p = FALSE)
rmb(n, g, b, c = NULL)

Value

dnorm gives the density, pnorm gives the distribution function, qnorm gives the quantile function, and rnorm generates random deviates.

The length of the result is determined by n for rnorm, and is the length of x, p, or q as appropriate for the other functions.

Numerical arguments other than n are recycled to the length of the result. Logical arguments should be of length 1.

Arguments

x, q

numeric; vector of quantiles.

p

numeric; vector of probabilities.

n

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

g

numeric; (vector of) the g parameter, which is also the reciprocal of the probability of a maximum loss.

b

numeric; (vector of) the b parameter.

c

numeric; (vector of) the optional c parameter. Should be NULL if g and b are passed. Otherwise, \(g = e^{(0.78 + 0.12c)c}\) and \(b = e^{3.1 - 0.15(1+c)c}\).

log, log.p

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

lower.tail

logical; if TRUE (default), probabilities are \(P[X\leq x]\) otherwise \(P[X > x]\).

Author

Avraham Adler Avraham.Adler@gmail.com

Details

The MBBEFD class of curves are defined in Bernegger (1997) and are often used to model insurance risk. The density is defined on the semi-open interval \([0, 1)\) and the distribution and quantile functions are defined on the closed interval \([0, 1]\).

References

Bernegger, S. (1997) The Swiss Re Exposure Curves and the MBBEFD Distribution Class. ASTIN Bulletin 27(1), 99--111. tools:::Rd_expr_doi("10.2143/AST.27.1.563208")

See Also

mommb for parameter estimation.

Examples

Run this code
all.equal(dmb(0.5, 1, 0), 0)
dmb(0.2, 20, 5)
pmb(0.98, 25, 4)
qmb(0.98, 25, 4) == 1
all.equal(qmb(pmb(0.98, 25, 4), 25, 4), 0.98)
set.seed(45)
rmb(3, 4, 12)
set.seed(45)
rmb(99:101, 4, 12) # Should equal previous call

Run the code above in your browser using DataLab