R: Plot a sequence of regression models

plot.seqModel {robustHD} | R Documentation

## Plot a sequence of regression models

### Description

Produce a plot of the coefficients, the values of the optimality criterion, or diagnostic plots 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

    ## S3 method for class 'seqModel'
    plot(x, method = c("coefficients", "crit", "diagnostic"), ...)

    ## S3 method for class 'perrySeqModel'
    plot(x, method = c("crit", "diagnostic"), ...)

    ## S3 method for class 'tslars'
    plot(x, p, method = c("coefficients", "crit", "diagnostic"), ...)

    ## S3 method for class 'sparseLTS'
    plot(x, method = c("coefficients", "crit", "diagnostic"), ...)

    ## S3 method for class 'perrySparseLTS'
    plot(x, method = c("crit", "diagnostic"), ...)

### Arguments

`x` | the model fit to be plotted.
`method` | a character string specifying the type of plot. Possible values are `"coefficients"` to plot the coefficients from the submodels via `coefPlot` (only for the `"seqModel"` and `"sparseLTS"` methods), `"crit"` to plot the values of the optimality criterion for the submodels via `critPlot`, or `"diagnostic"` for diagnostic plots via `diagnosticPlot`.
`...` | additional arguments to be passed down.
`p` | an integer giving the lag length for which to produce the plot (the default is to use the optimal lag length).

### Value

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

### Author(s)

Andreas Alfons

### See Also

`coefPlot`, `critPlot`, `diagnosticPlot`, `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 plots
    plot(fitRlars, method = "coef")
    plot(fitRlars, method = "crit")
    plot(fitRlars, method = "diagnostic")

    ## 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 plots
    plot(fitSparseLTS, method = "coef")
    plot(fitSparseLTS, method = "crit")
    plot(fitSparseLTS, method = "diagnostic")

[Package robustHD version 0.7.2 Index]