Sest_multireg function

S-Estimates for Multivariate Regression

S-Estimates for Multivariate Regression

Computes S-Estimates of multivariate regression based on Tukey's biweight function using the fast-S algorithm.

## S3 method for class 'formula' Sest_multireg(formula, data=NULL, ...) ## Default S3 method: Sest_multireg(X, Y, int = TRUE, bdp = 0.5, control=Scontrol(...), na.action=na.omit, ...)

Arguments

  • formula: an object of class formula; a symbolic description of the model to be fit.
  • data: data frame from which variables specified in formula are to be taken.
  • X: a matrix or data frame containing the explanatory variables (possibly including intercept).
  • Y: a matrix or data frame containing the response variables.
  • int: logical: if TRUE an intercept term is added to the model (unless it is already present in X).
  • bdp: required breakdown point. Should have 0<0 < bdp 0.5\le 0.5, the default is 0.5.
  • control: a list with control parameters for tuning the computing algorithm, see Scontrol().
  • na.action: a function which indicates what should happen when the data contain NAs. Defaults to na.omit.
  • ...: allows for specifying control parameters directly instead of via control.

Details

This function is called by FRBmultiregS.

S-estimates for multivariate regression were discussed in Van Aelst and Willems (2005). The algorithm used here is a multivariate version of the fast-S algorithm introduced by Salibian-Barrera and Yohai (2006). See Scontrol for the adjustable tuning parameters of this algorithm.

Apart from the regression coefficients, the function returns both the error covariance matrix estimate Sigma and the corresponding shape estimate Gamma (which has determinant equal to 1). The scale is determined by det(Sigma)1/2/qdet(Sigma)^{1/2/q}, with qq the number of response variables.

The returned object inherits from class mlm such that the standard coef, residuals, fitted and predict functions can be used.

Returns

An object of class FRBmultireg which extends class mlm and contains at least the following components: - coefficients: S-estimates of the regression coefficients

  • residuals: the residuals, that is response minus fitted values

  • fitted.values: the fitted values.

  • Gamma: S-estimate of the error shape matrix

  • Sigma: S-estimate of the error covariance matrix

  • scale: S-estimate of the size of the multivariate errors

  • weights: implicit weights corresponding to the S-estimates (i.e. final weights in the RWLS procedure at the end of the fast-S algorithm)

  • outFlag: outlier flags: 1 if the robust distance of the residual exceeds the .975 quantile of (the square root of) the chi-square distribution with degrees of freedom equal to the dimension of the responses; 0 otherwise

  • b,c: tuning parameters used in Tukey biweight loss function, as determined by bdp

  • method: a list with following components: est = character string indicating that GS-estimates were used and bdp = a copy of the bdp argument

  • control: a copy of the control argument

References

  • M. Salibian-Barrera and V. Yohai (2006) A fast algorithm for S-regression estimates. Journal of Computational and Graphical Statistics, 15 , 414--427.
  • S. Van Aelst and G. Willems (2005) Multivariate regression S-estimators for robust estimation and inference. Statistica Sinica, 15 , 981--1001
  • S. Van Aelst and G. Willems (2013), Fast and robust bootstrap for multivariate inference: The R package FRB. Journal of Statistical Software, 53 (3), 1--32. tools:::Rd_expr_doi("10.18637/jss.v053.i03") .

Author(s)

Gert Willems, Stefan Van Aelst and Ella Roelant

See Also

FRBmultiregS, Sboot_multireg, MMest_multireg, Scontrol

Examples

data(schooldata) school.x <- data.matrix(schooldata[,1:5]) school.y <- data.matrix(schooldata[,6:8]) ## compute 25% breakdown S-estimates Sres <- Sest_multireg(school.x,school.y, bdp=0.25) ## or using the formula interface Sres <- Sest_multireg(cbind(reading,mathematics,selfesteem)~., data=schooldata, bdp=0.25) ## the regression coefficients: Sres$coefficients ## or alternatively coef(Sres) n <- nrow(schooldata) oldpar <- par(mfrow=c(2,1)) ## the estimates can be considered as weighted least squares estimates with the ## following implicit weights plot(1:n, Sres$weights) ## Sres$outFlag tells which points are outliers based on whether or not their ## robust distance exceeds the .975 chi-square cut-off: plot(1:n, Sres$outFlag) ## (see also the diagnostic plot in plotDiag()) par(oldpar)
  • Maintainer: Valentin Todorov
  • License: GPL (>= 3)
  • Last published: 2024-10-07

Useful links