R: Gaussian (Normal) Family Function

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 - η_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 - η_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

`uninormal`, `huber2`, `lqnorm`, `binormal`, `SURff`. `vlm`, `vglm`, `vgam`, `rrvglm`.

### Examples

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

    # For comparison:
    coef( lmfit <-  lm(y1 ~ x2, data = gdata))
    coef(glmfit <- glm(y2 ~ x2, data = gdata, 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) ~ x2, gaussianff, data = gdata)
    Coef(fit2)

[Package VGAM version 1.0-3 Index]