Welcome to the page of the py-ssa-lib package! This package contains python implementations of the Singular Spectrum Analysis(SSA) and Multichannel Singular Spectrum Analysis(MSSA).
It can be used for the time series analysis and forecasting.
Please, take a look on the guides for SSA and MSSA which are available in the corresponding directory !
NEW: The Wiki for the py-ssa-lib package is now available and will be periodically updated. It contains some theoretical background about the MSSA and SSA.
$ python -m pip install py-ssa-lib
The required packages are listed in the requirements.txt and can be installed from this file via pip.
All dependencies should be automatically installed during the installation of the py-ssa-lib
The classes in the py-ssa-lib heavily rely on the numpy, scipy, sklearn, pandas and matplotlib libraries.
Before the development of the py-ssa-lib I searched for the the Python packages which implement both MSSA and SSA, and found only few decent packages with the similar functionality:
However, they seem to be no longer maintained and they provided a limited functionality in comparison to what I need. (Arguably) the best functionality is provided by the RSSA-package in R (https://github.com/asl/rssa). So the aim of this package is to migrate the most useful functions from the RSSA-package into Python, in order to provide a seamless workflow for the time series analysis.
- NumPy https://numpy.org/
- SciPy https://scipy.org/
- Jupyter Lab https://jupyterlab.readthedocs.io/en/latest/index.html
- Scikit-learn https://scikit-learn.org/stable/
- Matplotlib https://matplotlib.org/
- https://www.kaggle.com/code/jdarcy/introducing-ssa-for-time-series-decomposition/notebook#2.-Introducing-the-SSA-Method
- https://link.springer.com/book/10.1007/978-3-642-34913-3
- https://link.springer.com/book/10.1007/978-3-662-57380-8
- https://www.gistatgroup.com/gus/mssa2.pdf
If you find this package useful, please, cite:
Konstantin Ibadullaev, https://github.com/K-Ibadullaev/py_ssa/
(This file and the citation format will change over time.)
This package is developed as a part of the research project "Intelligent Geosystems" (100693905) supported by ESF funding