#' The Modified Weibull distribution
Value
Returns a gamlss.family object which can be used to fit a MW distribution in the gamlss()
function.
Details
The Modified Weibull distribution with parameters mu
,
sigma
and nu
has density given by
\(f(x) = \mu (\sigma + \nu x) x^(\sigma - 1) \exp(\nu x) \exp(-\mu x^(\sigma) \exp(\nu x)),\)
for \(x > 0\), \(\mu > 0\), \(\sigma \geq 0\) and \(\nu \geq 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 .
Lai CD, Xie M, Murthy DNP (2003). “A modified Weibull distribution.” IEEE Transactions on reliability, 52(1), 33–37.
Author
Johan David Marin Benjumea, johand.marin@udea.edu.co
Examples
# Example 1
# Generating some random values with
# known mu, sigma and nu
y <- rMW(n=100, mu = 2, sigma = 1.5, nu = 0.2)
# Fitting the model
require(gamlss)
mod <- gamlss(y~1, sigma.fo=~1, nu.fo=~1, family= 'MW',
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.956038
exp(coef(mod, what='sigma'))
#> (Intercept)
#> 1.100956
exp(coef(mod, what='nu'))
#> (Intercept)
#> 0.8777585
# Example 2
# Generating random values under some model
n <- 200
x1 <- rpois(n, lambda=2)
x2 <- runif(n)
mu <- exp(3 -1 * x1)
sigma <- exp(2 - 2 * x2)
nu <- 0.2
x <- rMW(n=n, mu, sigma, nu)
mod <- gamlss(x~x1, mu.fo=~x1, sigma.fo=~x2, nu.fo=~1, family=MW,
control=gamlss.control(n.cyc=5000, trace=FALSE))
coef(mod, what="mu")
#> (Intercept) x1
#> 2.960504 -1.049355
coef(mod, what="sigma")
#> (Intercept) x2
#> 2.000640 -2.015127
coef(mod, what='nu')
#> (Intercept)
#> -1.091162