BBmm: Beta-binomial mixed-effects model

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/BBmm.R

Description

BBmm function performs beta-binomial mixed-effects models, i.e., it allows the inclusion of gaussian random effects in the linear predictor of a logitic beta-binomial regression model.

The structure of the random part of the model can be expecified by two different ways: (i) determining the random.formula argument, or (ii) especifying the model matrix of the random effects, Z, and determining the number of random effects in each random component, nRandComp.

The estimation of the parameters can also be done by means of two approaches: (i) BB-NR, special Newton-Raphson algorithm developed for beta-binomial mixed-effect models, and (ii) using the rootSolve R-package.

Usage

1
2
BBmm(fixed.formula,X,y,random.formula,Z=NULL,nRandComp=NULL,m,data,
      method="NR",maxiter=50,show=FALSE,nDim=1)

Arguments

fixed.formula

an object of class "formula" (or one that can be coerced to that class): a symbolic description of the fixed part of the model to be fitted. It must be specified in cases where the model matrix of the fixed effects X and the outcome variable y are not specified.

X

a matrix class object containing the covariate structure of the fixed part of the model to be fitted. If the fixed.formula argument is specified this argument should not be defined, as we will be specifying twice the fixed structure of the model.

y

a vector containing the outcome variable(s). If joint analysis is expected, the outcome variables must be listed one after another in a vector.

random.formula

an object of class "formula" (or one that can be coerced to that class): a symbolic description of the random part of the model to be fitted. It must be specified in cases where the model matrix of the random effects Z is not determined.

Z

the design matrix of the random effects. If the random.formula argument is specified this argument should not be specified, as we will be specifying twice the random structure of the model.

nRandComp

the number of random effects in each random component of the model. It must be especified as a vector, where the 'i'th value must correspond with the number of random effects of the 'i'th random component. It must be only determined when we specify the random structure of the model by the model matrix of the random effects, Z.

m

maximum score number in each beta-binomial observation.

data

an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment(formula).

method

the methodology for performing the estimation of the parameters. Options "NR" or "Delta". Default "NR".

maxiter

the maximum number of iterations in the parameters estimation algorithm. Default 50.

show

logical parameter. If TRUE, the step by step optimization process will be shown in the screen. FALSE by default.

nDim

number of dimensions/dependent outcome variables involved in the multidimensional analysis. nDim=1 by default.

Details

BBmm function performs beta-binomial mixed effects models. It extends the beta-binomial logistic regression to the inclusion of random effects in the linear predictor of the model. The model is defined as, conditional on some gaussian random effects u the response variable y follows a beta-binomial distribution of parameters m, p and phi,

y|u \sim BB(m,p,phi), u \sim N(0,D)

where

log(p/(1-p))=X*beta+Z*u

and D is determined by some dispersion parameters icluded in the parameter vector theta.

The estimation of the regression paramters beta and the prediction of the random effects u is done via the extended likelihood, where the marginal likelihood is approximated to the h-likelihood by a first order Laplace approximation,

h=f(y|beta,u,theta)+f(u|theta)

The previous formula do not have a closed form and numerical methods are needed for the estimation precedure. Two approches are available in the function in order to perform the fixed and random effects estimation: (i) A special case of a Newton-Raphson algorithm developed for beta-binomial mixed-effects model estimations, and (ii) the general Newton-Raphson algorithm available in R-package rootSolve.

On the other hand, the estimation of dispersion parameters by the h-likelihood can be bias due to the estimation of the regression parameters. Consequenlty, a penalization of the h-likelihood must be performed to get an unbiased profile h-likelihood of the dispersion parameters. Lee and Nelder (1996) proposed the adjusted profile h-likelihood, where the following penalization is applied,

h(theta)=h+(1/2)*log[det(2π H^{-1})]

where H is the Hessian matrix of the model, and the terms beta and u involved in the previous formula are replaced by their estimates.

