Skip to main content

Implementation of Iterative ERAL algorithm (Stržinar et al., 2024)

Project description

Interval ERAL Algorithm and application to Evolving Clustering

Introduction

The iERAL (Interval Error In Alignment) algorithm is a state-of-the-art method designed for online time series alignment and averaging. The method obtains the average time series (the prototype) from a set of time series (a class).

Installation

To use iERAL, please install the package from pypi.org using pip:

pip install ieral

Usage

The main entry point for the end user is Cluster class in ieral.ieral:

from ieral.ieral import Cluster as iERAL

ieral = iERAL(sample=initial_sample, id=0)

The class constructor accepts two parameters:

  • sample - the initial sample to be used for the prototype calculation
  • id - the class identifier

The basic function call is:

import numpy as np
from ieral.ieral import Cluster as iERAL

data: list[np.ndarray] = [...]

ieral: iERAL = iERAL(sample=data[0], id=id, alpha=0.5)
for sample in data[1:]:
    ieral.add_sample(sample=sample)

prototype = ieral.prototype
    

For full examples, please refer to the examples/ directory at our repository.

Demonstration

The following figure demonstrates iERAL algorithm on a set of time series from the Trace dataset from UCR Archive. The dataset contains 100 time series, each with 275 samples. The time series are aligned and averaged using iERAL, and the resulting prototype is shown in the figure. iERAL demonstration

Examples

The examples/ directory at our repository. contains Jupyter notebooks that illustrate different uses and capabilities of the iERAL algorithm. To run an example, navigate to the examples/ directory and execute the desired notebook.

  • Notebook titled 01 iERAL demo demonstrates the iERAL prototyping method using the Trace dataset from UCR Archive.
  • Notebook titled 02 iERAL demo on industrial data downloads an industrial dataset from Mendeley Data [2], and calculates the prototypes for all classes.
  • Notebook titled 03 iERAL vs ERAL vs DBA vs SBD demonstrates the performance of iERAL, ERAL, DBA, and SBD algorithms on the industrial dataset from [2].
  • Notebook titled 04 Evolving Time Series Clustering demonstrates the application of iERAL in the Evolving Time Series Clustering method [1].

References

[1]
[2] Stržinar, Žiga; Pregelj, Boštjan; Petrovčič, Janko; Škrjanc, Igor; Dolanc, Gregor (2024), “Pneumatic Pressure and Electrical Current Time Series in Manufacturing”, Mendeley Data, V2, doi: 10.17632/ypzswhhzh9.2, url: https://data.mendeley.com/datasets/ypzswhhzh9/2

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

ieral-0.0.1.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

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

ieral-0.0.1-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file ieral-0.0.1.tar.gz.

File metadata

  • Download URL: ieral-0.0.1.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.3

File hashes

Hashes for ieral-0.0.1.tar.gz
Algorithm Hash digest
SHA256 95b02bf6cd27bcf90b12f9517e1e10c28f8fb7ba51b2c6890672a3112a1be8a4
MD5 e994b0ec452fa261077bf0da6ee06ea1
BLAKE2b-256 fe3d98b9a0c310441306b54a125d20ddc35953bdce39254f5f7e0abd4d99dcd7

See more details on using hashes here.

File details

Details for the file ieral-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: ieral-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.3

File hashes

Hashes for ieral-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 389ee3b71866aa5c7af9fd4953c50c5ac03ac3acc04358a2de1d659160581c84
MD5 b20eef0c44f2c7268d398ce99bed5534
BLAKE2b-256 28e7a53cdfbaeced521e3c632af3518fc33aa0b9d8c0e7ca99088919fed53ffa

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