Self-similarity matrix

In data analysis, the self-similarity matrix is a graphical representation of similar sequences in a data series.

Similarity can be explained by different measures, like spatial distance (distance matrix), correlation, or comparison of local histograms or spectral properties (e.g. IXEGRAM ). A similarity plot can be the starting point for dot plots or recurrence plots.

Definition
To construct a self-similarity matrix, one first transforms a data series into an ordered sequence of feature vectors $$ V = (v_1, v_2, \ldots, v_n) $$, where each vector $$ v_i $$ describes the relevant features of a data series in a given local interval. Then the self-similarity matrix is formed by computing the similarity of pairs of feature vectors


 * $$ S(j,k) = s(v_j, v_k) \quad j,k \in (1,\ldots,n)$$

where $$s(v_j, v_k)$$ is a function measuring the similarity of the two vectors, for instance, the inner product $$s(v_j, v_k) = v_j \cdot v_k$$. Then similar segments of feature vectors will show up as path of high similarity along diagonals of the matrix. Similarity plots are used for action recognition that is invariant to point of view and for audio segmentation using spectral clustering of the self-similarity matrix.