gcmr (version 1.0.2)

gcmr: Fitting Gaussian Copula Marginal Regression Models by Maximum (Simulated) Likelihood.

Description

Fits Gaussian copula marginal regression models by maximum (simulated) likelihood.

Usage

gcmr(formula, data, subset, offset, marginal,
     cormat, start, fixed, options=gcmr.options(...), model=TRUE,...)

gcmr.fit(x=rep(1,NROW(y)), y, z=NULL, offset=NULL, marginal, cormat, start, fixed, options=gcmr.options())

Arguments

formula

a symbolic description of the model to be fitted of type y ~ x or y ~ x | z, for details see below.

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).

subset

an optional vector specifying a subset of observations to be used in the fitting process.

offset

optional numeric vector with an a priori known component to be included in the linear predictor for the mean. When appropriate, offset may also be a list of two offsets for the mean and precision equation, respectively.

x

design matrix.

y

vector of observations.

z

optional design matrix for the dispersion/shape.

marginal

an object of class marginal.gcmr specifying the marginal part of the model.

cormat

an object of class cormat.gcmr representing the correlation matrix of the errors.

start

optional numeric vector with starting values for the model parameters.

fixed

optional numeric vector of the same length as the total number of parameters. If supplied, only NA entries in fixed will be varied.

options

list of options passed to function gcmr.options.

model

logical. If TRUE, then the model frame is returned.

...

arguments passed to gcmr.options.

Value

An object of class "gcmr" with the following components:

estimate

the maximum likelihood estimate.

maximum

the maximum likelihood value.

hessian

(minus) the Hessian at the maximum likelihood estimate.

jac

the Jacobian at the maximum likelihood estimate.

fitted.values

the fitted values.

marginal

the marginal model used.

cormat

the correlation matrix used.

fixed

the numeric vector indicating which parameters are constants.

ibeta

the indices of marginal parameters.

igamma

the indices of dependence parameters.

nbeta

the number of marginal parameters.

ngamma

the number of dependence parameters.

options

the fitting options used, see gcmr.options.

call

the matched call.

formula

the model formula.

terms

the terms objects for the fitted model.

levels

the levels of the categorical regressors.

model

the model frame, returned only if model=TRUE.

contrasts

the contrasts corresponding to levels.

y

the y vector used.

x

the model matrix used for the mean response.

z

the (optional) model matrix used for the dispersion/shape.

offset

the offset used.

n

the number of observations.

not.na

the vector of binary indicators of the available observations (not missing).

Functions coefficients, logLik, fitted, vcov.gcmr and residuals.gcmr can be used to extract various useful features of the value returned by gcmr. Function plot.gcmr produces various diagnostic plots for fitted gcmr objects.

Details

Function gcmr computes maximum likelihood estimation in Gaussian copula marginal regression models. Computation of the exact likelihood is possible only for continuous responses, otherwise the likelihood function is approximated by importance sampling. See Masarotto and Varin (2012; 2017) for details.

Standard formula y ~ x1 + x2 indicates that the mean response is modelled as a function of covariates x1 and x2 through an appropriate link function. Extended formula y ~ x1 + x2 | z1 + z2 indicates that the dispersion (or the shape) parameter of the marginal distribution is modelled as a function of covariates z1 and z2. Dispersion (or shape) parameters are always modelled on logarithm scale. The model specification is inspired by beta regression as implemented in betareg (Cribari-Neto and Zeileis, 2010) through extended Formula objects (Zeileis and Croissant, 2010).

For binomial marginals specified by binomial.marg the response is specified as a factor when the first level denotes failure and all others success or as a two-column matrix with the columns giving the numbers of successes and failures.

gcmr.fit is the workhorse function: it is not normally called directly but can be more efficient where the response vector and design matrix have already been calculated.

References

Cribari-Neto, F. and Zeileis, A. (2010). Beta regression in R. Journal of Statistical Software 34, 1--24. http://www.jstatsoft.org/v34/i02/.

Masarotto, G. and Varin, C. (2012). Gaussian copula marginal regression. Electronic Journal of Statistics 6, 1517--1549. http://projecteuclid.org/euclid.ejs/1346421603.

Masarotto, G. and Varin C. (2017). Gaussian Copula Regression in R. Journal of Statistical Software, 77(8), 1--26. 10.18637/jss.v077.i08.

Rocha, A.V. and Cribari-Neto, F. (2009). Beta autoregressive moving average models. Test 18, 529--545.

Zeileis, A. and Croissant, Y. (2010). Extended model formulas in R: Multiple parts and multiple responses. Journal of Statistical Software 34, 1--13. http://www.jstatsoft.org/v34/i01/.

See Also

cormat.gcmr, marginal.gcmr, gcmr.options, Formula, betareg.

Examples

Run this code
# NOT RUN {
## negative binomial model for longitudinal data
data(epilepsy)
gcmr(counts ~ offset(log(time)) + visit + trt + visit:trt, data = epilepsy, 
subset = (id != 49), marginal = negbin.marg, cormat = cluster.cormat(id, "ar1"), 
options=gcmr.options(seed=123, nrep=100 ))
## Hidden Unemployment Rate (HUR) data (Rocha and Cribari-Neto, 2009)
## beta regression with ARMA(1,3) errors
data(HUR)
trend <- scale(time(HUR))
gcmr(HUR ~ trend | trend, marginal = beta.marg, cormat = arma.cormat(1, 3))
# }

Run the code above in your browser using DataCamp Workspace