weights.sparseLTS {robustHD} | R Documentation |
Extract outlier weights from sparse LTS regression models
Description
Extract binary weights that indicate outliers from sparse least trimmed squares regression models.
Usage
## S3 method for class 'sparseLTS'
weights(
object,
type = "robustness",
s = NA,
fit = c("reweighted", "raw", "both"),
drop = !is.null(s),
...
)
Arguments
object |
the model fit from which to extract outlier weights. |
type |
the type of weights to be returned. Currently only robustness
weights are implemented ( |
s |
an integer vector giving the indices of the models for which to
extract outlier weights. If |
fit |
a character string specifying for which estimator to extract
outlier weights. Possible values are |
drop |
a logical indicating whether to reduce the dimension to a vector in case of only one model. |
... |
currently ignored. |
Value
A numeric vector or matrix containing the requested outlier weights.
Note
The weights are 1
for observations with reasonably small
residuals and 0
for observations with large residuals.
Author(s)
Andreas Alfons
See Also
Examples
## generate data
# example is not high-dimensional to keep computation time low
library("mvtnorm")
set.seed(1234) # for reproducibility
n <- 100 # number of observations
p <- 25 # number of variables
beta <- rep.int(c(1, 0), c(5, p-5)) # coefficients
sigma <- 0.5 # controls signal-to-noise ratio
epsilon <- 0.1 # contamination level
Sigma <- 0.5^t(sapply(1:p, function(i, j) abs(i-j), 1:p))
x <- rmvnorm(n, sigma=Sigma) # predictor matrix
e <- rnorm(n) # error terms
i <- 1:ceiling(epsilon*n) # observations to be contaminated
e[i] <- e[i] + 5 # vertical outliers
y <- c(x %*% beta + sigma * e) # response
x[i,] <- x[i,] + 5 # bad leverage points
## sparse LTS over a grid of values for lambda
# fit model
frac <- seq(0.2, 0.05, by = -0.05)
fitGrid <- sparseLTS(x, y, lambda = frac, mode = "fraction")
# extract outlier weights
weights(fitGrid)
head(weights(fitGrid, fit = "both"))
head(weights(fitGrid, s = NULL))
head(weights(fitGrid, fit = "both", s = NULL))