broom (version 0.4.1)

ridgelm_tidiers: Tidying methods for ridgelm objects from the MASS package

Description

These methods tidies the coefficients of a ridge regression model chosen at each value of lambda into a data frame, or constructs a one-row glance of the model's choices of lambda (the ridge constant)

Usage

"tidy"(x, ...)
"glance"(x, ...)

Arguments

x
An object of class "ridgelm"
...
extra arguments (not used)

Value

All tidying methods return a data.frame without rownames, whose structure depends on the method chosen.tidy.ridgelm returns one row for each combination of choice of lambda and term in the formula, with columns:
lambda
choice of lambda
GCV
generalized cross validation value for this lambda
term
the term in the ridge regression model being estimated
estimate
estimate of scaled coefficient using this lambda
scale
Scaling factor of estimated coefficient
glance.ridgelm returns a one-row data.frame with the columns
kHKB
modified HKB estimate of the ridge constant
kLW
modified L-W estimate of the ridge constant
lambdaGCV
choice of lambda that minimizes GCV
This is similar to the output of select.ridgelm, but it is returned rather than printed.

Examples

Run this code

names(longley)[1] <- "y"
fit1 <- MASS::lm.ridge(y ~ ., longley)
tidy(fit1)

fit2 <- MASS::lm.ridge(y ~ ., longley, lambda = seq(0.001, .05, .001))
td2 <- tidy(fit2)
g2 <- glance(fit2)

# coefficient plot
library(ggplot2)
ggplot(td2, aes(lambda, estimate, color = term)) + geom_line()

# GCV plot
ggplot(td2, aes(lambda, GCV)) + geom_line()

# add line for the GCV minimizing estimate
ggplot(td2, aes(lambda, GCV)) + geom_line() +
    geom_vline(xintercept = g2$lambdaGCV, col = "red", lty = 2)

Run the code above in your browser using DataCamp Workspace