Last chance! 50% off unlimited learning
Sale ends in
Estimation of the 3-parameter generalized gamma distribution proposed by Stacy (1962).
gengamma.stacy(lscale = "loge", ld = "loge", lk = "loge",
iscale = NULL, id = NULL, ik = NULL, imethod = 1,
gscale.mux = exp((-4:4)/2), gshape1.d = exp((-5:5)/2),
gshape2.k = exp((-5:5)/2), probs.y = 0.3, zero = c("d", "k"))
Parameter link function applied to each of the positive parameters
Links
for more choices.
Initial value for
See CommonVGAMffArguments
for information.
Replaced by iscale
, id
etc. if given.
See CommonVGAMffArguments
for information.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
Several authors have considered maximum likelihood estimation for the
generalized gamma distribution and have found that the Newton-Raphson
algorithm does not work very well and that the existence of solutions
to the log-likelihood equations is sometimes in doubt.
Although Fisher scoring is used here, it is likely that the same
problems will be encountered.
It appears that large samples
are required, for example, the estimator of zero = 2:3
).
Monitoring convergence is also a very good idea
(e.g., set trace = TRUE
).
Half-stepping is not uncommon, and if this occurs, then the
results should be viewed with more suspicion.
The probability density function can be written
There are many special cases, as given in Table 1 of Stacey and Mihram (1965).
In the following, the parameters are in the order k = Inf
.
Stacy, E. W. (1962) A generalization of the gamma distribution. Annals of Mathematical Statistics, 33(3), 1187--1192.
Stacy, E. W. and Mihram, G. A. (1965) Parameter estimation for a generalized gamma distribution. Technometrics, 7, 349--358.
Prentice, R. L. (1974) A log gamma model and its maximum likelihood estimation. Biometrika, 61, 539--544.
rgengamma.stacy
,
gamma1
,
gamma2
,
prentice74
,
simulate.vlm
,
chisq
,
lognormal
,
rayleigh
,
weibullR
.
# NOT RUN {
k <- exp(-1); Scale <- exp(1); dd <- exp(0.5); set.seed(1)
gdata <- data.frame(y = rgamma(2000, shape = k, scale = Scale))
gfit <- vglm(y ~ 1, gengamma.stacy, data = gdata, trace = TRUE)
coef(gfit, matrix = TRUE)
# }
Run the code above in your browser using DataLab