Learn R Programming

robustHD (version 0.8.1)

critPlot: 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 seqModel critPlot(object, which = c("line", "dot"), ...)

# S3 method for tslars critPlot(object, p, which = c("line", "dot"), ...)

# S3 method for sparseLTS critPlot( object, which = c("line", "dot"), fit = c("reweighted", "raw", "both"), ... )

# S3 method for perrySeqModel critPlot(object, which = c("line", "dot", "box", "density"), ...)

# S3 method for perrySparseLTS critPlot( object, which = c("line", "dot", "box", "density"), fit = c("reweighted", "raw", "both"), ... )

# S3 method for setupCritPlot critPlot(object, ...)

Value

An object of class "ggplot" (see ggplot).

Arguments

object

the model fit to be plotted, , or an object containing all necessary information for plotting (as generated by setupCritPlot).

...

additional arguments to be passed down, eventually to geom_line, geom_pointrange, geom_boxplot, or geom_density.

which

a character string specifying the type of plot. Possible values are "line" (the default) to plot the (average) results for each model as a connected line, "dot" to create a dot plot, "box" to create a box plot, or "density" to create a smooth density plot. Note that the last two plots are only available in case of prediction error estimation via repeated resampling.

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 "reweighted" (the default) for the reweighted fits, "raw" for the raw fits, or "both" for both estimators.

Author

Andreas Alfons

See Also

ggplot, perryPlot, rlars, grplars, rgrplars, tslarsP, rtslarsP, tslars, rtslars, sparseLTS

Examples

Run this code
## 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")

Run the code above in your browser using DataLab