This is the PCM MATLAB package for perspective M-estimation. The package introduces an optimization model for maximum likelihood-type estimation (M-estimation) that generalizes a large class of known statistical models, including Huber’s concomitant M-estimation model, the scaled Lasso, ν-Support Vector Machine Regression, and penalized estimation with structured sparsity. The model, termed perspective M-estimation, leverages the observation that a wide class of convex M-estimators with concomitant scale as well as structured norms are instances of perspective functions.
The code builds on results from the following papers:
- [1] P. L. Combettes and C. L. Müller, Perspective functions: Proximal calculus and applications in high-dimensional statistics, J. Math. Anal. Appl., vol. 457, no. 2, pp. 1283–1306, 2018.
- [2] P. L. Combettes and C. L. Müller, Perspective M-estimation via proximal decomposition, Electronic Journal of Statistics, 2020, Journal version
- [3] P. L. Combettes and C. L. Müller, Regression models for compositional data: General log-contrast formulations, proximal optimization, and microbiome data applications, arXiv, 2019.
Developer:
- Christian L. Müller, Center for Computational Mathematics, Flatiron Institute, Simons Foundation ([email protected])
The PCM package is self-contained. No external software needed. However, for testing the code base we rely on the cvx package.
After downloading the PCM package, use
% This will add the folders to your MATLAB path
add_pcm
to add all subfolders to your MATLAB path.
The PCM package comprises the following folders that contain different functions and scripts:
-
The examples/ folder contains several test cases about the different modes of usage. Please refer to the README.md in the folder for further information.
-
The prox/ folder implements projection and proximity operators for several perspective functions and standard regularization functions and set indicators.
-
The solvers/ folder implements a generalized Douglas-Rachford scheme for perspective M-estimations. The function pcmC2.m is the current standard solver.
-
The sqrtlasso-solver/ folder implements coordinate descent solvers for the SQRT-Lasso and the scaled Lasso that solves a specific variant of the perspective M-estimation with the square-loss.
-
The misc/ folder comprises several helper routines and functions for data transformation and analysis.
In examples/LogContrastModels/ we provide all numerical examples used in Regression models for compositional data: General log-contrast formulations, proximal optimization, and microbiome data applications.
There, we consider the special but important case of estimating a linear log-contrast model for compositional covariates X where each of the n rows comprises p-dimensional compositions (or relative abundances) and n continuous outcome variables Y that can also contain outliers o (in form of a (sparse) mean shift). The generative model thus reads:
The folder comprises code and data for reproducing the numerical experiments in [3].