I need you to help me understand the Singular Spectrum Analysis algorithm. I already read a lot of articles about the subject but they never answered my questions like what is the mathematical reason for embedding the time series into a trajectory matrix and why applying the SVD gives us access to such trend and periodic and noise functions.

In fact, a lot of people compare SSA to PCA for time series but one could easily explain PCA by saying that we want to find the most relevant direction for explaining the variance of the dataset and thus we are aiming to maximize the variance of the projection of the data on this particular direction we are looking for leading to this well-known optimization and eigenvector and diagonalization problem. But I am absolutely unable to find such an explanation for the SSA algorithm even by trying to explain it myself.

So if someone could help me with that I would really appreciate, in fact, it is really important for me to understand deeply how the things work in order to, for instance, understand what window length to choose or how the eigenvalues are related to the importance of the principal components.


(The question is too general. It is unclear what books were read by the author of the question. It seems the information from the SSA books answers this question in full.)

Briefly answering your question,

(1) SSA also has approximating (optimality) properties, since uses the SVD (the singular value decomposition; the same mathematical tool as PCA uses). Therefore, the choice of leading components is used in SSA for signal extraction; the same as in PCA. Thus, the understanding of PCA can help to understand SSA if one wants to extract signals, since the algorithm of SSA exactly (up to centring, which is not necessarily in SSA) coincides with PCA applied to the so-called trajectory matrix $\mathbf{X}$ consisting of subseries of $X$ of length $L$ as columns.

(2) SSA uses the property of the SVD called bi-orthogonality. This property helps to extract identifiable components from a time series. Let us observe $X=S+R$, where $X=(x_1,\ldots,x_N)$ and $S=(s_1,\ldots,s_N)$ is a component under interest (e.g. a trend). Construct the trajectory matrix $\mathbf{X}$ from subseries of $X$ and apply the SVD to $\mathbf{X}$. If the trajectory matrices $\mathbf{S}$ and $\mathbf{R}$ (which are not observed) are bi-orthogonal (their rows and columns are bi-orthogonal), then the SVD of $\mathbf{X}$ provides an expansion, which can be divided into two groups that correspond to unobserved time series $S$ and $R$; thereby these time series components can be extracted. In practice, we have approximate orthogonality and approximate extraction. However, the theory of separability in SSA says that e.g. trend and seasonal components or sine waves with different frequencies are approximately orthogonal and therefore can be approximately extracted.

References to several free sources that I was involved in:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.