Metadata-Version: 2.1
Name: obscure_stats
Version: 0.1.5
Summary: Collection of lesser-known statistical functions
Author: Gleb Levitski
Requires-Python: >=3.9,<3.13
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Requires-Dist: numpy (>=1.23.5,<2.0.0)
Requires-Dist: scipy (>=1.9.1,<2.0.0)
Description-Content-Type: text/markdown

# obscure_stats

| | |
| --- | --- |
| CI/CD |[![CI](https://github.com/glevv/obscure_stats/actions/workflows/package.yml/badge.svg)](https://github.com/glevv/obscure_stats/actions/workflows/package.yml) [![CD](https://github.com/glevv/obscure_stats/actions/workflows/publish.yml/badge.svg)](https://github.com/glevv/obscure_stats/actions/workflows/publish.yml) [![Coverage](https://codecov.io/github/glevv/obscure_stats/coverage.svg?branch=main)](https://codecov.io/gh/glevv/obscure_stats)
| Package | [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/obscure_stats?logo=Python)](https://pypi.org/project/obscure_stats/) [![PyPI](https://img.shields.io/pypi/v/obscure_stats?logo=PyPI)](https://pypi.org/project/obscure_stats/) |
| Meta | [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/) [![License - MIT](https://img.shields.io/badge/license-MIT-9400d3.svg)](https://spdx.org/licenses/) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10206933.svg)](https://doi.org/10.5281/zenodo.10206933)

## Highlights:

`obscure_stats` is a small Python package that includes a lot of useful but lesser-known statistical functions and builds on top of `numpy` and `scipy`.

## Current API list

- Collection of measures of central tendency - `obscure_stats/central_tendency`:
    * Contraharmonic Mean;
    * Half-Sample Mode;
    * Hodges-Lehmann-Sen Location;
    * Midhinge;
    * Midmean;
    * Midrange;
    * Standard Trimmed Harrell-Davis Quantile;
    * Trimean.
- Collection of measures of dispersion - `obscure_stats/dispersion`:
    * Coefficient of Variation;
    * Dispersion Ratio;
    * Linear Coefficient of Variation;
    * Lloyds Index;
    * Morisita Index;
    * Quartile Coefficient of Dispersion;
    * Robust Coefficient of Variation;
    * Standard Quantile Absolute Deviation;
    * Studentized Range.
- Collection of measures of skewness - `obscure_stats/skewness`:
    * Area Under the Skewness Curve (weighted and unweighted);
    * Bickel Mode Skewness Coefficient;
    * Bowley Skewness Coefficient;
    * Forhad-Shorna Rank Skewness Coefficient;
    * Groeneveld Skewness Coefficient;
    * Hossain-Adnan Skewness Coefficient;
    * Kelly Skewness Coefficient;
    * Medeen Skewness Coefficient;
    * Pearson Median Skewness Coefficient;
    * Pearson Mode Skewness Coefficient.
- Collection of measures of kurtosis - `obscure_stats/kurtosis`:
    * Crow-Siddiqui Kurtosis;
    * Hogg Kurtosis;
    * Moors Kurtosis;
    * Moors Octile Kurtosis;
    * Reza-Ma Kurtosis.
- Collection of measures of association - `obscure_stats/association`:
    * Chatterjee Xi correlation Coefficient (original and symmetric versions);
    * Concordance Correlation Coefficient;
    * Concordance Rate;
    * Tanimoto Similarity;
    * Zhang I Correlation Coefficient.
- Collection of measures of qualitative variation - `obscure_stats/variation`:
    * AVDev;
    * B Index;
    * Extropy;
    * Gibbs M1;
    * Gibbs M2;
    * ModVR;
    * RanVR.

## Installation

`pip install obscure_stats`

## Usage Example

```python
>>> from obscure_stats.central_tendency import standard_trimmed_harrell_davis_quantile
>>> from obscure_stats.dispersion import standard_quantile_absolute_deviation

>>> data = [1.83, 1.01, 100.12, 1.20, 0.99, 0.87, 1.13, 100.01, 0.75, 1.03]
>>> central_tendency = standard_trimmed_harrell_davis_quantile(data)
>>> dispersion = standard_quantile_absolute_deviation(data)
>>> print(f"Robust measure of central tendency = {central_tendency:.2f}, Robust measure of dispersion = {dispersion:.2f}")
```

```
Out[1]:
Robust measure of central tendency = 1.09, Robust measure of dispersion = 0.42
```

## License

The content of this repository is licensed under a [MIT license](https://github.com/glevv/obscure_stats/blob/main/LICENSE).

