pexp: Exponential distribution with piecewise-constant rate

pexpR Documentation

Exponential distribution with piecewise-constant rate

Description

Density, distribution function, quantile function and random generation for a generalisation of the exponential distribution, in which the rate changes at a series of times.

Usage

dpexp(x, rate = 1, t = 0, log = FALSE)

ppexp(q, rate = 1, t = 0, lower.tail = TRUE, log.p = FALSE)

qpexp(p, rate = 1, t = 0, lower.tail = TRUE, log.p = FALSE)

rpexp(n = 1, rate = 1, t = 0, start = min(t))

Arguments

x, q

vector of quantiles.

rate

vector of rates.

t

vector of the same length as rate, giving the times at which the rate changes. The values of t should be in increasing order.

log, log.p

logical; if TRUE, probabilities p are given as log(p), or log density is returned.

lower.tail

logical; if TRUE (default), 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.

start

numeric scalar; delayed entry time. The random deviates will be left truncated from this start time.

Details

Consider the exponential distribution with rates r_1, \ldots, r_n changing at times t_1, \ldots, t_n, with t_1 = 0. Suppose t_k is the maximum t_i such that t_i < x. The density of this distribution at x > 0 is f(x) for k = 1, and

\prod_{i=1}^k (1 - F(t_{i} - t_{i-1}, r_i)) f(x - t_{k}, r_{k})

for k > 1.

where F() and f() are the distribution and density functions of the standard exponential distribution.

If rate is of length 1, this is just the standard exponential distribution. Therefore, for example, dpexp(x), with no other arguments, is simply equivalent to dexp(x).

Only rpexp is used in the msm package, to simulate from Markov processes with piecewise-constant intensities depending on time-dependent covariates. These functions are merely provided for completion, and are not optimized for numerical stability or speed.

Value

dpexp gives the density, ppexp gives the distribution function, qpexp gives the quantile function, and rpexp generates random deviates.

Author(s)

C. H. Jackson chris.jackson@mrc-bsu.cam.ac.uk

See Also

dexp, sim.msm.

Examples


x <- seq(0.1, 50, by=0.1)
rate <- c(0.1, 0.2, 0.05, 0.3)
t <- c(0, 10, 20, 30)
## standard exponential distribution
plot(x, dexp(x, 0.1), type="l")
## distribution with piecewise constant rate
lines(x, dpexp(x, rate, t), type="l", lty=2)
## standard exponential distribution
plot(x, pexp(x, 0.1), type="l")
## distribution with piecewise constant rate
lines(x, ppexp(x, rate, t), type="l", lty=2)


msm documentation built on Nov. 24, 2023, 1:06 a.m.