gompertz {VGAM} | R Documentation |
Gompertz Regression Family Function
Description
Maximum likelihood estimation of the 2-parameter Gompertz distribution.
Usage
gompertz(lscale = "loglink", lshape = "loglink",
iscale = NULL, ishape = NULL,
nsimEIM = 500, zero = NULL, nowarning = FALSE)
Arguments
nowarning |
Logical. Suppress a warning? Ignored for VGAM 0.9-7 and higher. |
lshape , lscale |
Parameter link functions applied to the
shape parameter |
ishape , iscale |
Optional initial values.
A |
nsimEIM , zero |
Details
The Gompertz distribution has a cumulative distribution function
which leads to a probability density function
for ,
,
.
Here,
is called the scale parameter
scale
,
and is called the shape parameter
(one could refer to
as a location parameter and
as
a shape parameter—see Lenart (2014)).
The mean is involves an exponential integral function.
Simulated Fisher scoring is used and multiple responses are handled.
The Makeham distibution has an additional parameter compared to
the Gompertz distribution.
If is defined to be the result of sampling from a Gumbel
distribution until a negative value
is produced,
then
has a Gompertz distribution.
Value
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
Warning
The same warnings in makeham
apply here too.
Author(s)
T. W. Yee
References
Lenart, A. (2014). The moments of the Gompertz distribution and maximum likelihood estimation of its parameters. Scandinavian Actuarial Journal, 2014, 255–277.
See Also
dgompertz
,
makeham
,
simulate.vlm
.
Examples
## Not run:
gdata <- data.frame(x2 = runif(nn <- 1000))
gdata <- transform(gdata, eta1 = -1,
eta2 = -1 + 0.2 * x2,
ceta1 = 1,
ceta2 = -1 + 0.2 * x2)
gdata <- transform(gdata, shape1 = exp(eta1),
shape2 = exp(eta2),
scale1 = exp(ceta1),
scale2 = exp(ceta2))
gdata <- transform(gdata, y1 = rgompertz(nn, scale = scale1, shape = shape1),
y2 = rgompertz(nn, scale = scale2, shape = shape2))
fit1 <- vglm(y1 ~ 1, gompertz, data = gdata, trace = TRUE)
fit2 <- vglm(y2 ~ x2, gompertz, data = gdata, trace = TRUE)
coef(fit1, matrix = TRUE)
Coef(fit1)
summary(fit1)
coef(fit2, matrix = TRUE)
summary(fit2)
## End(Not run)