Skip to main content

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

Project description

Streaming ERAL Algorithm and application to Evolving Clustering

Introduction

The sERAL (Streaming 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 ERAL, please install the package from pypi.org using pip:

pip install seral

Usage

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

from seral.seral import Cluster as sERAL

searl = sERAL(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 seral.seral import Cluster as sERAL

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

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

prototype = seral.prototype
    

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

Demonstration

The following figure demonstrates sERAL 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 sERAL, and the resulting prototype is shown in the figure. sERAL demonstration

Examples

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

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

References

[1] Stržinar, Žiga; Škrjanc, Igor; Pratama, Mahardhika and Pregelj, Boštjan (2024), "Evolving Clustering of Time Series for Unsupervised Analysis of Industrial Data Streams", available at SSRN: https://ssrn.com/abstract=5026151
[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

seral-1.0.0.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

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

seral-1.0.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file seral-1.0.0.tar.gz.

File metadata

  • Download URL: seral-1.0.0.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for seral-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2e2bc8142d209dc5a5c10a9e05350312c5c5efdb62c3504151bc55c2d9e903bb
MD5 e78a0f4fac35506918f00a4b44c9440c
BLAKE2b-256 e3a30aa6e03821dca6bab9dc7cc83c68ced984b977502d2ccd9b93c8c2f9fa25

See more details on using hashes here.

File details

Details for the file seral-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: seral-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for seral-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ea96878bd7e87fb97ad6b3ce8d14410ab77037422813a400e7aad0ef8e0e5fa
MD5 164fcc3d5b219a6a6289cee841c68cf1
BLAKE2b-256 ae38c54b0e33fa2fd6ce2ace7dd19a68f39adbe397b36286e56d5f840d6d0ea8

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