Metadata-Version: 2.4
Name: scikit-extremes
Version: 0.1.0
Summary: Sparse Structures for Multivariate Extremes
Author-email: kuslavicek <kuslavicek@gmail.com>
License: MIT License
        
        Copyright (c) 2026 kuslavicek
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/kuslavicek/scikit-extremes
Project-URL: Bug Tracker, https://github.com/kuslavicek/scikit-extremes/issues
Keywords: extremes,statistics,multivariate,sparse
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: check-manifest; extra == "dev"
Dynamic: license-file

# scikit-extremes

**Sparse Structures for Multivariate Extremes**

## Summary

**Core Concept:**

The package `scikit-extremes` is for sparse multivariate extreme value analysis, structure learning, and robust spectral measure estimation 

**Key Approaches:**
1.  **Unsupervised Learning for Extremes:** Adapting clustering and PCA specifically for the geometry of "extremal angles".
2.  **Extremal Graphical Models:** Constructing graphs where nodes are variables and edges represent "extremal dependence".
3.  **Concomitant Extremes:** Automatically detecting subgroups of variables likely to be extreme at the same time.

## Installation

```bash
pip install scikit-extremes
```

For development:

```bash
git clone https://github.com/yourusername/scikit-extremes.git
cd scikit-extremes
pip install -e .
```

## Features

**A. Data Preprocessing & Marginal Transformation**
*   `to_unit_pareto`: Transform arbitrary data to standard Unit Pareto scale.
*   `threshold_selection`: Tools for selecting the threshold $u$.

**B. Empirical Estimation**
*   `SpectralMeasureEstimator`: Fit the empirical spectral measure using Maximum Empirical Likelihood Estimation (MELE).
*   `ExtremalCoefficient`: Compute $\chi$ and $\eta$ coefficients.

**C. Unsupervised Learning for Extremes**
*   `ExtremalClustering`: Spherical K-Means for extremal angles.
*   `ExtremalPCA`: Dimensionality reduction for extremal angles.

**D. Extremal Graphical Models**
*   `HuslerReissGraph`: Estimate the Hüsler-Reiss variogram matrix and infer graph structure.

## Usage

(Example usage would go here - refer to documentation for details)

## Requirements

*   **CPU:** Modern dual-core processor.
*   **RAM:** 8 GB+ recommended.
*   **Python:** 3.8+
*   **Dependencies:** `numpy`, `scipy`


## References

This project incorporates research from the following papers:

- **Maximum empirical likelihood estimation of the spectral measure of an extreme-value distribution**
  John H. J. Einmahl, Johan Segers
  *arXiv:0812.3485*

- **Sparse Structures for Multivariate Extremes**
  Sebastian Engelke, Jevgenijs Ivanovs
  *arXiv:2004.12182*
