heavy (version 0.38.196)

heavyLm: (Multivariate) linear regression under heavy-tailed distributions

Description

This function is used to fit linear models considering heavy-tailed errors. It can be used to carry out univariate or multivariate regression.

Usage

heavyLm(formula, data, family = Student(df = 4), subset, na.action,
  control, model = TRUE, x = FALSE, y = FALSE, contrasts = NULL)

Arguments

formula

an object of class "formula": a symbolic description of the model to be fitted.

data

an optional data frame containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which heavyLm is called.

family

a description of the error distribution to be used in the model. By default the Student-t distribution with 4 degrees of freedom is considered.

subset

an optional expression indicating the subset of the rows of data that should be used in the fitting process.

na.action

a function that indicates what should happen when the data contain NAs.

control

a list of control values for the estimation algorithm to replace the default values returned by the function heavy.control.

model, x, y

logicals. If TRUE the corresponding components of the fit (the model frame, the model matrix, the response) are returned.

contrasts

an optional list. See the contrasts.arg of model.matrix.default.

Value

An object of class "heavyLm" or "heavyMLm" for multiple responses which represents the fitted model. Generic functions print and summary, show the results of the fit.

The following components must be included in a legitimate "heavyLm" object.

call

a list containing an image of the heavyLm call that produced the object.

family

the heavy.family object used, with the estimated shape parameters (if requested).

coefficients

final estimate of the coefficients vector.

sigma2

final scale estimate of the random error (only available for univariate regression models).

Sigma

estimate of scatter matrix for each row of the response matrix (only available for objects of class "heavyMLm").

fitted.values

the fitted mean values.

residuals

the residuals, that is response minus fitted values.

logLik

the log-likelihood at convergence.

numIter

the number of iterations used in the iterative algorithm.

weights

estimated weights corresponding to the assumed heavy-tailed distribution.

distances

squared of scaled residuals or Mahalanobis distances.

acov

asymptotic covariance matrix of the coefficients estimates.

Details

Models for heavyLm are specified symbolically (for additional information see the "Details" section from lm function). If response is a matrix, then a multivariate linear model is fitted.

References

Dempster, A.P., Laird, N.M., and Rubin, D.B. (1980). Iteratively reweighted least squares for linear regression when errors are Normal/Independent distributed. In P.R. Krishnaiah (Ed.), Multivariate Analysis V, p. 35-57. North-Holland.

Lange, K., and Sinsheimer, J.S. (1993). Normal/Independent distributions and their applications in robust regression. Journal of Computational and Graphical Statistics 2, 175-198.

Examples

Run this code
# NOT RUN {
# univariate linear regression
data(ereturns)
fit <- heavyLm(m.marietta ~ CRSP, data = ereturns, family = Student(df = 5))
summary(fit)

# multivariate linear regression
data(dialyzer)
fit <- heavyLm(cbind(y1,y2,y3,y4) ~ -1 + centre, data = dialyzer, family = slash(df = 4))
fit

# fixing the degrees of freedom at df = 5
fit <- heavyLm(m.marietta ~ CRSP, data = ereturns, family = Student(df = 5),
  control = heavy.control(fix.shape = TRUE))
summary(fit)
# }

Run the code above in your browser using DataLab