coefPlot {robustHD} | R Documentation |
Coefficient plot of a sequence of regression models
Description
Produce a plot of the coefficients from 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
coefPlot(object, ...)
## S3 method for class 'seqModel'
coefPlot(object, zeros = FALSE, labels = NULL, ...)
## S3 method for class 'tslars'
coefPlot(object, p, zeros = FALSE, labels = NULL, ...)
## S3 method for class 'sparseLTS'
coefPlot(
object,
fit = c("reweighted", "raw", "both"),
zeros = FALSE,
labels = NULL,
...
)
## S3 method for class 'setupCoefPlot'
coefPlot(
object,
abscissa = NULL,
size = c(0.5, 2, 4),
offset = 1,
facets = object$facets,
...
)
Arguments
object |
the model fit to be plotted. |
... |
additional arguments to be passed down, eventually to
|
zeros |
a logical indicating whether predictors that never enter the
model and thus have zero coefficients should be included in the plot
( |
labels |
an optional character vector containing labels for the
predictors. Plotting labels can be suppressed by setting this to
|
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 |
abscissa |
a character string specifying what to plot on the
|
size |
a numeric vector of length three giving the line width, the point size and the label size, respectively. |
offset |
an integer giving the offset of the labels from the corresponding coefficient values from the last step (i.e., the number of blank characters to be prepended to the label). |
facets |
a faceting formula to override the default behavior. If
supplied, |
Value
An object of class "ggplot"
(see ggplot
).
Author(s)
Andreas Alfons
See Also
ggplot
, 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
coefPlot(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
coefPlot(fitSparseLTS)
coefPlot(fitSparseLTS, fit = "both")