MSSA
Multivariate Singular Spectrum Analysis (mSSA): Forecasting and Imputation algorithm for multivariate time series
Install / Use
/learn @AbdullahO/MSSAREADME
Multivariate Singular Spectrum Analysis (mSSA)
Multivariate Singular Spectrum (mSSA) is an algorithm for multivariate time series forecasting and imputation. Specifically, mSSA allows you to predict entries that are:
-
At a future time step (i.e. forecasting);
-
Missing/corrupted by noise (i.e. imputation)
This repository is the implementation of the paper: On Multivariate Singular Spectrum Analysis. Refer to the paper for more information about the theory and the algorithm of mSSA.
Installation
This work has the following dependencies:
- Python 3.5+ with the libraries: (numpy, pandas, scipy, sklearn)
To install the mSSA package form the source, simply clone this repository and then install the package using pip as follows:
pip3 install .
Getting Started
To get started, first load the time series example we have provided in ../mSSA/examples/testdata/tables/mixturets_var.csv using pandas.
import pandas as pd
df = pd.read_csv("mssa/examples/testdata/tables/mixturets_var.csv")
Then initialise and fit your mSSA model on the time series named ts as follows:
from mssa.mssa import mSSA
model = mSSA()
model.update_model(df.loc[:,['ts']])
Then you can impute or forecast any entry using the predict function. For example:
prediction = model.predict('ts',1000)
will impute the 1000th entry, while
prediction = model.predict('ts', 100001,100100)
will forecast the entries between 100001 to 100100.
API
Refer to the documentation of the mSSA class in here.
Example
We provide a running example for both synthetic and real-world datasets in a python notebook in the mssa/examples folder. Here.
License
This work is licensed under the Apache 2.0 License.
Related Skills
next
A beautifully designed, floating Pomodoro timer that respects your workspace.
roadmap
A beautifully designed, floating Pomodoro timer that respects your workspace.
progress
A beautifully designed, floating Pomodoro timer that respects your workspace.
devplan-mcp-server
3MCP server for generating development plans, project roadmaps, and task breakdowns for Claude Code. Turn project ideas into paint-by-numbers implementation plans.
