Learn R Programming

VGAM (version 0.8-2)

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, huber, lqnorm, vlm, vglm, vgam, rrvglm.

Examples

Run this code
mydat = data.frame(x = sort(runif(n <- 40)))
mydat = transform(mydat, 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=mydat)
coef(fit, matrix=TRUE)

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

Run the code above in your browser using DataLab