The Weibull Poisson family
Arguments
- mu.link
defines the mu.link, with "log" link as the default for the mu parameter.
- sigma.link
defines the sigma.link, with "log" link as the default for the sigma.
- nu.link
defines the nu.link, with "log" link as the default for the nu parameter.
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.438085
exp(coef(mod, what='sigma'))
#> (Intercept)
#> 0.5308492
exp(coef(mod, what='nu'))
#> (Intercept)
#> 0.05558775
# 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))
#> Error in gamlss(x ~ x1, sigma.fo = ~x2, nu.fo = ~1, family = WP, control = gamlss.control(n.cyc = 5000, trace = FALSE)): response variable out of range
coef(mod, what="mu")
#> (Intercept)
#> 0.3633124
coef(mod, what="sigma")
#> (Intercept)
#> -0.6332773
exp(coef(mod, what="nu"))
#> (Intercept)
#> 0.05558775