The Gamma Weibull family
Value
Returns a gamlss.family object which can be used to fit a GammaW distribution in the gamlss()
function.
Details
The Gamma Weibull distribution with parameters mu
,
sigma
and nu
has density given by
\(f(x)= \frac{\sigma \mu^{\nu}}{\Gamma (\nu)} x^{\nu \sigma - 1} \exp(-\mu x^\sigma),\)
for \(x > 0\), \(\mu > 0\), \(\sigma \geq 0\) and \(\nu > 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 .
Stacy EW, others (1962). “A generalization of the gamma distribution.” The Annals of mathematical statistics, 33(3), 1187–1192.
Author
Johan David Marin Benjumea, johand.marin@udea.edu.co
Examples
# Example 1
# Generating some random values with
# known mu, sigma and nu
y <- rGammaW(n=100, mu = 0.5, sigma = 2, nu=1)
# Fitting the model
require(gamlss)
mod <- gamlss(y~1, sigma.fo=~1, nu.fo=~1, family='GammaW',
control=gamlss.control(n.cyc=5000, trace=FALSE))
# Extracting the fitted values for mu, sigma and nu
# using the inverse link function
exp(coef(mod, what='mu'))
#> (Intercept)
#> 0.0004761073
exp(coef(mod, what='sigma'))
#> (Intercept)
#> 8.534264
exp(coef(mod, what='nu'))
#> (Intercept)
#> 0.2506652
# Example 2
# Generating random values under some model
n <- 200
x1 <- runif(n)
x2 <- runif(n)
mu <- exp(-1.6 * x1)
sigma <- exp(1.1 - 1 * x2)
nu <- 1
x <- rGammaW(n=n, mu, sigma, nu)
mod <- gamlss(x~x1, mu.fo=~x1, sigma.fo=~x2, nu.fo=~1, family=GammaW,
control=gamlss.control(n.cyc=50000, trace=FALSE))
coef(mod, what="mu")
#> (Intercept) x1
#> -1.899445 -2.359121
coef(mod, what="sigma")
#> (Intercept) x2
#> 1.7900635 -0.9977632
coef(mod, what='nu')
#> (Intercept)
#> -0.4255001