The method iterates between both estimation processes until convergence is reached.

Value

BBmm returns an object of class "BBmm".

The function summary (i.e., summary.BBmm) can be used to obtain or print a summary of the results..

fixed.coef

estimated value of the fixed coefficients of the regression.

fixed.vcov

variance and covariance matrix of the estimated fixed coefficients of the regression.

random.coef

predicted random effects of the regression.

sigma.coef

estimated value of the random effects variance parameters.

sigma.var

variance of the estimated value of the random effects variance parameters.

phi.coef

estimated value of the dispersion parameter of the conditional beta-binomial distribution.

psi.coef

estimated value of the logrithm of the dispersion parameter of the conditional beta-binomial distribution.

psi.var

variance of the estimation of the logarithm of the conditional beta-binomial distribution.

fitted.values

the fitted mean values of the probability parameter of the conditional beta-binomial distribution.

conv

convergence of the methodology. If the method has converged it returns "yes", otherwise "no".

deviance

deviance of the model.

df

degrees of freedom of the model.

null.deviance

null-deviance, deviance of the null model. The null model will only include an intercept as the estimation of the probability parameter.

null.df

degrees of freedom of the null model.

nRand

number of random effects.

nComp

number of random components.

nRandComp

number of random effects in each random component of the model.

namesRand

names of the random components.

iter

number of iterations in the estimation method.

nObs

number of observations in the data.

y

dependent response variable in the model.

X

model matrix of the fixed effects.

Z

model matrix of the random effects.

D

variance and covariance matrix of the random effects.

balanced

if the response dependent variable is balanced it returns "yes", otherwise "no".

m

maximum score number in each beta-binomial observation.

call

the matched call.

formula

the formula supplied.

Author(s)

J. Najera-Zuloaga

D.-J. Lee

I. Arostegui

References

Breslow N. E. & Calyton D. G. (1993): Approximate Inference in Generalized Linear Mixed Models, Journal of the American Statistical Association, 88, 9-25

Lee Y. & Nelder J. A. (1996): Hierarchical generalized linear models, Journal of the Royal Statistical Society. Series B, 58, 619-678

Najera-Zuloaga J., Lee D.-J. & Arostegui I. (2017): Comparison of beta-binomial regression model approaches to analyze health related quality of life data, Statistical Methods in Medical Research. DOI: 10.1177/0962280217690413

See Also

The multiroot and uniroot functions of the R-package rootSolve for the general Newton-Raphson algorithm.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
set.seed(14)

# Defining the parameters
k <- 100
m <- 10
phi <- 0.5
beta <- c(1.5,-1.1)
sigma <- 0.5

# Simulating the covariate and random effects
x <- runif(k,0,10)
X <- model.matrix(~x)
z <- as.factor(rBI(k,4,0.5,2))
Z <- model.matrix(~z-1)
u <- rnorm(5,0,sigma)


# The linear predictor and simulated response variable
eta <- beta[1]+beta[2]*x+crossprod(t(Z),u)
p <- 1/(1+exp(-eta))
y <- rBB(k,m,p,phi)
dat <- data.frame(cbind(y,x,z))
dat$z <- as.factor(dat$z)

# Apply the model
model <- BBmm(fixed.formula = y~x,random.formula = ~z,m=m,data=dat)
model

Example output

Iteration number: 1 
Iteration number: 2 
Iteration number: 3 
Iteration number: 4 
Iteration number: 5 
Call:	BBmm(fixed.formula = y ~ x, random.formula = ~z, m = m, data = dat)

Fixed effects estimation:
                 [,1]
(Intercept)  1.607417
x           -1.034241


Standard deviation of normal random effects:
z 0.6470783

Beta-binomial dispersion parameter: 0.5048018 

Deviance of the model: 57.66065
Number of iterations: 5
Balanced data, maximum score number: 10 

PROreg documentation built on July 1, 2020, 7:02 p.m.

Related to BBmm in PROreg...