The Weibull Poisson family
Value
Returns a gamlss.family object which can be used to fit a WP distribution in the gamlss()
function.
Details
The Weibull Poisson distribution with parameters mu
,
sigma
and nu
has density given by
\(f(x) = \frac{\mu \sigma \nu e^{-\nu}} {1-e^{-\nu}} x^{\mu-1} exp({-\sigma x^{\mu}+\nu exp({-\sigma} x^{\mu}) }),\)
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 .
Wanbo L, Daimin S (1967). “A new compounding life distribution: the Weibull–Poisson distribution.” Journal of Applied Statistics, 9(1), 21–38. doi:10.1080/02664763.2011.575126 , https://doi.org/10.1080/02664763.2011.575126.
Author
Amylkar Urrea Montoya, amylkar.urrea@udea.edu.co
Examples
# Example 1
# Generating some random values with
# known mu, sigma and nu
y <- rWP(n=300, mu=1.5, sigma=0.5, nu=0.5)
# Fitting the model
require(gamlss)
mod <- gamlss(y~1, sigma.fo=~1, nu.fo=~1, family='WP',
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.60776
exp(coef(mod, what='sigma'))
#> (Intercept)
#> 0.4384229
exp(coef(mod, what='nu'))
#> (Intercept)
#> 0.623303
# Example 2
# Generating random values under some model
n <- 2000
x1 <- runif(n, min=0.4, max=0.6)
x2 <- runif(n, min=0.4, max=0.6)
mu <- exp(-1.3 + 3 * x1)
sigma <- exp(0.69 - 2 * x2)
nu <- 0.5
x <- rWP(n=n, mu, sigma, nu)
mod <- gamlss(x~x1, sigma.fo=~x2, nu.fo=~1, family=WP,
control=gamlss.control(n.cyc=5000, trace=FALSE))
coef(mod, what="mu")
#> (Intercept) x1
#> -1.146736 2.711809
coef(mod, what="sigma")
#> (Intercept) x2
#> 0.6181917 -1.8307059
exp(coef(mod, what="nu"))
#> (Intercept)
#> 0.5026615