Abstract

This article describes the R package mcglm implemented for fitting multivariate covariance generalized linear models (McGLMs). McGLMs provide a general statistical modeling framework for normal and non-normal multivariate data analysis, designed to handle multivariate response variables, along with a wide range of temporal and spatial correlation structures defined in terms of a covariance link function and a matrix linear predictor involving known symmetric matrices. The models take non-normality into account in the conventional way by means of a variance function, and the mean structure is modeled by means of a link function and a linear predictor. The models are fitted using an estimating function approach based on second-moment assumptions. This provides a unified approach to a wide variety of different types of response variables and covariance structures, including multivariate extensions of repeated measures, time series, longitudinal, genetic, spatial and spatio-temporal structures. The mcglm package allows a flexible specification of the mean and covariance structures, and explicitly deals with multivariate response variables, through a user friendly formula interface similar to the ordinary glm function. Illustrations in this article cover a wide range of applications from the traditional one response variable Gaussian mixed models to multivariate spatial models for areal data using the multivariate Tweedie distribution. Additional features, such as robust and bias-corrected standard errors for regression parameters, residual analysis, measures of goodness-of-fit and model selection using the score information criterion are discussed through six worked examples. The mcglm package is a full R implementation based on the Matrix package which provides efficient access to BLAS (basic linear algebra subroutines), Lapack (dense matrix), TAUCS (sparse matrix) and UMFPACK (sparse matrix) routines for efficient linear algebra in R.

Highlights

  • The mcglm package (Bonat 2018) for R (R Core Team 2017) provides functions to fit and analyze multivariate covariance generalized linear models (McGLMs; Bonat and Jørgensen 2016)

  • The mcglm package is a full R implementation based on the Matrix package which provides efficient access to BLAS, Lapack, TAUCS and UMFPACK routines for efficient linear algebra in R

  • The mcglm package is a full R implementation based on the Matrix (Bates and Maechler 2017) package which provides efficient access to C and Fortran 90 libraries such as BLAS, Lapack, TAUCS and UMFPACK routines for efficient linear algebra in R

Read more

Summary

Introduction

The mcglm package (Bonat 2018) for R (R Core Team 2017) provides functions to fit and analyze multivariate covariance generalized linear models (McGLMs; Bonat and Jørgensen 2016). Other software platforms for fitting generic random-effects models via Markov chain Monte Carlo methods, such as JAGS (Plummer 2003) WinBUGS (Lunn, Thomas, Best, and Spiegelhalter 2000) and Stan (Carpenter, Gelman, Hoffman, Lee, Goodrich, Betancourt, Brubaker, Guo, Li, and Riddell 2017), can deal with multivariate response variables but carry substantial overheads in terms of computational times and convergence checks, while being cumbersome to implement non-standard covariance structures and more general probability distributions, such as the Tweedie and Poisson-Tweedie distributions These limitations of current software availability for joint mean-covariance modeling of multivariate response variables motivated us to develop an implementation of McGLMs and the mcglm package.

Multivariate covariance generalized linear models
Estimation and inference
Measures of goodness-of-fit
Implementation in R
Gaussian mixed models
Longitudinal data analysis
Spatial areal data analysis
Mixed response variables
Bivariate repeated measures models for count data
Multivariate Tweedie models for spatial areal data
Discussion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call