-
Notifications
You must be signed in to change notification settings - Fork 0
01 SSA
One starts the SSA with the construction of trajectory matrix
It is clear that the elements of the anti-diagonals are equal. This a Hankel matrix.
The second step is to decompose
- SVD Decomposition
This option is used primarly when the time series is not too long, because SVD is computationally intensive algorithm. It becomes critical especially for the MSSA, where the trajectory matrix becomes extremly high-dimensional, because of stacking of trajectory matrices for each time series. The formula for SVD in SSA is defined as follows:
where:
-
$U$ is an$L \times L$ unitary matrix containing the orthonormal set of left singular vectors of$X$ as columns -
$\Sigma$ is an$L \times K$ rectangular diagonal matrix containing singular values of$X$ in the descending order -
$V^T$ is an$K \times K$ unitary matrix containing the orthonormal set of right singular vectors of$X$ as columns.
The SVD of the trajectory matrix can be also formulated as follows:
where:
-
${\sigma_i,U_i,V_i}$ it the$i^{th}$ eigentriple of the SVD -
$\sigma_i$ is the$i^{th}$ singular value, is a scaling factor that determines the relative importance of the eigentriple -
$U_i$ is a vector representing the$i^{th}$ column of$U$ , which spans the column space of$X$ -
$V_i$ is a vector representing the$i^{th}$ column of$V$ , which spans the row space of$X$ -
$d$ , such that$d \leq L$ , is a rank of the trajectory matrix$X$ . It can be regarded as the instrinsic dimensionality of the time series' trajectory space -
$X_i=\sigma_iU_iV_i^T$ is the$i^{th}$ elementary matrix
-
Randomized SVD
This techinque is used for the approximation of the classic SVD and primarly used for SSA with large
$N$ and in case of MSSA where$X$ is high-dimensional because of stacking of trajectory matrices of each considered time series. The main purpose of this technique is to reduce the dimensionality of$U$ and$V$ .
The computation of the
On this step we perform an eigentriple grouping to decompose time series into several components. We make use of one or several techniques listed below:
-
Visual Inspection of Elementary Matrices
Matrices without patterns are referred as the trend component, while seasonal and noise components are associated with repeating patterns. The most frequent alterations of the pattern are indicators of the noise component.
-
Eigenvalue Contribution and Shape of Eigenvectors
$U$ This combines considering the shape of eigenvectors
$U$ and relative contribution of eigenvalues. The most important$\sigma_i$ -s are associated with the ternd component. The related eignevectors demonstrate absence of periodicity and clear trend, while seasonal and noice components have a great deal lesser contribution and periodicity. -
Weighted Correlation between Components
This approach is frequently used for the automatic eigentriple grouping. It is obviuous, that the most correlated components
$X_i$ have more in common than decorrelated or negatively correlated ones.
For the reconstruction of time series from the elemenatary matrices
For this purpose one makes use of the Hankelisation linear operator,
The entry
Since
Since the trajectory matrix
Subsequently, the sum of the reconstructed time series components
Remeber, that in Python the indexing starts with 0, this why we set
There several options for the forecasting future values in SSA. In py-ssa-lib the K-Forecasting and L-Forecasting are implemented
This forecasting method relies on the signal subspace formed by
To begin with, we denote by
Then we need to subset a signal space composed from the
Subsequently, the definitions above lead us to the cornerstone of the L-Forecasting, Linear Recurrence Relations coefficients, denoted by
Finally, one can make a one-step forecast using the formula below:
On top of that, one can also predict iteratively
The key difference of this forecasting method compared to L-Forecasting is that it makes use of the eigenvectors
Note, however, that in the case of the MSSA
Also, denote the chosen signal space as a matrix
and collect the last coordinates of the given signal space in
In a multidimensional case(MSSA) it is necessary to assure prior to forecasting that
The forecasting values for