Skip to main content

Some utilities to perform Extreme Value Analysis

Project description

Readthedocs Status PyPI version Python Versions License Downloads Maintenance Build Status codecov

Welcome to xtremes!

xtremes is a Python library designed for extreme value analysis, with tools for simulating time series, extracting block maxima, and performing advanced statistical operations, such as bootstrapping estimators for extreme value distributions. It was created as part of the ClimXtreme project and aims to provide supplementary code and simulations for related work.

Key Features:

  • Simulates time series for extreme value distributions (GEV, Frechet, etc.).
  • Extracts Disjoint and Sliding Block Maxima.
  • Extracts Disjoint and Sliding Block High Order Statistics.
  • Provides robust bootstrapping tools for extreme value statistics.
  • Supports advanced MLE and PWM estimation for extreme value distributions.

Submodules:

  • topt: Contains functions and classes to compute block maxima, high-order statistics, and perform extreme value analysis.
  • bootstrap: Provides methods for bootstrapping block maxima and sliding block maxima, with support for both Disjoint and Sliding Block Maxima methods.

Installation:

   (.venv) $ pip install xtremes

You can also view the package on PyPi at https://pypi.org/project/xtremes/.

Getting Started:

  1. Install the package via pip:

    (.venv) $ pip install xtremes
    
  2. Import the necessary submodules and start exploring extreme value statistics:

    import xtremes.topt as topt
    import xtremes.bootstrap as bst
    
  3. For more detailed documentation, check out https://xtremes.readthedocs.io/en/latest/.

Example Usage:

Here's a simple example to get started with xtremes:

import xtremes.topt as topt
import xtremes.bootstrap as bst

# Simulate time series data
ts = topt.TimeSeries(n=100, distr='GEV', correlation='IID', modelparams=[0.5])
ts.simulate(rep=10)

# Extract block maxima
ts.get_blockmaxima(block_size=5)

# Perform bootstrap analysis
bootstrap = bst.FullBootstrap(ts.values, block_size=5)
bootstrap.run_bootstrap(num_bootstraps=100)
print(bootstrap.statistics['mean'])

Documentation:

Further documentation can be found at https://xtremes.readthedocs.io/en/latest/.

Example Output:

The following plot shows block maxima extracted from a simulated time series:

Block TopTwo Plot

Foundational insights behind the methods used in xtremes.bootstrap have been developed by [[BS24]].

Roadmap:

  • Add support for additional time series models (ARIMA).
  • Improve documentation with more examples.
  • Optimize bootstrapping methods for large datasets.

Note:

This project is under active development throughout the project phase and will provide additional code to support theoretical advancements in extreme value statistics. (todo: add DOI (badge))

References:

[BS24]: Bücher, A., & Staud, T. (2024). Bootstrapping Estimators based on the Block Maxima Method. arXiv preprint arXiv:2409.05529.

Suggested Citation:

If you use the bootstrapping functionality or methods related to block maxima in this library, please cite the following paper:

@article{tba,  
  title={tba,  
  author={B{"u}cher, Axel and Haufs, Erik},  
  journal={tba},  
  year={tba}  
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xtremes-0.3.1.5.tar.gz (6.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xtremes-0.3.1.5-py3-none-any.whl (40.3 kB view details)

Uploaded Python 3

File details

Details for the file xtremes-0.3.1.5.tar.gz.

File metadata

  • Download URL: xtremes-0.3.1.5.tar.gz
  • Upload date:
  • Size: 6.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.20

File hashes

Hashes for xtremes-0.3.1.5.tar.gz
Algorithm Hash digest
SHA256 7384c0b1ed1cf99c5d518dd53e49a782d5d3c738d5a8cc3eeafe1d5520bcbff8
MD5 8621efcba9e1672ed7e248470dc57ff7
BLAKE2b-256 28005f260f0f6e0661ed53fdf7a1662f625b10d0f9bc124e0a104d87af8fb5cb

See more details on using hashes here.

File details

Details for the file xtremes-0.3.1.5-py3-none-any.whl.

File metadata

  • Download URL: xtremes-0.3.1.5-py3-none-any.whl
  • Upload date:
  • Size: 40.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.20

File hashes

Hashes for xtremes-0.3.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fbfb93ea9e787aecda5df1146ae33a4f80d3ae820dd44e6f048f019cd3672bdd
MD5 29219a9979239c6523d6ac85a0b40a06
BLAKE2b-256 80d6ee26b55c250051a054a90cfa3472766b6f1b74300d80209a3b878c5f93ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page