An Introduction to Envelopes:
Dimension reduction for efficient estimation in multivariate statistics
by R. D. Cook
Errata (none yet)
- This page provides links to computer programs that
implement the envelope methods described in this book.
Links to some new methods are also
given. The first section addresses envelope methodology, the second is on
general algorithms for manifold optimization and the final section covers
computing for sufficient dimension reduction. Last updated 13 January 2020.
envlp is a Matlab toolbox for fitting envelopes in multivariate linear regression. Based on Ross Lippert's sg_min toolbox for optimizing over Stiefel and Grassmann manifolds, it covers many methods, including response, partial, predictor, inner, scaled and heteroscedastic envelopes, along with associated inference methods. (Cook, Su and Yang, 2015)
is an R package by Minji Lee and Zhihua Su for fitting many types of
envelopes. Except for inner envelopes,
it has all of the capabilities of envlp
plus many more, including weighted envelopes, envelopes in
logistic and Poisson regression, simultaneous envelopes, groupwise
envelopes and scaled predictor envelopes. It has also
many inference tools plus a routine for fitting that does not presume
- Renvlp is based on targeted routines rather than on a general purpose method for Grassmann fitting. In consequence it is less prone to get caught in local minima. Renvlp and envlp can give slightly different answers because they are based on different computing engines.
- MatrixEnv is an R package for fitting matrix envelopes in matrix-valued linear regression. This link takes you to Shanshan Ding's page where zip files with the code can be downloaded. This methodology was developed by Ding and Cook (2017).
Simultaneous, Reduced Rank and Tensor Envelopes
- Matlab packages for these three envelope types are maintained by Xin
(Henry) Zhang at his homepage. He also
has Matlab code for fitting the 1D algorithm,
ECD and ECS algorithms.
- Henry Zhang and his students have also created an R pagkage TRES for envelope estimation with special emphasis on tensor envelope methods. The package also includes generic envelope estimation and an implementation of the model-free dimension selection method developed by Zhang and Mai (2018).
Rekabdarkolaee, Wang, Naji and Fluentes introduced spatial envelopes for the study of spatial data while allowing for dependencies across space. R code for their spatial envelope method, which is to appear in Statistica Sinica, is available here.
Sparse Envelopes, Envelope-based Sparse Partial Least Squares
- spenvlp is an R package that implements sparse envelopes, envelope-based partial least squares and envelope-based sparse partial least squares. It was provided by Zhihua Su and written by Guangyu Zhu. The package implements recent results by Zhu and Su that are to appear in the Annals of Statistics. A preprint is available in the Future Papers section of the Annals' webpage.
Wang and Wu (2018) developed functional envelopes for sufficient
dimension reduction, including regressions involving functional or
longitudinal data. A basic MatLab toolbox, PACE written by Chong Wang, was provided by Henry
Zhang. Background on the functional analysis part of the code, including references and examples, is
Khare, Pal and
Su (2017) developed a Bayesian version of envelopes for the
multivariate linear model. A manifold-based R package,
BENV, written by Subhadip Pal is available to implement their
methodology. A faster non-manifold version is under development by
Saptarshi Chakarborty et al.
Envelope Quantile Regression
Zhu and Wang (2019) extended envelope methodology to quantile
regression. An R package, envqr,
that implements envelope quantile
regression was written by Guangyu Zhu, and furnished
by Shanshan Ding. Their paper, Envelope Quantile Regression, is
available as a Forthcoming Paper from Statistica Sinica.
Clustering with Envelopes
Wang, Zhang, and Mai
(2020) developed envelope-based mixture models for improved clustering
by projecting onto
low-dimensional latent spaces. Their approach also provides
foundations for envelope
methods in unsupervised and semi-supervised settings.
An R package for their method, called CLEMM, is
Nonlinearlty and Heteroscedasticity
Envelopes were recently extended to multi-response regression models
with nonlinearity and heteroscedasticity by Zhang, Li and Shao
(2020). Their development makes use of the martingale difference
divergence matrix (Lee and Shao, 2018) and it introduces the concept
of the Central Mean Envelope. A preprint of their paper, which is to
appear in Biometrika, and a MatLab toolbox which implements
their method are available
from Zhang's webpage
Riemannian Manifold Optimization
- ManifoldOptim is an R interface to the ROPTLIB library for Riemannian Manifold Optimization. Illustrations of using this environment to fit envelopes are given in an associated paper by Martin, Raim, Huang and Adragni (2016).
Grassmann Manifold Optimization
- GrassmannOptim is an R package for Grassmann manifold optimization developed by Adragni, Cook and Wu, (2012)
Computing for Sufficient Dimension Reduction
- dr is an R package by Sandy Weisberg that implements basic SDR methodology like SIR, SAVE, pHd applied to the responses or residuals, and IRE. (Weisberg, 2002)
- LDR is a MatLab toolbox for likelihood-based sufficient dimension reduction (Cook, Forzani, Tomassi, 2011). It includes routines for computing principal components, principal fitted components (PFC) along with various extensions, covariance reductions (CORE) and likelihood aquired directions (LAD).
- Written by Kofi Adragni and Andrew Raim, ldr is an R counterpart of LDR. It provides R implementations of PFC and its extensions, CORE and LAD. It also implements a variable screening procedure based on PFC. (Adragni and Raim, 2014)
Matrix-valued Predictors and Tensor Sliced Inverse Regression
- Dfpfc is an R package that performs dimension folding PCA and PCF for regressions with matrix-valued predictors (Ding and Cook 2014).
High-dimensional Principal Fitted Components and Abundant Regression
- Abundant is an R package written by Adam Rothman for fitting high-dimensional PFCs and abundant regressions.
Sufficient Dimension Reduction: Methods and applications with R
- This 2018 book by Bing Li contains descriptions of many SDR methods, along with