This repository hosts the TSSEARCH - Time Series Subsequence Search Python package. TSSEARCH assists researchers in exploratory analysis for query search and time series segmentation without requiring significant programming effort.
- Search: We provide methods for time series query search and segmentation
- Weights: The relative contribution of each point of the query to the overall distance can be expressed using a user-defined weight vector.
- Visualization: We provide visualizations to present the results of the segmentation and query search
- Unit tested: we provide unit tests for each feature
- Easily extended: adding new distances is easy, and we encourage you to contribute with your custom distances or search methods
TSSEARCH is available at PyPI:
pip install tssearch
The code below segments a 10 s electrocardiography record:
import tssearch
# Load the query, (optional) weight vector and sequence
data = tssearch.load_ecg_example()
# Selects the Dynamic Time Warping (DTW) as the distance for the segmentation
cfg = tssearch.get_distance_dict(["Dynamic Time Warping"])
# Performs the segmentation
out = tssearch.time_series_segmentation(cfg, data['query'], data['sequence'], data['weight'])
The documentation is available here.
Lockstep |
---|
Lp Distances |
Pearson Correlation Distance |
Short Time Series Distance (STS) |
Elastic |
---|
Dynamic Time Warping (DTW) |
Longest Common Subsequence (LCSS) |
Time Warp Edit Distance (TWED) |
Time |
---|
Time Alignment Measurement (TAM) |
This work is a result of the project ConnectedHealth (n.º 46858), supported by Competitiveness and Internationalisation Operational Programme (POCI) and Lisbon Regional Operational Programme (LISBOA 2020), under the PORTUGAL 2020 Partnership Agreement, through the European Regional Development Fund (ERDF)