
The basic idea is the same as in SSA prediction for univariate data. Prediction is started by performing MSSA filtering on input multivariate time-series to identify "signal" components, i.e. containing quasi-oscillatory modes and/or trend. Next, we fit AR model to "signal" PCs and advance them in time to produce PCs forecasts. Finally, MSSA reconstruction is performed that takes into account PCs forecasts. For small order of AR model, forecast errors are dominated by the lack of resolution; for large order, by the error made on the coefficients of the model.
Here we demonstrate MSSA prediction on synthetic data with two time series following prediction.tkt project in Examples/MSSA Prediction folder of kSpectra distribution. The 1st channel of our test series, 600 data points long, consists of low-frequency oscillation with a period of T=40 units. This oscillation is modulated both in amplitude and phase with period of T=120, and is contaminated by large amplitude white noise. The 2nd channel consists of a similar but phase-shifted oscillation without noise; the 2nd channel can be considered as a "driver", while the 1st being a "response", or vice-versa. Due to nonlinear behavior, 2nd channel is in- and out-of-phase with the 1st channel's low-frequency signal in a non-trivial manner:

Our task will be to predict smooth signal in both channels 80 sampling units ahead, i.e. with 80 lead time. Unlike SSA prediction, forecast for multivariate data is constrained by cross-channel temporal correlations.
We start kSpectra, and go to Data I/O in Tools. Using Finder, we simply double-click prediction.tkt file in MSSA Prediction folder. It contains mssa1.dat (original data as above), and rmssa1.dat (data for forecast verification; it contains signal components without noise in both channels). Then we go to PCA/MSSA in Tools, select mssa1.dat from Data Pop-up menu, change the Window value to M=120 (longest periodicity in the time-series), select Reduced method for Covariance, MSSA tool option, and set name in Spectrum box to mssa1. Then click Compute, followed by Plot, to obtain MSSA spectral estimate:

Low-frequency part of the spectrum contains a few oscillatory pairs which correspond to smooth quasi-periodic signal in both channels. Click Advanced options, and select leading eight rows of MSSA components table corresponding to four oscillatory pairs of the signal.

Click then Options in Reconstruction box and set Lead time to 80, AR order to 120:

close the panel and click Compute in Reconstruction box. To see 2-D plot of Reconstructed & Predicted "smooth" signal in both channels, choose 2-D Fill Plot option as above, and click Plot in Result to obtain Figure below:

To compare Reconstructed & Predicted "smooth" signal with original data in a single channel, choose 1-D Plot option and a 1st Column, and click then Plot in Result to obtain Figure below:

We can check the quality of MSSA forecast using provided time-series rmssa1.dat. In Manage Data of Utilities get individual columns of rmssa1.dat into two vectors; do the same with our MSSA reconstruction rcmat matrix. Using Compare Vectors utility, plot prediction vs. verification; in the forecasted time interval the following results are obtained:


Despite large amount of noise, phase of the quasi-oscillatory signal is captured pretty well in both channels; the amplitude is predicted better for a non-noisy 2nd channel, as expected.
![]() |
![]() |