gaussianff {VGAM} | R Documentation

## Gaussian (normal) Family Function

### Description

Fits a generalized linear model to a response with Gaussian (normal) errors. The dispersion parameter may be known or unknown.

### Usage

    gaussianff(dispersion = 0, parallel = FALSE, zero = NULL)

### Arguments

`parallel` | A logical or formula. If a formula, the response of the formula should be a logical and the terms of the formula indicates whether or not those terms are parallel.
`dispersion` | Dispersion parameter. If 0 then it is estimated and the moment estimate is put in `object@misc$dispersion`; it is assigned the value sum_{i=1}^n (y_i - eta_i)^T W_i (y_i - eta_i) / (nM-p) where p is the total number of parameters estimated (for RR-VGLMs the value used is the number of columns in the large X model matrix; this may not be correct). If the argument is assigned a positive quantity then it is assumed to be known with that value.
`zero` | An integer-valued vector specifying which linear/additive predictors are modelled as intercepts only. The values must be from the set {1,2,...,M} where M is the number of columns of the matrix response.

### Details

This function is usually used in conjunction with `vglm`, else `vlm` is recommended instead. The notation M is used to denote the number of linear/additive predictors. This function can handle any finite M, and the default is to use ordinary least squares. A vector linear/additive model can be fitted by minimizing

sum_{i=1}^n (y_i - eta_i)^T W_i (y_i - eta_i)

where y_i is a M-vector, eta_i is the vector of linear/additive predictors. The W_i is any positive-definite matrix, and the default is the order-M identity matrix. The W_i can be inputted using the `weights` argument of `vlm`/`vglm`/`vgam` etc., and the format is the matrix-band format whereby it is a n * A matrix with the diagonals are passed first, followed by next the upper band, all the way to the (1,M) element. Here, A has maximum value of M(M+1)/2 and a minimum value of M. Usually the `weights` argument of `vlm`/`vglm`/`vgam`/`rrvglm` is just a vector, in which case each element is multiplied by a order-M identity matrix. If in doubt, type something like `weights(object, type="working")` after the model has been fitted.

### Value

An object of class `"vglmff"` (see `vglmff-class`). The object is used by modelling functions such as `vglm`, `rrvglm` and `vgam`.

### Note

This VGAM family function is supposed to be similar to `gaussian` but is is not compatible with `glm`. The `"ff"` in the name is added to avoid any masking problems.

### Author(s)

Thomas W. Yee

### References

McCullagh, P. and Nelder, J. A. (1989) Generalized Linear Models, 2nd ed. London: Chapman & Hall.

Yee, T. W. and Wild, C. J. (1996) Vector generalized additive models. Journal of the Royal Statistical Society, Series B, Methodological, 58, 481–493.

### See Also

`normal1`, `lqnorm`, `vlm`, `vglm`, `vgam`, `rrvglm`.

### Examples

    d = data.frame(x = sort(runif(n <- 40)))
    d = transform(d, y1 = 1 + 2*x + rnorm(n, sd=0.1),
                     y2 = 3 + 4*x + rnorm(n, sd=0.1),
                     y3 = 7 + 4*x + rnorm(n, sd=0.1))
    fit = vglm(cbind(y1,y2) ~ x, gaussianff, data=d)
    coef(fit, matrix=TRUE)

    # For comparison:
    coef( lmfit <-  lm(y1 ~ x, data=d))
    coef(glmfit <- glm(y2 ~ x, data=d, gaussian))
    vcov(fit)
    vcov(lmfit)

    t(weights(fit, type="prior"))         # Unweighted observations
    head(weights(fit, type="working"))    # Identity matrices

    # Reduced-rank VLM (rank-1)
    fit2 = rrvglm(cbind(y1,y2,y3) ~ x, gaussianff, data=d)
    Coef(fit2)

[Package VGAM version 0.7-9 Index]