One of the main functions in the hierNet package. Builds a logistic regression model with hierarchically constrained pairwise interactions. Required inputs are an x matrix of features (the columns are the features) and a y vector of values. Reasonably fast for moderate sized problems (100-200 variables). We are currently working on a alternate algorithm for large scale problems.
hierNet.logistic(x, y, lam, delta=1e-8, diagonal=TRUE, strong=FALSE, aa=NULL, zz=NULL,
center=TRUE, stand.main=TRUE, stand.int=FALSE,
rho=nrow(x), niter=100, sym.eps=1e-3,# ADMM params
step=1, maxiter=2000, backtrack=0.2, tol=1e-5, trace=1)
A matrix of predictors, where the rows are the samples and the columns are the predictors
A vector of observations, with values 0 or 1, where length(y) equals nrow(x)
Regularization parameter (>0). L1 penalty param is lam * (1-delta)
.
Elastic Net parameter. Squared L2 penalty param is lam * delta
. Not a tuning parameter: Think of as fixed and small. Default 1e-8.
Flag specifying whether to include "pure" quadratic terms, th_jjX_j^2, in the model. Default TRUE.
Flag specifying strong hierarchy (TRUE) or weak hierarchy (FALSE). Default FALSE
An *optional* argument, a list with results from a previous call
An *optional* argument, a matrix whose columns are products of features, computed by the function compute.interactions.c
Should features be centered? Default TRUE; FALSE should rarely be used. This option is available for special uses only
Should main effects be standardized? Default TRUE
Should interactions be standardized? Default FALSE
ADMM parameter: tuning parameter (>0) for ADMM. If there are convergence
problems, try decreasing rho
. Default n.
ADMM parameter: number of iterations
ADMM parameter Thresholding for symmetrizing with strong=TRUE
Stepsize for generalized gradient descent
Maximum number of iterations for generalized gradient descent
Backtrack parameter for generalized gradient descent
Error tolerance parameter for generalized gradient descent
Output option; trace=1 gives verbose output
Intercept
p-vector of estimated "positive part" main effect (p=#features)
p-vector of estimated "negative part" main effect; overall main effect estimated coefficients are bp-bn
Matrix of estimated interaction coefficients, of dimension p by p
Value of objective function at minimum.
Value of lambda used
Type of model fit- "gaussian" or "logistic" (binomial)
p-vector of column means of x
Mean of y
p-vector of column standard deviations of x
column means of feature product matrix
The call to hierNet
Bien, J., Taylor, J., Tibshirani, R., (2013) "A Lasso for Hierarchical Interactions." Annals of Statistics. 41(3). 1111-1141.
predict.hierNet.logistic,linkhierNet.logistic.path
# NOT RUN {
set.seed(12)
x=matrix(rnorm(100*10),ncol=10)
x=scale(x,TRUE,TRUE)
y=x[,1]+2*x[,2]+ x[,1]*x[,2]+3*rnorm(100)
y=1*(y>0)
fit=hierNet.logistic(x,y,lam=5)
print(fit)
# }
Run the code above in your browser using DataLab