pyspi is a comprehensive python library for computing statistics of pairwise interactions (SPIs) from multivariate time-series (MTS) data.
The code provides easy access to hundreds of methods for evaluating the relationship between pairs of time series, from simple statistics (like correlation) to advanced multi-step algorithms (like Granger causality). The code is licensed under the GNU GPL v3 license (or later).
Feel free to email me for help with real-world applications. Feedback is much appreciated through email, issues, or pull requests.
If you use this code, please cite the following preprint:
Oliver M. Cliff, Joseph T. Lizier, Naotsugu Tsuchiya, Ben D. Fulcher, "Unifying Pairwise Interactions in Complex Dynamics," arXiv preprint, arXiv:2201.11941 (2022).
See the documentation for installing and setting up pyspi. Once you're done, you can learn how to use the package by checking out the:
If you have access to a PBS cluster and are processing MTS with many processes (or are analyzing many MTS), then you may find the pyspi distribute repository helpful.
If your dataset is large (containing many processes and/or observations), you can use a reduced set of statistics by instantiating the calculator with the fast=True
parameter (cf. the simple demo).
hctsa, the highly comparative time-series analysis toolkit, computes over 7000 time-series features from univariate time series.
hcga, a highly comparative graph analysis toolkit, computes several thousands of graph features directly from any given network.