eristropy


Nameeristropy JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://zblanks.github.io/eristropy
SummaryEristroPy: End-to-end entropy analysis of time series signals
upload_time2023-09-19 19:35:55
maintainer
docs_urlNone
authorZachary Blanks
requires_python>=3.9,<3.12
licenseMIT
keywords entropy time-series optimization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # EristroPy: End-to-End Entropy Analysis of Time Series Signals

## Overview and Introduction

Welcome to EristroPy, a powerful Python package designed for end-to-end entropy analysis of time series signals via entropy. EristroPy provides an all-in-one solution for researchers and practitioners looking to perform entropy/variability analysis of time series data.

For more detailed information, check out the [documentation](https://zblanks.github.io/eristropy/).

## Features & Benefits

EristroPy offers a multitude of features aimed at simplifying the time series analysis process:

- **Automatic Signal Stationarity**: Ensure the validity of your entropy and variability analyses by automatically rendering signals stationary. 
- **Scalable Entropy Calculations**: Utilizes Numba's just-in-time compilation for efficient sample and permutation entropy calculations. 
- **Optimal Parameter Selection**: Provides intelligent suggestions for entropy measure parameters through rigorous statistical approaches.

## Installation

The easiest way to install EristroPy is using pip by calling:

```bash
pip install eristropy
```

## Usage
Using EristroPy, you can go from having the base time series signals, to a coherent & optimized entropy estimates in just a few lines of code. For instance, consider the following problem of estimating the sample entropy of some synthetic time series signals:

```python
import numpy as np
import pandas as pd
from eristropy.stationarity import StationarySignals
from eristropy.sample_entropy import SampleEntropy

signal_ids = np.repeat(["signal_1", "signal_2"], 100)
timestamps = np.tile(np.arange(100), 2)
rng = np.random.default_rng(17)
signal_1_values = rng.uniform(-5, 5, size=(100,))
signal_2_values = rng.uniform(-5, 5, size=(100,))
values = np.concatenate((signal_1_values, signal_2_values))

df = pd.DataFrame({
    "signal_id": signal_ids,
    "timestamp": timestamps,
    "value": values
})

signals = StationarySignals(df, method="difference")
stationary_df = signals.make_stationary_signals()

sampen = SampleEntropy(stationary_df)
result_df = sampen.compute_all_sampen(optimize=True, estimate_uncertainty=True)
```

In just a few lines of code, you have access to state-of-the-art results that follows & implements best practices. It's that easy!


## License
EristroPy is released under the MIT License. See the [LICENSE](LICENSE.md) file for more details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://zblanks.github.io/eristropy",
    "name": "eristropy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<3.12",
    "maintainer_email": "",
    "keywords": "entropy,time-series,optimization",
    "author": "Zachary Blanks",
    "author_email": "zdb6dz@virginia.edu",
    "download_url": "https://files.pythonhosted.org/packages/6f/98/e9c20a5a7a5a9d336df21583efb7fa175394aa7f3cce2d05380363b0ad2e/eristropy-0.1.0.tar.gz",
    "platform": null,
    "description": "# EristroPy: End-to-End Entropy Analysis of Time Series Signals\n\n## Overview and Introduction\n\nWelcome to EristroPy, a powerful Python package designed for end-to-end entropy analysis of time series signals via entropy. EristroPy provides an all-in-one solution for researchers and practitioners looking to perform entropy/variability analysis of time series data.\n\nFor more detailed information, check out the [documentation](https://zblanks.github.io/eristropy/).\n\n## Features & Benefits\n\nEristroPy offers a multitude of features aimed at simplifying the time series analysis process:\n\n- **Automatic Signal Stationarity**: Ensure the validity of your entropy and variability analyses by automatically rendering signals stationary. \n- **Scalable Entropy Calculations**: Utilizes Numba's just-in-time compilation for efficient sample and permutation entropy calculations. \n- **Optimal Parameter Selection**: Provides intelligent suggestions for entropy measure parameters through rigorous statistical approaches.\n\n## Installation\n\nThe easiest way to install EristroPy is using pip by calling:\n\n```bash\npip install eristropy\n```\n\n## Usage\nUsing EristroPy, you can go from having the base time series signals, to a coherent & optimized entropy estimates in just a few lines of code. For instance, consider the following problem of estimating the sample entropy of some synthetic time series signals:\n\n```python\nimport numpy as np\nimport pandas as pd\nfrom eristropy.stationarity import StationarySignals\nfrom eristropy.sample_entropy import SampleEntropy\n\nsignal_ids = np.repeat([\"signal_1\", \"signal_2\"], 100)\ntimestamps = np.tile(np.arange(100), 2)\nrng = np.random.default_rng(17)\nsignal_1_values = rng.uniform(-5, 5, size=(100,))\nsignal_2_values = rng.uniform(-5, 5, size=(100,))\nvalues = np.concatenate((signal_1_values, signal_2_values))\n\ndf = pd.DataFrame({\n    \"signal_id\": signal_ids,\n    \"timestamp\": timestamps,\n    \"value\": values\n})\n\nsignals = StationarySignals(df, method=\"difference\")\nstationary_df = signals.make_stationary_signals()\n\nsampen = SampleEntropy(stationary_df)\nresult_df = sampen.compute_all_sampen(optimize=True, estimate_uncertainty=True)\n```\n\nIn just a few lines of code, you have access to state-of-the-art results that follows & implements best practices. It's that easy!\n\n\n## License\nEristroPy is released under the MIT License. See the [LICENSE](LICENSE.md) file for more details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "EristroPy: End-to-end entropy analysis of time series signals",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://zblanks.github.io/eristropy",
        "Repository": "https://github.com/zblanks/eristropy"
    },
    "split_keywords": [
        "entropy",
        "time-series",
        "optimization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88ea3bbff7adf41712ef7d6c6a5f276a58ca855a9cf2de1c50d5c0382a7412c4",
                "md5": "6fde48b821de98c2c6a881c48eafb676",
                "sha256": "a35b08b13d0604b1ad77a486c8d6484d1b5e1c4379ff9be53b8ac6387a98c5a4"
            },
            "downloads": -1,
            "filename": "eristropy-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6fde48b821de98c2c6a881c48eafb676",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<3.12",
            "size": 24706,
            "upload_time": "2023-09-19T19:35:53",
            "upload_time_iso_8601": "2023-09-19T19:35:53.876584Z",
            "url": "https://files.pythonhosted.org/packages/88/ea/3bbff7adf41712ef7d6c6a5f276a58ca855a9cf2de1c50d5c0382a7412c4/eristropy-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6f98e9c20a5a7a5a9d336df21583efb7fa175394aa7f3cce2d05380363b0ad2e",
                "md5": "8fc6c4901bee0cff6e3d64940c40b7bd",
                "sha256": "961e2d923adabf5f5ff3bbc988b8d69841de1430405f5e6258383f127e7c2695"
            },
            "downloads": -1,
            "filename": "eristropy-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8fc6c4901bee0cff6e3d64940c40b7bd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<3.12",
            "size": 21034,
            "upload_time": "2023-09-19T19:35:55",
            "upload_time_iso_8601": "2023-09-19T19:35:55.451792Z",
            "url": "https://files.pythonhosted.org/packages/6f/98/e9c20a5a7a5a9d336df21583efb7fa175394aa7f3cce2d05380363b0ad2e/eristropy-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-19 19:35:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zblanks",
    "github_project": "eristropy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "eristropy"
}
        
Elapsed time: 0.52753s