The function OW()
defines the Odd Weibull distribution, a three parameter
distribution, for a gamlss.family
object to be used in GAMLSS fitting
using the function gamlss()
.
Value
Returns a gamlss.family object which can be used to fit a OW distribution in the gamlss()
function.
Details
The odd Weibull with parameters mu
, sigma
and nu
has density given by
\(f(t) = \left( \frac{\sigma\nu}{t} \right) (\mu t)^\sigma e^{(\mu t)^\sigma} \left(e^{(\mu t)^{\sigma}}-1\right)^{\nu-1} \left[ 1 + \left(e^{(\mu t)^{\sigma}}-1\right)^\nu \right]^{-2}\)
for x > 0.
References
Cooray K (2006). “Generalization of the Weibull distribution: The odd Weibull family.” Statistical Modelling, 6(3), 265–277. ISSN 1471082X, doi:10.1191/1471082X06st116oa .
Author
Jaime Mosquera Gutiérrez jmosquerag@unal.edu.co
Examples
# Example 1
# Generating some random values with
# known mu, sigma and nu
y <- rOW(n=200, mu=0.1, sigma=7, nu = 1.1)
# Fitting the model
require(gamlss)
mod <- gamlss(y~1, sigma.fo=~1, nu.fo=~1, family="OW",
control=gamlss.control(n.cyc=500, trace=FALSE))
# Extracting the fitted values for mu, sigma and nu
# using the inverse link function
exp(coef(mod, what='mu'))
#> (Intercept)
#> 0.1005394
exp(coef(mod, what='sigma'))
#> (Intercept)
#> 6.498121
exp(coef(mod, what='nu'))
#> (Intercept)
#> 1.155339
# Example 2
# Generating random values under some model
n <- 500
x1 <- runif(n)
x2 <- runif(n)
x3 <- runif(n)
mu <- exp(1.2 + 2 * x1)
sigma <- 2.12 + 3 * x2
nu <- exp(0.2 - x3)
x <- rOW(n=n, mu, sigma, nu)
mod <- gamlss(x~x1, sigma.fo=~x2, nu.fo=~x3,
family=OW(sigma.link='identity'),
control=gamlss.control(n.cyc=300, trace=FALSE))
coef(mod, what='mu')
#> (Intercept) x1
#> 1.158669 2.053208
coef(mod, what='sigma')
#> (Intercept) x2
#> 2.095750 3.126789
coef(mod, what='nu')
#> (Intercept) x3
#> 0.1544775 -0.8924869