plr {stepPlr} | R Documentation |
Logistic regression with a quadratic penalization on the coefficients
Description
This function fits a logistic regression model penalizing the size of the L2 norm of the coefficients.
Usage
plr(x, y, weights = rep(1,length(y)),
offset.subset = NULL, offset.coefficients = NULL,
lambda = 1e-4, cp = "bic")
Arguments
x |
matrix of features |
y |
binary response |
weights |
optional vector of weights for observations |
offset.subset |
optional vector of indices for the predictors for which the
coefficients are preset to |
offset.coefficients |
optional vector of preset coefficient values for the predictors in
|
lambda |
regularization parameter for the L2 norm of the coefficients. The
minimizing criterion in |
cp |
complexity parameter to be used when computing the
score. |
Details
We proposed using logistic regression with a quadratic penalization on
the coefficients for detecting gene interactions as described in
"Penalized Logistic Regression for Detecting Gene Interactions (2008)"
by Park and Hastie. However, this function plr
may be used for
a general purpose.
Value
A plr
object is returned. predict, print,
and
summary
functions can be applied.
coefficients |
vector of the coefficient estimates |
covariance |
sandwich estimate of the covariance matrix for the coefficients |
deviance |
deviance of the fitted model |
null.deviance |
deviance of the null model |
df |
degrees of freedom of the fitted model |
score |
deviance + cp*df |
nobs |
number of observations |
cp |
complexity parameter used when computing the score |
fitted.values |
fitted probabilities |
linear.predictors |
linear predictors computed with the estimated coefficients |
level |
If any categorical factors are input, level - the list of level sets
- is automatically generated and returned. See |
Author(s)
Mee Young Park and Trevor Hastie
References
Mee Young Park and Trevor Hastie (2008) Penalized Logistic Regression for Detecting Gene Interactions
See Also
predict.plr, step.plr
Examples
n <- 100
p <- 10
x <- matrix(rnorm(n * p), nrow=n)
y <- sample(c(0, 1), n, replace=TRUE)
fit <- plr(x, y, lambda=1)
p <- 3
z <- matrix(sample(seq(3), n * p, replace=TRUE), nrow=n)
x <- data.frame(x1=factor(z[, 1]), x2=factor(z[, 2]), x3=factor(z[, 3]))
y <- sample(c(0, 1), n, replace=TRUE)
fit <- plr(x, y, lambda=1)
# 'level' is automatically generated. Check 'fit$level'.