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.
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.09838922
exp(coef(mod, what="sigma"))
#> (Intercept)
#> 7.323577
exp(coef(mod, what="nu"))
#> (Intercept)
#> 1.041076
# Example 2
# Generating random values under some model
n <- 200
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)
y <- rOW(n=n, mu, sigma, nu)
mod <- gamlss(y~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.266581 1.886269
coef(mod, what="sigma")
#> (Intercept) x2
#> 1.760193 3.474991
coef(mod, what="nu")
#> (Intercept) x3
#> 0.2665299 -0.9585126