Skip to content

Commit

Permalink
Version 3.1-0
Browse files Browse the repository at this point in the history
  • Loading branch information
pbreheny committed May 18, 2017
1 parent de1fa6c commit d0b4024
Show file tree
Hide file tree
Showing 13 changed files with 27 additions and 41 deletions.
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package: grpreg
Title: Regularization Paths for Regression Models with Grouped Covariates
Version: 3.1-0
Date: 2017-01-15
Date: 2017-05-18
Author: Patrick Breheny [aut, cre], Yaohui Zeng [ctb]
Maintainer: Patrick Breheny <patrick-breheny@uiowa.edu>
Depends: R (>= 3.1.0), Matrix
Expand Down
7 changes: 4 additions & 3 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
3.1-0 ()
3.1-0 (2017-05-18)
* New: Additional tests and support for coersion of various types with
respect to both X and y
* Internal: new SSR-BEDPP feature screening rule for group lasso
* Change: Convergence criterion now based on RMSD of linear predictors
* Change: 'Lung' and 'Birthwt' data sets now use factor representation of
group, as character vectors are inherently ambiguous with respect to order
* Change: max.iter now based on total number of iterations for entire path
* Internal: 'X', 'group', and 'group.multiplier' now bundled together in an
object called 'XG' to enforce agreement at all times
* Fixed:
* Internal: new SSR-BEDPP feature screening rule for group lasso
* Internal: Registration of native routines
* Internal: Changing PROTECT/UNPROTECT to conform to new coding standards
* Fixed: The binding of X and G fixes several potential bugs, including
Issue #12 (GitHub)

3.0-2
* Fixed bug involving mismatch between group.multiplier and group if
Expand Down
3 changes: 0 additions & 3 deletions inst/tests/agreement.R
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
##source("~/dev/.grpreg.setup.R")
#require(grpreg)

#################################
.test = "gel reproduces lasso" ##
#################################
Expand Down
2 changes: 0 additions & 2 deletions inst/tests/basic-functionality.R
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#source("~/dev/.grpreg.setup.R")

.test = "grpreg() reproduces simple linear regression"
n <- 5
p <- 1
Expand Down
1 change: 0 additions & 1 deletion inst/tests/coerce.R
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,3 @@ fit3 <- grpreg(X, y, group=g3, family="binomial")
check(coef(fit1, which=50), coef(fit2, which=50), tol=0.001)
check(coef(fit2, which=50), coef(fit3, which=50), tol=0.001)
check(coef(fit1, which=50), coef(fit3, which=50), tol=0.001)
# check(names(coef(fit1))=="TEST ME") # Do I have good tests for constant columns?
2 changes: 0 additions & 2 deletions inst/tests/extra-features.R
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
set.seed(1)

.test = "logLik is correct"
n <- 50
group <- rep(0:4,5:1)
Expand Down
2 changes: 0 additions & 2 deletions inst/tests/grpsurv.R
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
set.seed(1)

.test = "grpsurv works"
y <- survival::Surv(rexp(50), sample(rep(0:1, c(10,40))))
X <- matrix(rnorm(50*6), 50, 6)
Expand Down
1 change: 0 additions & 1 deletion inst/tests/multitask.R
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
set.seed(1)
n <- 100
p <- 5

