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, check out the tutorial and simple demo to learn how to use the package.
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 data is quite large (i.e., there are many processes or observations), you can use a reduced set of statistics by instantiating the calculator with the fast=True parameter (see 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.
