Cyclic Coordinate Descent for Logistic, Poisson and Survival Analysis

This model fitting tool incorporates cyclic coordinate descent and majorization-minimization approaches to fit a variety of regression models found in large-scale observational healthcare data. Implementations focus on computational optimization and fine-scale parallelization to yield efficient inference in massive datasets. Please see: Suchard, Simpson, Zorych, Ryan and Madigan (2013) .


Build Status codecov.io CRAN_Status_Badge CRAN_Status_Badge

Cyclops is part of the OHDSI Methods Library.

Introduction

Cyclops (Cyclic coordinate descent for logistic, Poisson and survival analysis) is an R package for performing large scale regularized regressions.

Features

  • Regression of very large problems: up to millions of observations, millions of variables
  • Supports (conditional) logistic regression, (conditional) Poisson regression, as well as (conditional) Cox regression
  • Uses a sparse representation of the independent variables when appropriate
  • Supports using no prior, a normal prior or a Laplace prior
  • Supports automatic selection of hyperparameter through cross-validation
  • Efficient estimation of confidence intervals for a single variable using a profile-likelihood for that variable

Examples

  library(Cyclops)
  cyclopsData <- createCyclopsDataFrame(formula)
  cyclopsFit <- fitCyclopsModel(cyclopsData)

Technology

Cyclops in an R package, with most functionality implemented in C++. Cyclops uses cyclic coordinate descent to optimize the likelihood function, which makes use of the sparse nature of the data.

System Requirements

Requires R (version 3.1.0 or higher). Compilation on Windows requires RTools >= 3.4.

Installation

In R, to install the latest stable version, install from CRAN:

install.packages("Cyclops")

To install the latest development version, install from GitHub. Note that this will require RTools to be installed.

install.packages("devtools")
devtools::install_github("ohdsi/Cyclops")

User Documentation

Support

License

Cyclops is licensed under Apache License 2.0. Cyclops contains the TinyThread libray.

The TinyThread library is licensed under the zlib/libpng license as described here.

Development

Cyclops is being developed in R Studio.

Beta

Acknowledgements

  • This project is supported in part through the National Science Foundation grants IIS 1251151 and DMS 1264153.

News

Cyclops v2.0.2

Changes:

  1. use RNGversion("3.5.0") in unit-tests to reproduce old RNG behavior
  2. fix prior-type checks when specifying multiple types

Cyclops 2.0.1

Changes:

  1. patch two memory leaks in ModelData.cpp and ModelSpecifics.hpp

Cyclops 2.0.0

Changes:

  1. simplify internal transformation-reductions loops
  2. implemented non-negative weights
  3. allow for run-time selection of 32-/64-bit reals
  4. remove dependence on GNUmake
  5. temporarily remove dependence on RcppParallel (until TBB is again R-compliant)

Cyclops 1.3.4

Changes:

  1. fix undeclared dependencies in unit-tests: MASS and microbenchmarks
  2. fix issues with ATLAS compilation
  3. add contexts to testthat files
  4. fix ASAN errors in AbstractModelSpecifics

Cyclops 1.3.3

Changes:

  1. fix testthat expected error message

Cyclops 1.3.2

Changes:

  1. explicitly includes <complex> header, needed for R 3.5 builds
  2. remove pragma statements used to quiet RcppEigen and RcppParallel

Cyclops 1.3.1

Changes:

  1. fixes covariate indices returned from .checkCovariates when excluding covariates from regularization

Cyclops 1.3.0

Changes:

  1. implements specialized priors through callbacks for use, for example, in the BrokenAdaptiveRidge package to provide L0-based model selection
  2. implements specialized control through callbacks for use, for example, auto-and-grid-based cross-validation hyperparameter searches
  3. removes src/boost that clashes with BH 1.65.0

Cyclops 1.2.3

Changes:

  1. fixed predict error with ff.data.frame with size == 0

Cyclops 1.2.2

Changes:

  1. fixed solaris build errors
  2. added compatibility for C++14 (make_unique)
  3. fixed multiple ASan warnings

Cyclops 1.2.0

Changes: initial submission to CRAN

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("Cyclops")

2.0.2 by Marc A. Suchard, 8 months ago


https://github.com/ohdsi/cyclops


Report a bug at https://github.com/ohdsi/cyclops/issues


Browse source code at https://github.com/cran/Cyclops


Authors: Marc A. Suchard [aut, cre] , Martijn J. Schuemie [aut] , Trevor R. Shaddox [aut] , Yuxi Tian [aut] , Jianxiao Yang [aut] , Sushil Mittal [ctb] , Observational Health Data Sciences and Informatics [cph] , Marcus Geelnard [cph, ctb] (provided the TinyThread library) , Rutgers University [cph, ctb] (provided the HParSearch routine) , R Development Core Team [cph, ctb] (provided the ZeroIn routine)


Documentation:   PDF Manual  


Task views: Survival Analysis


Apache License 2.0 license


Imports Matrix, Rcpp, bit, ff, ffbase, methods, survival, MASS

Suggests testthat, gnm, ggplot2, microbenchmark

Linking to Rcpp, BH, RcppEigen


See at CRAN