A Python 3 Library for State-of-the-Art Statistical Dimension Reduction Methods
Project description
direpack
: a Python 3 library for state-of-the-art statistical dimension reduction techniques
This package delivers a scikit-learn
compatible Python 3 package for some state-of-the art multivariate statistical methods, with
a focus on dimension reduction.
The categories of methods delivered in this package, are:
- Projection pursuit dimension reduction (
ppdire
folder; cf. ppdire Documentation file and ppdire Examples Notebook) - Robust M-estimators for dimension reduction (
sprm
folder; cf. SPRM Documentation file and SPRM Examples Notebook)
The package also contains a set of tools for pre- and postprocessing:
- The
preprocessing
folder provides classical and robust centring and scaling, as well as spatial sign transforms [4] - The
dicomo
folder contains a versatile class to access a wide variety of moment and co-moment statistics, and statistics derived from those. Check out the dicomo Examples Notebook. - Plotting utilities in the
plot
folder - Cross-validation utilities in the
cross-validation
folder
Methods in the sprm
folder
- The estimator (
sprm.py
) [1] - The Sparse NIPALS (SNIPLS) estimator [3](
snipls.py
) - Robust M regression estimator (
rm.py
) - Ancillary functions for M-estimation (
_m_support_functions.py
)
Methods in the ppdire
folder
The ppdire
class will give access to a wide range of projection pursuit dimension reduction techniques.
These include slower approximate estimates for well-established methods such as PCA, PLS and continuum regression.
However, the class provides unique access to a set of robust options, such as robust continuum regression (RCR) [5], through its native grid
optimization algorithm, first
published for RCR as well [6]. Moreover, ppdire
is also a great gateway to calculate generalized betas, using the CAPI projection index [7].
The code is orghanized in
ppdire.py
- the main PP dimension reduction classcapi.py
- the co-moment analysis projection index.
How to install
The package is distributed through PyPI, so install through:
pip install direpack
Documentation
Detailed documentation on how to use the classes is provided in the docs
folder per class.
Examples
Jupyter Notebooks with Examples are provided for each of the classes in the examples
folder.
References
- Sparse partial robust M regression, Irene Hoffmann, Sven Serneels, Peter Filzmoser, Christophe Croux, Chemometrics and Intelligent Laboratory Systems, 149 (2015), 50-59.
- Partial robust M regression, Sven Serneels, Christophe Croux, Peter Filzmoser, Pierre J. Van Espen, Chemometrics and Intelligent Laboratory Systems, 79 (2005), 55-64.
- Sparse and robust PLS for binary classification, I. Hoffmann, P. Filzmoser, S. Serneels, K. Varmuza, Journal of Chemometrics, 30 (2016), 153-162.
- Spatial Sign Preprocessing: A Simple Way To Impart Moderate Robustness to Multivariate Estimators, Sven Serneels, Evert De Nolf, Pierre J. Van Espen, Journal of Chemical Information and Modeling, 46 (2006), 1402-1409.
- Robust Continuum Regression, Sven Serneels, Peter Filzmoser, Christophe Croux, Pierre J. Van Espen, Chemometrics and Intelligent Laboratory Systems, 76 (2005), 197-204.
- Robust Multivariate Methods: The Projection Pursuit Approach, Peter Filzmoser, Sven Serneels, Christophe Croux and Pierre J. Van Espen, in: From Data and Information Analysis to Knowledge Engineering, Spiliopoulou, M., Kruse, R., Borgelt, C., Nuernberger, A. and Gaul, W., eds., Springer Verlag, Berlin, Germany, 2006, pages 270--277.
- Projection pursuit based generalized betas accounting for higher order co-moment effects in financial market analysis, Sven Serneels, in: JSM Proceedings, Business and Economic Statistics Section. Alexandria, VA: American Statistical Association, 2019, 3009-3035.
Release Notes can be checked out in the repository.
A list of possible topics for further development is provided as well. Additions and comments are welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file direpack-0.9.0-py3-none-any.whl
.
File metadata
- Download URL: direpack-0.9.0-py3-none-any.whl
- Upload date:
- Size: 48.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b4c932284311fad64927f38b0229944262b234b0e3102addbe6265294400fb3 |
|
MD5 | a79ef7abcfff185a505426d3cd9cc13d |
|
BLAKE2b-256 | a4e7d2cc94f87f285a8e3f1b202cf3662f9a28a68a73fc9c857829e56399bdbe |