|
1 | 1 | # PY-SSA-LIB PACKAGE |
2 | | -This package contains python implementations of the **Singular Spectrum Analysis(SSA)** and **Multichannel Singular Spectrum Analysis(MSSA)**. One can use them for the time series analysis and forecasting. |
| 2 | +## Intro |
| 3 | +Welcome to the page of the **py-ssa-lib** package! |
| 4 | +This package contains python implementations of the **Singular Spectrum Analysis(SSA)** and **Multichannel Singular Spectrum Analysis(MSSA)**. |
3 | 5 |
|
| 6 | +It can be used for the time series analysis and forecasting. |
| 7 | + |
| 8 | +**Please, take a look on the guides for SSA and MSSA which are available in the [corresponding directory](https://github.com/K-Ibadullaev/py_ssa/tree/main/examples_and_guide) !** |
| 9 | + |
4 | 10 | ## Installation |
5 | 11 | ```shell |
6 | 12 | $ python -m pip install py-ssa-lib |
7 | 13 | ``` |
| 14 | + |
| 15 | +## Requirements |
| 16 | +The required packages are listed in the requirements.txt and can be installed from this file via pip. |
| 17 | + |
| 18 | +However all dependecies should be automatically installed along with installation of the **py-ssa-lib** |
| 19 | + |
| 20 | +The classes in the **py-ssa-lib** heavily rely on the numpy, scipy, sklearn, pandas and matplotlib libraries. |
| 21 | + |
| 22 | +## Similar Python Packages |
| 23 | +Before the development of the **py-ssa-lib** I searched for the |
| 24 | +the Python packages which implement both MSSA and SSA, and found only few decent packages with the similar functionality: |
| 25 | + |
| 26 | +- https://github.com/AbdullahO/mSSA?tab=readme-ov-file |
| 27 | +- https://github.com/kieferk/pymssa |
| 28 | + |
| 29 | +However, they seem to be no longer maintained and they provided a limited functionality in comparison to what I need. |
| 30 | +(Arguably) the best functionality is provided by the RSSA-package in R (https://github.com/asl/rssa). |
| 31 | +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. |
| 32 | + |
| 33 | + |
| 34 | +## List of the Used Packages |
| 35 | +- NumPy https://numpy.org/ |
| 36 | +- SciPy https://scipy.org/ |
| 37 | +- Jupyter Lab https://jupyterlab.readthedocs.io/en/latest/index.html |
| 38 | +- Scikit-learn https://scikit-learn.org/stable/ |
| 39 | +- Matplotlib https://matplotlib.org/ |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | +## Literature about SSA and MSSA |
| 44 | +- https://www.kaggle.com/code/jdarcy/introducing-ssa-for-time-series-decomposition/notebook#2.-Introducing-the-SSA-Method |
| 45 | +- https://link.springer.com/book/10.1007/978-3-642-34913-3 |
| 46 | +- https://link.springer.com/book/10.1007/978-3-662-57380-8 |
| 47 | +- https://www.gistatgroup.com/gus/mssa2.pdf |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | +## Citation |
| 52 | +If you find this package useful, please, cite: |
| 53 | + |
| 54 | +**Konstantin Ibadullaev, https://github.com/K-Ibadullaev/py_ssa/** |
| 55 | + |
| 56 | +(This file and the citation format will change over time.) |
| 57 | + |
| 58 | +## Issues and Contributions |
| 59 | +I am open to feedbacks and discussion of issues. The contributions are always welcome unless not reasoned. |
| 60 | + |
| 61 | +## Future Updates |
| 62 | +I intend to introduce the updates once per 3 monthes. |
| 63 | +The comming features might be: |
| 64 | +- Asymptotic Prediction and Confidence Intervals |
| 65 | +- Some new data sets for the demonstration purposes |
| 66 | +- Gap Filling |
| 67 | +- Wiki with a bit more informative description of the mathematical background for SSA/MSSA |
| 68 | +- ... |
0 commit comments