The Sarhan and Zaindin's Modified Weibull distribution
Value
Returns a gamlss.family object which can be used to fit a SZMW distribution in the gamlss()
function.
Details
The Sarhan and Zaindin's Modified Weibull distribution with parameters mu
,
sigma
and nu
has density given by
\(f(x)=(\mu + \sigma \nu x^(\nu - 1)) \exp(- \mu x - \sigma x^\nu),\)
for \(x > 0\), \(\mu > 0\), \(\sigma > 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 .
Sarhan AM, Zaindin M (2009). “Modified Weibull distribution.” APPS. Applied Sciences, 11, 123–136.
Author
Johan David Marin Benjumea, johand.marin@udea.edu.co
Examples
# Example 1
# Generating some random values with
# known mu, sigma and nu
y <- rSZMW(n=100, mu = 1, sigma = 1, nu = 1.5)
# Fitting the model
require(gamlss)
mod <- gamlss(y~1, sigma.fo=~1, nu.fo=~1, family='SZMW',
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)
#> 1.569647
exp(coef(mod, what='sigma'))
#> (Intercept)
#> 0.6054654
exp(coef(mod, what='nu'))
#> (Intercept)
#> 4.048657
# Example 2
# Generating random values under some model
n <- 200
x1 <- runif(n)
x2 <- runif(n)
mu <- exp(-1.6 * x1)
sigma <- exp(0.9 - 1 * x2)
nu <- 1.5
x <- rSZMW(n=n, mu, sigma, nu)
mod <- gamlss(x~x1, mu.fo=~x1, sigma.fo=~x2, nu.fo=~1, family=SZMW,
control=gamlss.control(n.cyc=50000, trace=FALSE))
coef(mod, what="mu")
#> (Intercept) x1
#> 0.03979481 0.07345912
coef(mod, what="sigma")
#> (Intercept) x2
#> 0.6904316 -1.2759062
coef(mod, what='nu')
#> (Intercept)
#> 0.6447194