orthoDr: Semiparametric Dimension Reduction via Orthogonality Constrained Optimization

Abstract:

orthoDr is a package in R that solves dimension reduction problems using orthogonality constrained optimization approach. The package serves as a unified framework for many regression and survival analysis dimension reduction models that utilize semiparametric estimating equations. The main computational machinery of orthoDr is a first-order algorithm developed by Wen and Yin (2012) for optimization within the Stiefel manifold. We implement the algorithm through Rcpp and OpenMP for fast computation. In addition, we developed a general-purpose solver for such constrained problems with user-specified objective functions, which works as a drop-in version of optim(). The package also serves as a platform for future methodology developments along this line of work.

Cite PDF Tweet

Published

July 29, 2019

Received

Sep 8, 2018

DOI

10.32614/RJ-2019-006

Volume

Pages

11/2

24 - 37

Supplementary materials

Supplementary materials are available in addition to this article. It can be downloaded at RJ-2019-006.zip

CRAN packages used

orthoDr, Rcpp, RcppArmadillo, ManifoldOpthm

CRAN Task Views implied by cited packages

NumericalMathematics, HighPerformanceComputing

Footnotes

    Reuse

    Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

    Citation

    For attribution, please cite this work as

    Zhu, et al., "The R Journal: orthoDr: Semiparametric Dimension Reduction via Orthogonality Constrained Optimization", The R Journal, 2019

    BibTeX citation

    @article{RJ-2019-006,
      author = {Zhu, Ruoqing and Zhang, Jiyang and Zhao, Ruilin and Xu, Peng and Zhou, Wenzhuo and Zhang, Xin},
      title = {The R Journal: orthoDr: Semiparametric Dimension Reduction via Orthogonality Constrained Optimization},
      journal = {The R Journal},
      year = {2019},
      note = {https://doi.org/10.32614/RJ-2019-006},
      doi = {10.32614/RJ-2019-006},
      volume = {11},
      issue = {2},
      issn = {2073-4859},
      pages = {24-37}
    }