Learn R Programming

VGAM (version 0.9-1)

gaussianff: 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 param
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.

Value

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 \times 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.

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, huber2, lqnorm, binormal, SUR. vlm, vglm, vgam, rrvglm.

Examples

Run this code
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)

Run the code above in your browser using DataLab