Learn R Programming

mapfit (version 0.9.7)

herlang: Hyper-Erlang Distribution

Description

Density function, distribution function and random generation for the hyper-Erlang distribution, and a function to generate an object of '>herlang.

Usage

herlang(shape, mixrate = rep(1/length(shape), length(shape)),
	     rate = rep(1, length(shape)))
dherlang(x, herlang = herlang(shape = c(1)), log = FALSE)
pherlang(q, herlang = herlang(shape = c(1)), lower.tail = TRUE, log.p = FALSE)
rherlang(n, herlang = herlang(shape = c(1)))

Arguments

shape

an integer vector of shape parameters of Erlang components.

mixrate

a vector for the initial probabilities of hyper-Erlang distribution.

rate

a vector of rate parameters of Erlang components.

x, q

vectors of quantiles.

p

a vector of probabilities.

n

number of observations.

herlang

an object of S4 class of hyper Erlang ('>herlang).

log

logical; if TRUE, the log density is returned.

lower.tail

logical; if TRUE, probabilities are P[X <= x], otherwise, P[X > x].

log.p

logical; if TRUE, the log probability is returned.

Value

herlang gives an object of hyper-Erlang distribution. dherlang gives the density function, pherlang gives the distribution function, and rherlang generates random samples.

Details

The hyper-Erlang distribution with parameters \(m_i\) (mixrate), \(s_i\) (shape) and \(r_i\) (rate): Cumulative probability function; $$F(q) = \sum_i \int_0^q m_i \frac{r_i^{s_i} x^{s_i-1} e^{-r_i x}}{(s_i - 1)!} dx$$ Probability density function; $$f(x) = \sum_i m_i \frac{r_i^{s_i} x^{s_i-1} e^{-r_i x}}{(s_i - 1)!}$$

See Also

ph, herlang

Examples

Run this code
# NOT RUN {
## create a hyper Erlang consisting of two Erlang
## with shape parameters 2 and 3.
(param1 <- herlang(c(2,3)))

## create a hyper Erlang consisting of two Erlang
## with shape parameters 2 and 3.
(param1 <- herlang(shape=c(2,3)))

## create a hyper Erlang with specific parameters
(param2 <- herlang(shape=c(2,3), mixrate=c(0.3,0.7),
	               rate=c(1.0,10.0)))

## convert to a general PH
as(param2, "ph")

## p.d.f. for 0, 0.1, ..., 1
(dherlang(x=seq(0, 1, 0.1), herlang=param2))

## c.d.f. for 0, 0.1, ..., 1
(pherlang(q=seq(0, 1, 0.1), herlang=param2))

## generate 10 samples
(rherlang(n=10, herlang=param2))

# }

Run the code above in your browser using DataLab