Learn R Programming

extraDistr (version 1.9.1)

ShiftGomp: Shifted Gompertz distribution

Description

Density, distribution function, and random generation for the shifted Gompertz distribution.

Usage

dsgomp(x, b, eta, log = FALSE)

psgomp(q, b, eta, lower.tail = TRUE, log.p = FALSE)

rsgomp(n, b, eta)

Arguments

x, q

vector of quantiles.

b, eta

positive valued scale and shape parameters; both need to be positive.

log, log.p

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

lower.tail

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

n

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

Details

If \(X\) follows exponential distribution parametrized by scale \(b\) and \(Y\) follows reparametrized Gumbel distribution with cumulative distribution function \(F(x) = \exp(-\eta e^{-bx})\) parametrized by scale \(b\) and shape \(\eta\), then \(\max(X,Y)\) follows shifted Gompertz distribution parametrized by scale \(b>0\) and shape \(\eta>0\). The above relation is used by rsgomp function for random generation from shifted Gompertz distribution.

Probability density function $$ f(x) = b e^{-bx} \exp(-\eta e^{-bx}) \left[1 + \eta(1 - e^{-bx})\right] $$

Cumulative distribution function $$ F(x) = (1-e^{-bx}) \exp(-\eta e^{-bx}) $$

References

Bemmaor, A.C. (1994). Modeling the Diffusion of New Durable Goods: Word-of-Mouth Effect Versus Consumer Heterogeneity. [In:] G. Laurent, G.L. Lilien & B. Pras. Research Traditions in Marketing. Boston: Kluwer Academic Publishers. pp. 201-223.

Jimenez, T.F. and Jodra, P. (2009). A Note on the Moments and Computer Generation of the Shifted Gompertz Distribution. Communications in Statistics - Theory and Methods, 38(1), 78-89.

Jimenez T.F. (2014). Estimation of the Parameters of the Shifted Gompertz Distribution, Using Least Squares, Maximum Likelihood and Moments Methods. Journal of Computational and Applied Mathematics, 255(1), 867-877.

Examples

Run this code

x <- rsgomp(1e5, 0.4, 1)
hist(x, 50, freq = FALSE)
curve(dsgomp(x, 0.4, 1), 0, 30, col = "red", add = TRUE)
hist(psgomp(x, 0.4, 1))
plot(ecdf(x))
curve(psgomp(x, 0.4, 1), 0, 30, col = "red", lwd = 2, add = TRUE)

Run the code above in your browser using DataLab