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 for observations with reasonably small
residuals and
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))