BEZI {gamlss.dist}R Documentation

The zero-inflated beta distribution for fitting a GAMLSS

Description

The function BEZI() defines the zero-inflated beta distribution, a three parameter distribution, for a gamlss.family object to be used in GAMLSS fitting using the function gamlss(). The zero-inflated beta is similar to the beta distribution but allows zeros as y values. This distribution is an extension of the beta distribution using a parameterization of the beta law that is indexed by mean and precision parameters (Ferrari and Cribari-Neto, 2004). The extra parameter models the probability at zero. The functions dBEZI, pBEZI, qBEZI and rBEZI define the density, distribution function, quantile function and random generation for the BEZI parameterization of the zero-inflated beta distribution. plotBEZI can be used to plot the distribution. meanBEZI calculates the expected value of the response for a fitted model.

Usage

BEZI(mu.link = "logit", sigma.link = "log", nu.link = "logit")

dBEZI(y, mu = 0.5, sigma = 1, nu = 0.1, log = FALSE)

pBEZI(q, mu = 0.5, sigma = 1, nu = 0.1, lower.tail = TRUE, log.p = FALSE)

qBEZI(p, mu = 0.5, sigma = 1, nu = 0.1, lower.tail = TRUE,
        log.p = FALSE)
        
rBEZI(n, mu = 0.5, sigma = 1, nu = 0.1)

plotBEZI(mu = .5, sigma = 1, nu = 0.1, from = 0, to = 0.999, n = 101, 
    ...)
    
meanBEZI(obj)

Arguments

mu.link the mu link function with default logit
sigma.link the sigma link function with default log
nu.link the nu link function with default logit
y,q vector of quantiles
mu vector of location parameter values
sigma vector of precision parameter values
nu vector of parameter values modelling the probability at zero
log, log.p logical; if TRUE, probabilities p are given as log(p).
lower.tail logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x]
p vector of probabilities.
n number of observations. If length(n) > 1, the length is taken to be the number required
from where to start plotting the distribution from
to up to where to plot the distribution
obj a fitted BEZI object
... other graphical parameters for plotting

Details

The zero-inflated beta distribution is given as

f(y)=nu

if (y=0)

f(y|mu,sigma)=(1-nu)*(Gamma(sigma)/Gamma(mu*sigma)*Gamma((1-mu)*sigma))*y^(mu*sigma-1)*(1-y)^(((1-mu)*sigma)-1)

if y=(0,1). The parameters satisfy 0<mu<1, sigma>0 and 0<nu<1.

Here E(y)=(1-nu)*mu and Var(y)=(1-nu)*(mu*(1-mu))/(sigma+1) + nu*(1-nu)*mu^2.

Value

returns a gamlss.family object which can be used to fit a zero-inflated beta distribution in the gamlss() function.

Note

This work is part of my PhD project at the University of Sao Paulo under the supervion of Professor Silvia Ferrari. My thesis is concerned with regression modelling of rates and proportions with excess of zeros and/or ones

Author(s)

Raydonal Ospina, Department of Statistics, University of Sao Paulo, Brazil.

rospina@ime.usp.br

References

Ferrari, S.L.P., Cribari-Neto, F. (2004). Beta regression for modelling rates and proportions. Journal of Applied Statistics, 31 (1), 799-815.

Rigby, R. A. and Stasinopoulos D. M. (2005). Generalized additive models for location, scale and shape (with discussion). Applied Statistics, 54 (3), 507-554.

Stasinopoulos D. M., Rigby R.A. and Akantziliotou C. (2006). Instructions on how to use the GAMLSS package in R. Accompanying documentation in the current GAMLSS help files (see also http://www.gamlss.com/).

Stasinopoulos D. M. Rigby R.A. (2007) Generalized additive models for location scale and shape (GAMLSS) in R. Journal of Statistical Software, Vol. 23, Issue 7, Dec 2007, http://www.jstatsoft.org/v23/i07.

See Also

gamlss, gamlss.family, BEZI

Examples


BEZI()# gives information about the default links for the BEZI distribution
# plotting the distribution
plotBEZI( mu =0.5 , sigma=5, nu = 0.1, from = 0, to=0.99, n = 101)
# plotting the cdf
plot(function(y) pBEZI(y, mu=.5 ,sigma=5, nu=0.1), 0, 0.999)
# plotting the inverse cdf
plot(function(y) qBEZI(y, mu=.5 ,sigma=5, nu=0.1), 0, 0.999)
# generate random numbers
dat<-rBEZI(100, mu=.5, sigma=5, nu=0.1)
# fit a model to the data. Tits a constant for mu, sigma and nu
mod1<-gamlss(dat~1,sigma.formula=~1, nu.formula=~1, family=BEZI) 
fitted(mod1)[1]
summary(mod1)
fitted(mod1,"mu")[1]         #fitted mu   
fitted(mod1,"sigma")[1]      #fitted sigma 
fitted(mod1,"nu")[1]         #fitted nu  
meanBEZI(mod1)[1] # expected value of the response

[Package gamlss.dist version 1.9-0 Index]