This project contains the code, data, and results to explore the use of a local complexity-invariant distance measure with dynamic time warping. The paper regarding this study can be foun here.
This study requires the following software configuration:
- Python. Python 2.7 was used for this study, but you could probably get away with using 2.6+.
- Numpy.
- R.
- rpy2. This is a Python-to-R interface that we use to bring in some additional computational functionality.
- Matplotlib. Only required if you want to generate the warping path visualization graphs.
Additionally, there is suppose for Growl for those using OS X, like myself. In this case we get desktop notifications for events from the analysis. It's not required and the code will run fine without it.
Take a look at the lcid
module, which contains to submodules: complexity
and distance
. Each of these contains functionality to calculate the the corresponding complexity and distance for multiple time series data.
The main script, analysis.py
uses the lcid
module to process 13 data sets which can be found in the data
folder. This file should be able to run as-is, as long as you meet the above requirements. Furthermore, the test_cases.py
file allows you to select a specific case and visualize the warping path differences between the global and local interpretations of a complexity-invariant distance metric.