The Extended Weibull family
Value
Returns a gamlss.family object which can be used to fit a ExW distribution in the gamlss()
function.
Details
The Extended Weibull distribution with parameters mu
,
sigma
and nu
has density given by
\(f(x) = \frac{\mu \sigma \nu x^{\sigma -1} exp({-\mu x^{\sigma}})} {[1 -(1-\nu) exp({-\mu x^{\sigma}})]^2},\)
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 .
Tieling Z, Min X (2007). “Failure Data Analysis with Extended Weibull Distribution.” Communications in Statistics - Simulation and Computation, 36, 579–592. doi:10.1080/03610910701236081 .
Author
Amylkar Urrea Montoya, amylkar.urrea@udea.edu.co
Examples
# Example 1
# Generating some random values with
# known mu, sigma and nu
y <- rExW(n=200, mu=0.3, sigma=2, nu=0.05)
# Fitting the model
require(gamlss)
mod <- gamlss(y~1, sigma.fo=~1, nu.fo=~1, family='ExW',
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)
#> 2.957026
exp(coef(mod, what='sigma'))
#> (Intercept)
#> 1.225708
exp(coef(mod, what='nu'))
#> (Intercept)
#> 1.94751
# Example 2
# Generating random values under some model
n <- 500
x1 <- runif(n, min=0.4, max=0.6)
x2 <- runif(n, min=0.4, max=0.6)
mu <- exp(-2 + 3 * x1)
sigma <- exp(1.3 - 2 * x2)
nu <- 0.05
x <- rExW(n=n, mu, sigma, nu)
mod <- gamlss(x~x1, sigma.fo=~x2, nu.fo=~1, family=ExW,
control=gamlss.control(n.cyc=5000, trace=FALSE))
coef(mod, what="mu")
#> (Intercept) x1
#> 1.1367679 0.4107476
coef(mod, what="sigma")
#> (Intercept) x2
#> 1.084149 -2.774546
exp(coef(mod, what="nu"))
#> (Intercept)
#> 1.938714