The four parameter Exponentiated Generalized Gamma distribution
Arguments
- mu.link
defines the mu.link, with "log" link as the default for the mu parameter.
- sigma.link
defines the sigma.link, with "log" link as the default for the sigma.
- nu.link
defines the nu.link, with "log" link as the default for the nu parameter.
- tau.link
defines the tau.link, with "log" link as the default for the tau parameter.
Value
Returns a gamlss.family object which can be used to fit a EGG distribution in the gamlss()
function.
Details
Four parameter Exponentiated Generalized Gamma distribution with parameters mu
,
sigma
, nu
and tau
has density given by
\(f(x) = \frac{\nu \sigma}{\mu \Gamma(\tau)} \left(\frac{x}{\mu}\right)^{\sigma \tau -1} \exp\left\{ - \left( \frac{x}{\mu} \right)^\sigma \right\} \left\{ \gamma_1\left( \tau, \left( \frac{x}{\mu} \right)^\sigma \right) \right\}^{\nu-1} ,\)
for x > 0.
References
Almalki SJ, Nadarajah S (2014). “Modifications of the Weibull distribution: A review.” Reliability Engineering & System Safety, 124, 32–55. doi:10.1016/j.ress.2013.11.010 .
Gauss M. C, Edwin M.M O, Giovana O. S (2011). “The exponentiated generalized gamma distribution with application to lifetime data.” Journal of Statistical Computation and Simulation, 81(7), 827–842. doi:10.1080/00949650903517874 .
Author
Amylkar Urrea Montoya, amylkar.urrea@udea.edu.co
Examples
# Example 1
# Generating some random values with
# known mu, sigma, nu and tau
# \donttest{
y <- rEGG(n=500, mu=0.1, sigma=0.8, nu=10, tau=1.5)
# Fitting the model
require(gamlss)
mod <- gamlss(y~1, sigma.fo=~1, nu.fo=~1, tau.fo=~1,
family='EGG',
control=gamlss.control(n.cyc=500, trace=FALSE))
#> Warning: Algorithm RS has not yet converged
# Extracting the fitted values for mu, sigma, nu and tau
# using the inverse link function
exp(coef(mod, what='mu'))
#> (Intercept)
#> 0.1660713
exp(coef(mod, what='sigma'))
#> (Intercept)
#> 0.870753
exp(coef(mod, what='nu'))
#> (Intercept)
#> 68.20416
exp(coef(mod, what='tau'))
#> (Intercept)
#> 0.2628551
# }
# Example 2
# Generating random values under some model
# \donttest{
n <- 200
x1 <- runif(n, min=0.2, max=0.8)
x2 <- runif(n, min=0.2, max=0.8)
mu <- exp(-0.8 + -3 * x1)
sigma <- exp(0.77 - 2 * x2)
nu <- 10
tau <- 1.5
y <- rEGG(n=n, mu, sigma, nu, tau)
mod <- gamlss(y~x1, sigma.fo=~x2, nu.fo=~1, tau.fo=~1, family=EGG,
control=gamlss.control(n.cyc=500, trace=FALSE))
coef(mod, what="mu")
#> (Intercept) x1
#> -0.9269798 -2.9740746
coef(mod, what="sigma")
#> (Intercept) x2
#> 0.6640167 -1.9576499
exp(coef(mod, what="nu"))
#> (Intercept)
#> 45.3087
exp(coef(mod, what="tau"))
#> (Intercept)
#> 0.7043806
# }