Cross validation for the ridge regression {Compositional}R Documentation

Cross validation for the ridge regression

Description

Cross validation for the ridge regression is performed. There is an option for the GCV criterion which is automatic.

Usage

ridge.tune(y, x, nfolds = 10, lambda = seq(0, 2, by = 0.1), folds = NULL,
ncores = 1, seed = NULL, graph = FALSE)

Arguments

y

A numeric vector containing the values of the target variable. If the values are proportions or percentages, i.e. strictly within 0 and 1 they are mapped into R using the logit transformation.

x

A numeric matrix containing the variables.

nfolds

The number of folds in the cross validation.

lambda

A vector with the a grid of values of \lambda to be used.

folds

If you have the list with the folds supply it here. You can also leave it NULL and it will create folds.

ncores

The number of cores to use. If it is more than 1 parallel computing is performed.

seed

You can specify your own seed number here or leave it NULL.

graph

If graph is set to TRUE the performances for each fold as a function of the \lambda values will appear.

Details

A k-fold cross validation is performed. This function is used by alfaridge.tune.

Value

A list including:

msp

The performance of the ridge regression for every fold.

mspe

The values of the mean prediction error for each value of \lambda.

lambda

The value of \lambda which corresponds to the minimum MSPE.

performance

The minimum MSPE.

runtime

The time required by the cross-validation procedure.

Author(s)

Michail Tsagris.

R implementation and documentation: Giorgos Athineou <gioathineou@gmail.com> and Michail Tsagris mtsagris@uoc.gr.

References

Hoerl A.E. and R.W. Kennard (1970). Ridge regression: Biased estimation for nonorthogonal problems. Technometrics, 12(1):55-67.

Brown P. J. (1994). Measurement, Regression and Calibration. Oxford Science Publications.

See Also

ridge.reg, alfaridge.tune

Examples

y <- as.vector(iris[, 1])
x <- as.matrix(iris[, 2:4])
ridge.tune( y, x, nfolds = 10, lambda = seq(0, 2, by = 0.1), graph = TRUE )

[Package Compositional version 6.8 Index]