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")

3.1.2 by Marc A. Suchard, 2 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] , Eric Kawaguchi [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 rlang, Matrix, Rcpp, Andromeda, dplyr, methods, survival, bit64

Suggests testthat, MASS, gnm, ggplot2, microbenchmark, cmprsk

Linking to Rcpp, BH, RcppEigen


Imported by EvidenceSynthesis.


See at CRAN