exponential {VGAM} | R Documentation |
Exponential Distribution
Description
Maximum likelihood estimation for the exponential distribution.
Usage
exponential(link = "loglink", location = 0, expected = TRUE,
type.fitted = c("mean", "percentiles", "Qlink"),
percentiles = 50,
ishrinkage = 0.95, parallel = FALSE, zero = NULL)
Arguments
link |
Parameter link function applied to the positive parameter |
location |
Numeric of length 1, the known location parameter, |
expected |
Logical. If |
ishrinkage , parallel , zero |
See |
type.fitted , percentiles |
See |
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
.
Value
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
Note
Suppose A = 0
.
For a fixed time interval, the number of events is
Poisson with mean \lambda
if the time
between events has a
geometric distribution with mean \lambda^{-1}
.
The argument rate
in exponential
is the same as
rexp
etc.
The argument lambda
in rpois
is somewhat
the same as rate
here.
Author(s)
T. W. Yee
References
Forbes, C., Evans, M., Hastings, N. and Peacock, B. (2011). Statistical Distributions, Hoboken, NJ, USA: John Wiley and Sons, Fourth edition.
See Also
amlexponential
,
gpd
,
laplace
,
expgeometric
,
explogff
,
poissonff
,
mix2exp
,
freund61
,
simulate.vlm
,
Exponential
.
Examples
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)