Common spatial pattern

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Common spatial pattern (CSP) is a mathematical procedure used in signal processing for separating a multivariate signal into additive subcomponents which have maximum differences in variance between two windows.[1]


Let \mathbf{X}_1 of size (n,t_1) and \mathbf{X}_2 of size (n,t_2) be two windows of a multivariate signal, where n is the number of signals and t_1 and t_2 are the respective number of samples.

The CSP algorithm determines the component \mathbf{w}^\text{T} such that the ratio of variance (or second-order moment) is maximized between the two windows:

\mathbf{w}={\arg \max}_\mathbf{w} \frac{ \left\| \mathbf{wX}_1 \right\| ^2 } { \left\| \mathbf{wX}_2 \right\| ^2 }

The solution is given by computing the two covariance matrices:


Then, the simultaneous diagonalization of those two matrices (also called generalized eigenvalue decomposition) is realized. We find the matrix of eigenvectors \mathbf{P}=\begin{bmatrix} \mathbf{p}_1 & \cdots & \mathbf{p}_n \end{bmatrix} and the diagonal matrix \mathbf{D} of eigenvalues \{\lambda_1, \cdots , \lambda_n \} sorted by decreasing order such that:

\mathbf{P}^{-1} \mathbf{R}_1 \mathbf{P} = \mathbf{D}


\mathbf{P}^{-1} \mathbf{R}_2 \mathbf{P} = \mathbf{I}_n

with \mathbf{I}_n the identity matrix.

This is equivalent to the eigendecomposition of \mathbf{R}_2^{-1} \mathbf{R}_1:

\mathbf{R}_2^{-1} \mathbf{R}_1=\mathbf{PDP}^{-1}
\mathbf{w}^\text{T} will correspond to the first column of \mathbf{P}:


Relation between variance ratio and eigenvalue[edit]

The eigenvectors composing \mathbf{P} are components with variance ratio between the two windows equal to their corresponding eigenvalue:

 \mathbf{\lambda}_i = \frac{ \left\| \mathbf{p}_i^\text{T} \mathbf{X}_1 \right\| ^2 }{ \left\| \mathbf{p}_i^\text{T} \mathbf{X}_2 \right\| ^2 }

Other components[edit]

The vectorial subspace E_i generated by the i first eigenvectors \begin{bmatrix} \mathbf{p}_1 & \cdots & \mathbf{p}_i \end{bmatrix} will be the subspace maximizing the variance ratio of all components belonging to it:

E_i={\arg \max}_{E} \begin{pmatrix}\min_{p \in E} \frac{ \left\| \mathbf{p^\text{T} X}_1 \right\| ^2 }{ \left\| \mathbf{p^\text{T} X}_2 \right\| ^2}\end{pmatrix}

On the same way, the vectorial subpsace F_j generated by the j last eigenvectors \begin{bmatrix} \mathbf{p}_{n-j+1} & \cdots & \mathbf{p}_n \end{bmatrix} will be the subspace minimizing the variance ratio of all components belonging to it:

 F_j = {\arg \min}_{F} \begin{pmatrix}\max_{p \in F} \frac{ \left\| \mathbf{p^\text{T} X}_1 \right\| ^2 }{ \left\| \mathbf{p^\text{T} X}_2 \right\| ^2} \end{pmatrix}

Variance or second-order moment[edit]

CSP can be applied after a mean subtraction (a.k.a. "mean centering") on signals in order to realize a variance ratio optimization. Otherwize CSP optimizes the ratio of second-order moment.

Choice of windows X1 and X2[edit]

  • The standard use consists on choosing the windows to correspond to two periods of time with different activation of sources (e.g. during rest and during a specific task).
  • It is also possible to choose the two windows to correspond to two different frequency bands in order to find components with specific frequency pattern.[2] Those frequency bands can be on temporal or on frequential basis. Since the matrix \mathbf{P} depends only of the covariance matrices, the same results can be obtained if the processing is applied on the Fourier transform of the signals.
  • Y. Wang [3] has proposed a particular choice for the first window \mathbf{X}_1 in order to extract components which have a specific period. \mathbf{X}_1 was the mean of the different periods for the examined signals.


This method can be applied to several multivariate signal but it seems that most works on it concern electroencephalographic signals.

Particularly, the method is mostly used on brain–computer interface in order to retrieve the component signal which best transduce the cerebral activity for a specific task (e.g. hand movement).[4]

It can also be used to separate artifacts from electroencephalographics signals.[2]

See also[edit]


  1. ^ Zoltan J. Koles, Michael S. Lazaret and Steven Z. Zhou, "Spatial patterns underlying population differences in the background EEG", Brain topography, Vol. 2 (4) pp. 275-284, 1990
  2. ^ a b S. Boudet, "Filtrage d'artefacts par analyse multicomposantes de l'électroencephalogramme de patients épileptiques.", PhD. Thesis: Unviversité de Lille 1, 07/2008
  3. ^ Y. Wang, "Reduction of cardiac artifacts in magnetoencephalogram." Proc. of the 12th Int. Conf. on Biomagnetism, 2000
  4. ^ G. Pfurtscheller, C. Gugeret and H. Ramoser "EEG-based brain-computer interface using subject-specific spatial filters", Engineering applications of bio-inspired artificial neural networks, Lecture Notes in Computer Science, 1999, Vol. 1607/1999, pp. 248-254