Book Image

Time Series Indexing

By : Mihalis Tsoukalos
Book Image

Time Series Indexing

By: Mihalis Tsoukalos

Overview of this book

Time series are everywhere, ranging from financial data and system metrics to weather stations and medical records. Being able to access, search, and compare time series data quickly is essential, and this comprehensive guide enables you to do just that by helping you explore SAX representation and the most effective time series index, iSAX. The book begins by teaching you about the implementation of SAX representation in Python as well as the iSAX index, along with the required theory sourced from academic research papers. The chapters are filled with figures and plots to help you follow the presented topics and understand key concepts easily. But what makes this book really great is that it contains the right amount of knowledge about time series indexing using the right amount of theory and practice so that you can work with time series and develop time series indexes successfully. Additionally, the presented code can be easily ported to any other modern programming language, such as Swift, Java, C, C++, Ruby, Kotlin, Go, Rust, and JavaScript. By the end of this book, you'll have learned how to harness the power of iSAX and SAX representation to efficiently index and analyze time series data and will be equipped to develop your own time series indexes and effectively work with time series data.
Table of Contents (11 chapters)

Checking the search speed of iSAX indexes

This section presents a utility that takes two time series, named TS1 and TS2, which ideally have similar lengths, creates two iSAX indexes, named D1 and D2, and performs the following searches:

  • Searches D1 for all the subsequences of TS2. In this case, we are not sure whether a subsequence from TS2 is in D1 or not. In most cases, we are not going to be able to find the subsequences of TS2 in TS1. This is the main reason that a join based on the SAX representations of the iSAX nodes might be more appropriate when looking for similarities between subsequences.
  • Searches D2 for all the subsequences of TS1. In this case, we are not sure whether a subsequence from TS1 is in D2 or not. As before, in most cases, we are not going to be able to find the subsequences of TS1 in TS2 and therefore, in the iSAX index created from TS2 (D2).
  • Searches D1 for all the subsequences of TS1, which means that all subsequences of TS1 are in D1. With...