| ridge {perryExamples} | R Documentation |
Ridge regression with penalty parameter selection
Description
Fit ridge regression models and select the penalty parameter by estimating
the respective prediction error via (repeated) K-fold
cross-validation, (repeated) random splitting (also known as random
subsampling or Monte Carlo cross-validation), or the bootstrap.
Usage
ridge(
x,
y,
lambda,
standardize = TRUE,
intercept = TRUE,
splits = foldControl(),
cost = rmspe,
selectBest = c("hastie", "min"),
seFactor = 1,
ncores = 1,
cl = NULL,
seed = NULL,
...
)
ridge.fit(x, y, lambda, standardize = TRUE, intercept = TRUE, ...)
Arguments
x |
a numeric matrix containing the predictor variables. |
y |
a numeric vector containing the response variable. |
lambda |
a numeric vector of non-negative values to be used as penalty parameter. |
standardize |
a logical indicating whether the predictor variables
should be standardized to have unit variance (the default is |
intercept |
a logical indicating whether a constant term should be
included in the model (the default is |
splits |
an object giving data splits to be used for prediction error
estimation (see |
cost |
a cost function measuring prediction loss (see
|
selectBest, seFactor |
arguments specifying a criterion for selecting
the best model (see |
ncores, cl |
arguments for parallel computing (see
|
seed |
optional initial seed for the random number generator (see
|
... |
for |
Value
For ridge, an object of class "perryTuning", see
perryTuning). It contains information on the
prediction error criterion, and includes the final model with the optimal
tuning paramter as component finalModel.
For ridge.fit, an object of class ridge with the following
components:
lambdaa numeric vector containing the values of the penalty parameter.
coefficientsa numeric vector or matrix containing the coefficient estimates.
fitted.valuesa numeric vector or matrix containing the fitted values.
residualsa numeric vector or matrix containing the residuals.
standardizea logical indicating whether the predictor variables were standardized to have unit variance.
intercepta logical indicating whether the model includes a constant term.
muXa numeric vector containing the means of the predictors.
sigmaXa numeric vector containing the standard deviations of the predictors.
muYnumeric; the mean of the response.
callthe matched function call.
Author(s)
Andreas Alfons
References
Hoerl, A.E. and Kennard, R.W. (1970) Ridge regression: biased estimation for nonorthogonal problems. Technometrics, 12(1), 55–67.
See Also
Examples
## load data
data("Bundesliga")
Bundesliga <- Bundesliga[, -(1:2)]
f <- log(MarketValue) ~ Age + I(Age^2) + .
mf <- model.frame(f, data=Bundesliga)
x <- model.matrix(terms(mf), mf)[, -1]
y <- model.response(mf)
## set up repeated random splits
splits <- splitControl(m = 40, R = 10)
## select optimal penalty parameter
lambda <- seq(600, 0, length.out = 50)
fit <- ridge(x, y, lambda = lambda, splits = splits, seed = 2014)
fit
## plot prediction error results
plot(fit, method = "line")