Learn R Programming

ridge (version 3.3)

linearRidge: Linear ridge regression.

Description

Fits a linear ridge regression model. Optionally, the ridge regression parameter is chosen automatically using the method proposed by Cule et al (2012).

Usage

linearRidge(formula, data, lambda = "automatic", nPCs = NULL,
scaling = c("corrForm", "scale", "none"), ...)

# S3 method for ridgeLinear coef(object, all.coef = FALSE, ...)

# S3 method for ridgeLinear plot(x, y = NULL, ...)

# S3 method for ridgeLinear predict(object, newdata, na.action = na.pass, all.coef = FALSE, ...)

# S3 method for ridgeLinear print(x, all.coef = FALSE, ...)

# S3 method for ridgeLinear summary(object, all.coef = FALSE, ...)

# S3 method for summary.ridgeLinear print(x, digits = max(3, getOption("digits") - 3), signif.stars = getOption("show.signif.stars"), ...)

Arguments

formula

a formula expression as for regression models, of the form response ~ predictors. See the documentation of formula for other details.

data

an optional data frame in which to interpret the variables occuring in formula.

lambda

A ridge regression parameter. May be a vector. If lambda is "automatic" (the default), then the ridge parameter is chosen automatically using the method of Cule et al (2012).

nPCs

The number of principal components to use to choose the ridge regression parameter, following the method of Cule et al (2012). It is not possible to specify both lambda and nPCs.

scaling

The method to be used to scale the predictors. One of "corrform"(the default) scales the predictors to correlation form, such that the correlation matrix has unit diagonal. "scale"Standardizes the predictors to have mean zero and unit variance. "none"No scaling.

object

A ridgeLinear object, typically generated by a call to linearRidge.

newdata

An optional data frame in which to look for variables with which to predict. If omitted, the fitted values are used.

na.action

function determining what should be done with missing values in newdata. The default is to predict NA.

all.coef

Logical. Should results be returned for all ridge regression penalty parameters (all.coef = TRUE), or only for the ridge parameter chosen automatically using the method of Cule et al?

x

An object of class ridgeLinear (for the print.ridgeLinear and plot.ridgeLinear functions) or an object of class summary.ridgeLinear (for the print.summary.ridgeLinear function)

y

Dummy argument for compatibility with the default plot method. Ignored.

digits

minimum number of significant digits to be used for most numbers

signif.stars

logical; if TRUE, P-values are additionally encoded visually as significance stars in order to help scanning of long coefficient tables. It defaults to the show.signif.stars slot of options.

Additional arguments to be passed to or from other methods.

Value

An object of class "ridgeLinear", with components:

automatic

Logical. Was lambda chosen automatically?

call

The matched call.

coef

A named vector of fitted coefficients.

df

A vector of degrees of freedom of the model fit, degrees of freedom for variance, and residual degrees of freedom of the fitted model.

Inter

Was an intercept included?

isScaled

Were the predictors scaled before the model was fitted?

lambda

The ridge regression parameter(s).

scales

The scales used to standardize the predictors.

terms

The terms object used.

x

The scaled predictor matrix.

xm

A vector of means of the predictors.

y

The response.

ym

The mean of the response.

And optionally the components

max.nPCs

The maximum number of principal components for which a ridge regression parameter was computed.

chosen.nPCs

The number of principal components used to compute the ridge parameter.

Details

If an intercept is present in the model, its coefficient is not penalised. If you want to penalise an intercept, put in your own constant term and remove the intercept.

References

A semi-automatic method to guide the choice of ridge parameter in ridge regression. Cule, E. and De Iorio, M. (2012) arXiv:1205.0686v1 [stat.AP]

See Also

logisticRidge

Examples

Run this code
# NOT RUN {
data(GenCont)
mod <- linearRidge(Phenotypes ~ ., data = as.data.frame(GenCont))
summary(mod)
# }

Run the code above in your browser using DataLab