I am self-studying Vector Generalized Linear/Additive Models (mostly) via Yee, T. W. (2015) "Vector Generalized Linear and Additive Models: With an Implementation in R."

I think I am misunderstanding something very basic to the topic. It seems to me that the term "Vector" just means that there are multiple outputs to predict -- each one essentially with its own Generalized Linear/Additive Model. But then there is very little reason to add that descriptor at all. You are just building multiple Generalized Linear/Additive Models.

In the introduction to the first chapter on vector models (chapter 3: VGLMs) Yee says "One might loosely think of VGLMs as multivariate GLMs, however, this is only partly true, because GLMs are intertwined with the exponential family." Which seems a bit vague and he doesn't expand on this very much. Maybe this will be clarified as I get further into the book, but I am mainly looking for an example where using a VGLM/VGAM is different from and preferable to using multiple GLMs/GAMs.

Does such an example exist? What am I missing?


1 Answer 1


VGAMs are an extremely flexible model class.

Yes, they can be used to model data where the response is actually a vector of responses where each vector gets its own linear predictor. This is not the same as fitting a separate GAM to each vector in the response separately. In the VGAM all the model parameters and, importantly, their covariance matrix are all estimated at the same time. If you were to fit a separate GAM for each vector in the response, you'd get coefficient estimates for each term in each linear predictor, just like the VGAM, but you wouldn't have the covariances of parameters between linear predictors. With the VGAM, you could for example, directly test the equivalent of two (or more) responses have the same linear predictor in much the same way you test whether the estimated effects of two levels of a factor are different (via a contrast, or a difference in two linear combinations of model coefficients).

With a multivariate response, VGAM also includes reduced-rank VGAMs which allow for the $m$ responses to be modelled not by $m$ linear predictors, but by a lower dimensional set of orthogonal latent variables. This can be useful if if many of the responses follow a few similar "patterns" of variation; rather than model each response with it's own linear predictor, we can model all those response that follow pattern 1 with one linear predictor, and so on. This is one way to achieve a model-based ordination; VGAM allows for CQO and CAO for constrained quadratic ordination and constrained additive ordination, which are all special cases of the reduced-rank VGAM, where the axes of the ordination contain parametric terms (linear, quadratic, factors) or smooth terms respectively.

Secondly, VGAMs include Generalised additive models for location, scale, shape (GAMLSS), and Distributional regression. In this case the vector of responses can be the mean and the variance, say, of the response which we model as Gaussian, with linear predictors for the mean and variance. This generalises to a vast array of distributions implemented in the VGAM package. For example, something you can't currently do in say {mgcv} is to model the $\theta$ parameter of the negative binomial distribution. In {mgcv}'s nb() family, $\theta$ is a constant, which is estimated from the data. In VGAM, we could have one linear predictor for the location (mean) and one for $\theta$, thus allowing the overdispersion to vary for each observation, with the amount of overdisperision relative to the Poisson determined by covariates.

Some models included in the VGAM class are bivariate where correlations between the two responses can be modelled.

The main difficulty with VGAM, beyond the shear complexity of the model class itself which translates somewhat to a complex user interface, is that the smooths are estimated more like those in the gam package, which do not have automatic smoothness selection. Whereas GAMs fitted by {mgcv} and other packages using penalized splines allow for automatic smoothness selection.

There are now other packages that can fit some of the models in the VGAM class with smoothness selection; for example the bivariate models can be fitted via copula GAMs using the GJRM package which also includes automatic smoothness selection. And GJRM's gamlss() and gamlss's gamlss() both allow for distributional regression with automatic smoothness selection for a large range of distributions including the negative binomial I mentioned earlier, while mgcv only allows a few distributional models (not for the negative binomial for example). But, as a consistent package for a vast array of models, VGAM is a wonderful resource.

  • 1
    $\begingroup$ I don't mean to be overly reductive with a very thorough answer, but I guess I had assumed the linking function was applied component-wise. Your examples (and comment on "covariances of parameters between linear predictors") make clear that is wrong and now they make much more sense to me. Is that the correct bottom-line takeaway? $\endgroup$
    – TJM
    Commented May 19 at 20:55
  • $\begingroup$ What do you mean by "linking function"? $\endgroup$ Commented May 22 at 7:32
  • $\begingroup$ Isn't that the standard term for the outer bijection that makes GLMs/GAMs "generalized" models? You can do a search on the term en.wikipedia.org/wiki/Generalized_additive_model and here en.wikipedia.org/wiki/Generalized_linear_model#Link_function $\endgroup$
    – TJM
    Commented May 22 at 14:46
  • $\begingroup$ I wondered if you meant "link function" or something different. $\endgroup$ Commented May 22 at 17:56
  • $\begingroup$ Yes, I mean the link function $\endgroup$
    – TJM
    Commented May 22 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.