Skip to main content

statistics package

Project description

Statista - Advanced Statistical Analysis Package

Python Versions PyPI version Conda Version License: GPL v3 Documentation Status codecov pre-commit GitHub last commit GitHub issues GitHub stars GitHub forks

Overview

Statista is a comprehensive Python package for statistical analysis, focusing on probability distributions, extreme value analysis, and sensitivity analysis. It provides robust tools for researchers, engineers, and data scientists working with statistical models, particularly in hydrology, climate science, and risk assessment.

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Downloads Downloads Downloads PyPI - Downloads Conda Version PyPI version Anaconda-Server Badge Conda Platforms Join the chat at https://gitter.im/Hapi-Nile/Hapi

Installation

Conda (Recommended)

conda install -c conda-forge statista

PyPI

pip install statista

Development Version

pip install git+https://github.com/Serapieum-of-alex/statista

Main Features

Statistical Distributions

  • Probability Distributions: GEV, Gumbel, Normal, Exponential, and more
  • Parameter Estimation Methods: Maximum Likelihood (ML), L-moments, Method of Moments (MOM)
  • Goodness-of-fit Tests: Kolmogorov-Smirnov, Chi-square
  • Truncated Distributions: Focus analysis on values above a threshold

Extreme Value Analysis

  • Return Period Calculation: Estimate extreme events for different return periods
  • Confidence Intervals: Calculate confidence bounds using various methods
  • Plotting Positions: Weibull, Gringorten, and other empirical distribution functions

Sensitivity Analysis

  • One-at-a-time (OAT): Analyze parameter sensitivity individually
  • Sobol Visualization: Visualize parameter interactions and importance

Statistical Tools

  • Descriptive Statistics: Comprehensive statistical descriptors
  • Time Series Analysis: Auto-correlation and other time series tools
  • Visualization: Publication-quality plots for statistical analysis

Quick Start

Basic Usage

import pandas as pd
from statista.distributions import Distributions

# Load your time series data
data = pd.read_csv("your_data.csv", header=None)[0].tolist()

# Create a distribution object (e.g., Gumbel)
dist = Distributions("Gumbel", data)

# Fit the distribution using maximum likelihood
params = dist.fit_model(method="mle")
print(params)

# Calculate and plot the PDF and CDF
pdf = dist.pdf(plot_figure=True)
cdf, _, _ = dist.cdf(plot_figure=True)

# Perform goodness-of-fit tests
ks_test = dist.ks()
chi2_test = dist.chisquare()

# Create a probability plot with confidence intervals
fig, ax = dist.plot()

Extreme Value Analysis

from statista.distributions import GEV, PlottingPosition

# Create a GEV distribution
gev_dist = Distributions("GEV", data)

# Fit using L-moments
params = gev_dist.fit_model(method="lmoments")

# Calculate non-exceedance probabilities
cdf_weibul = PlottingPosition.weibul(data)

# Calculate confidence intervals
lower_bound, upper_bound, fig, ax = gev_dist.confidence_interval(plot_figure=True)

For more examples and detailed documentation, visit Statista Documentation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

Citation

If you use Statista in your research, please cite it as:

Farrag, M. (2023). Statista: A Python package for statistical analysis, extreme value analysis, and sensitivity analysis. 
https://github.com/Serapieum-of-alex/statista

BibTeX:

@software{statista2023,
  author = {Farrag, Mostafa},
  title = {Statista: A Python package for statistical analysis, extreme value analysis, and sensitivity analysis},
  url = {https://github.com/Serapieum-of-alex/statista},
  year = {2023}
}

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

statista-0.6.1.tar.gz (74.1 kB view details)

Uploaded Source

Built Distribution

statista-0.6.1-py3-none-any.whl (71.3 kB view details)

Uploaded Python 3

File details

Details for the file statista-0.6.1.tar.gz.

File metadata

  • Download URL: statista-0.6.1.tar.gz
  • Upload date:
  • Size: 74.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for statista-0.6.1.tar.gz
Algorithm Hash digest
SHA256 7d415d80e80cb7e37037fad3d9fa450213f3e082397b66120f666f4b3d195de1
MD5 361a08fed812291b206225ebecbeca9a
BLAKE2b-256 489c4842327da432e07a6c6b2cde337389ac71aa01ea4206e9d766a1287703b3

See more details on using hashes here.

File details

Details for the file statista-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: statista-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 71.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for statista-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8cfa2884c64ec603e08aa6cad0c837042df8006753125fd09dafd9623931653f
MD5 bc1c97c7dddf06b75e76917503e66b06
BLAKE2b-256 0cc07a888ca64d067ed5f87fc3835276a16b693ad4985866903a865b4b966db2

See more details on using hashes here.

Supported by

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