VGAM (version 1.0-4)

exponential: Exponential Distribution

Description

Maximum likelihood estimation for the exponential distribution.

Usage

exponential(link = "loge", location = 0, expected = TRUE,
ishrinkage = 0.95, parallel = FALSE, zero = NULL)

Arguments

Parameter link function applied to the positive parameter $$rate$$. See Links for more choices.

location

Numeric of length 1, the known location parameter, $$A$$, say.

expected

Logical. If TRUE Fisher scoring is used, otherwise Newton-Raphson. The latter is usually faster.

ishrinkage, parallel, zero

See CommonVGAMffArguments for information.

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, and vgam.

Details

The family function assumes the response $$Y$$ has density $$f(y) = \lambda \exp(-\lambda (y-A))$$ for $$y > A$$, where $$A$$ is the known location parameter. By default, $$A=0$$. Then $$E(Y) = A + 1/ \lambda$$ and $$Var(Y) = 1/ \lambda^2$$.

References

Forbes, C., Evans, M., Hastings, N. and Peacock, B. (2011) Statistical Distributions, Hoboken, NJ, USA: John Wiley and Sons, Fourth edition.

amlexponential, gpd, laplace, expgeometric, explogff, poissonff, mix2exp, freund61, simulate.vlm, Exponential.

Examples

Run this code
# NOT RUN {
edata <- data.frame(x2 = runif(nn <- 100) - 0.5)
edata <- transform(edata, x3 = runif(nn) - 0.5)
edata <- transform(edata, eta = 0.2 - 0.7 * x2 + 1.9 * x3)
edata <- transform(edata, rate = exp(eta))
edata <- transform(edata, y = rexp(nn, rate = rate))
with(edata, stem(y))

fit.slow <- vglm(y ~ x2 + x3, exponential, data = edata, trace = TRUE)
fit.fast <- vglm(y ~ x2 + x3, exponential(exp = FALSE), data = edata,
trace = TRUE, crit = "coef")
coef(fit.slow, mat = TRUE)
summary(fit.slow)

# Compare results with a GPD. Has a threshold.
threshold <- 0.5
gdata <- data.frame(y1 = threshold + rexp(n = 3000, rate = exp(1.5)))

fit.exp <- vglm(y1 ~ 1, exponential(location = threshold), data = gdata)
coef(fit.exp, matrix = TRUE)
Coef(fit.exp)
logLik(fit.exp)

fit.gpd <- vglm(y1 ~ 1, gpd(threshold =  threshold), data = gdata)
coef(fit.gpd, matrix = TRUE)
Coef(fit.gpd)
logLik(fit.gpd)
# }


Run the code above in your browser using DataCamp Workspace