| critPlot {robustHD} | R Documentation |
Optimality criterion plot of a sequence of regression models
Description
Produce a plot of the values of the optimality criterion for a sequence of regression models, such as submodels along a robust or groupwise least angle regression sequence, or sparse least trimmed squares regression models for a grid of values for the penalty parameter.
Usage
critPlot(object, ...)
## S3 method for class 'seqModel'
critPlot(object, which = c("line", "dot"), ...)
## S3 method for class 'tslars'
critPlot(object, p, which = c("line", "dot"), ...)
## S3 method for class 'sparseLTS'
critPlot(
object,
which = c("line", "dot"),
fit = c("reweighted", "raw", "both"),
...
)
## S3 method for class 'perrySeqModel'
critPlot(object, which = c("line", "dot", "box", "density"), ...)
## S3 method for class 'perrySparseLTS'
critPlot(
object,
which = c("line", "dot", "box", "density"),
fit = c("reweighted", "raw", "both"),
...
)
## S3 method for class 'setupCritPlot'
critPlot(object, ...)
Arguments
object |
the model fit to be plotted, , or an object containing
all necessary information for plotting (as generated by
|
... |
additional arguments to be passed down, eventually to
|
which |
a character string specifying the type of plot. Possible
values are |
p |
an integer giving the lag length for which to produce the plot (the default is to use the optimal lag length). |
fit |
a character string specifying for which estimator to produce the
plot. Possible values are |
Value
An object of class "ggplot" (see ggplot).
Note
Function perryPlot is used to create the plot,
even if the optimality criterion does not correspond to resampling-based p
rediction error estimation. While this can be seen as as a misuse of its
functionality, it ensures that all optimality criteria are displayed in the
same way.
Author(s)
Andreas Alfons
See Also
ggplot, perryPlot,
rlars, grplars, rgrplars,
tslarsP, rtslarsP, tslars,
rtslars, sparseLTS
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
## robust LARS
# fit model
fitRlars <- rlars(x, y, sMax = 10)
# create plot
critPlot(fitRlars)
## sparse LTS over a grid of values for lambda
# fit model
frac <- seq(0.2, 0.05, by = -0.05)
fitSparseLTS <- sparseLTS(x, y, lambda = frac, mode = "fraction")
# create plot
critPlot(fitSparseLTS)
critPlot(fitSparseLTS, fit = "both")