Fits a logistic ridge regression model. Optionally, the ridge regression parameter is chosen automatically using the method proposed by Cule et al (2012).
logisticRidge(formula, data, lambda ="automatic", nPCs =NULL,scaling = c("corrForm","scale","none"),...)## S3 method for class 'ridgeLogistic'coef(object, all.coef =FALSE,...)## S3 method for class 'ridgeLogistic'plot(x, y =NULL,...)## S3 method for class 'ridgeLogistic'predict(object, newdata =NULL, type = c("link","response"), na.action = na.pass, all.coef =FALSE,...)## S3 method for class 'ridgeLogistic'print(x, all.coef =FALSE,...)## S3 method for class 'ridgeLogistic'summary(object, all.coef =FALSE,...)## S3 method for class 'summary.ridgeLogistic'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. 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 ridgeLogistic 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.
type: the type of prediction required. The default predictions are of log-odds (probabilities on logit scale) and type = "response" gives the predicted probabilities.
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 ridgeLogistic (for the print.ridgeLogistic and plot.ridgeLogistic functions) or an object of class summary.ridgeLogistic (for the print.summary.ridgeLogistic
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.
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.
Returns
An object of class "ridgeLogistic", with components: - automatic: 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 and degrees of freedom for variance.
Inter: Was in antercept included?
isScaled: Were the predictors scaled before the model was fitted?
lambda: The ridge regression parameter.
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.
And optionally the component - nPCs: The number of principal components used to compute the ridge regression parameter.
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]
Author(s)
Erika Cule
See Also
linearRidge
Examples
data(GenBin)mod <- logisticRidge(Phenotypes ~ ., data = as.data.frame(GenBin))summary(mod)