Expand Down
1 change: 0 additions & 1 deletion inst/tests/standardization-orthogonalization.R
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
set.seed(1)
n <- 20
p <- 5
l <- 5
Expand Down
2 changes: 1 addition & 1 deletion man/Lung.Rd
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ data(Lung)
0.}
}
}
\source{\url{http://CRAN.R-project.org/package=survival}}
\source{\url{https://cran.r-project.org/package=survival}}
\references{
\itemize{
\item Kalbfleisch D and Prentice RL (1980), \emph{The Statistical
Expand Down
37 changes: 19 additions & 18 deletions man/grpreg.Rd
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,20 @@ tau = 1/3, group.multiplier, warn=TRUE, returnX = FALSE, ...)
computes a grid of lambda values that ranges uniformly on the log
scale over the relevant range of lambda values.}
\item{lambda.min}{The smallest value for \code{lambda}, as a fraction
of \code{lambda.max}. Default is .0001 if the number of observations
is larger than the number of covariates and .05 otherwise.}
\item{log.lambda}{Whether compute the grid values of lambda on log scale (default)
or linear scale.}
of \code{lambda.max}. Default is .0001 if the number of
observations is larger than the number of covariates and .05
otherwise.}
\item{log.lambda}{Whether compute the grid values of lambda on log
scale (default) or linear scale.}
\item{alpha}{\code{grpreg} allows for both a group penalty and an L2
(ridge) penalty; \code{alpha} controls the proportional weight of
the regularization parameters of these two penalties. The group
penalties' regularization parameter is \code{lambda*alpha}, while
the regularization parameter of the ridge penalty is
\code{lambda*(1-alpha)}. Default is 1: no ridge penalty.}
\item{eps}{Convergence threshhold. The algorithm iterates until the
change (on the standardized scale) in any coefficient is less than
\code{eps}. Default is \code{.001}. See details.}
RMSD for the change in linear predictors for each coefficient is
less than \code{eps}. Default is \code{1e-4}. See details.}
\item{max.iter}{Maximum number of iterations (total across entire
path). Default is 10000. See details.}
\item{dfmax}{Limit on the number of parameters allowed to be nonzero.
Expand Down Expand Up @@ -76,16 +77,16 @@ tau = 1/3, group.multiplier, warn=TRUE, returnX = FALSE, ...)
\details{
There are two general classes of methods involving grouped penalties:
those that carry out bi-level selection and those that carry out group
selection. Bi-level means carrying out variable selection at the group
level as well as the level of individual covariates (i.e., selecting
important groups as well as important members of those groups). Group
selection selects important groups, and not members within the group --
i.e., within a group, coefficients will either all be zero or all
nonzero. The \code{grLasso}, \code{grMCP}, and \code{grSCAD}
penalties carry out group selection, while the \code{gel} and
\code{cMCP} penalties carry out bi-level selection. For bi-level
selection, see also the \code{\link{gBridge}} function. For
historical reasons and backwards compatibility, some of these
selection. Bi-level means carrying out variable selection at the
group level as well as the level of individual covariates (i.e.,
selecting important groups as well as important members of those
groups). Group selection selects important groups, and not members
within the group -- i.e., within a group, coefficients will either all
be zero or all nonzero. The \code{grLasso}, \code{grMCP}, and
\code{grSCAD} penalties carry out group selection, while the
\code{gel} and \code{cMCP} penalties carry out bi-level selection.
For bi-level selection, see also the \code{\link{gBridge}} function.
For historical reasons and backwards compatibility, some of these
penalties have aliases; e.g., \code{gLasso} will do the same thing as
\code{grLasso}, but users are encouraged to use \code{grLasso}.
Expand Down Expand Up @@ -166,8 +167,8 @@ tau = 1/3, group.multiplier, warn=TRUE, returnX = FALSE, ...)
\item{lambda}{The sequence of \code{lambda} values in the path.}
\item{alpha}{Same as above.}
\item{loss}{A vector containing either the residual sum of squares
(\code{"gaussian"}) or negative log-likelihood (\code{"binomial"}) of
the fitted model at each value of \code{lambda}.}
(\code{"gaussian"}) or negative log-likelihood (\code{"binomial"})
of the fitted model at each value of \code{lambda}.}
\item{n}{Number of observations.}
\item{penalty}{Same as above.}
\item{df}{A vector of length \code{nlambda} containing estimates of
Expand Down
4 changes: 2 additions & 2 deletions man/grpsurv.Rd
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ group.multiplier, warn=TRUE, returnX=FALSE, ...)
a sequence of values of length \code{nlambda} is computed
automatically, equally spaced on the log scale.}
\item{eps}{Convergence threshhold. The algorithm iterates until the
relative change in any coefficient is less than \code{eps}. Default
is \code{.001}.}
RMSD for the change in linear predictors for each coefficient is
less than \code{eps}. Default is \code{0.001}.}
\item{max.iter}{Maximum number of iterations (total across entire
path). Default is 10000.}
\item{dfmax}{Limit on the number of parameters allowed to be nonzero.
Expand Down
4 changes: 0 additions & 4 deletions src/gdfit_gaussian.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,6 @@ void bedpp_glasso(int *e3, double *yTxxTv1, double *xTv1_sq, double *xTy_sq,
e3[g] = 0; // reject
}

// debug
// Rprintf("\t K[%d]: %d;\t Reject: %d;\t LHS_temp[%d]: %f;\t LHS[%d]: %f;\t RHS[%d]: %f;\t yTxxTv1[%d]: %f;\t xTv1_sq[%d]: %f;\t xTy_sq[%d]: %f\n",
// g, K[g], e3[g], g, LHS_temp, g, LHS, g, RHS, g, yTxxTv1[g], g, xTv1_sq[g], g, xTy_sq[g]);

}
}

Expand Down

0 comments on commit d0b4024

Please sign in to comment.