Multitaper

From HandWiki
Comparison of periodogram (black) and multitaper estimate (red) of a single trial local field potential measurement. This estimate used 9 tapers.

In signal processing, multitaper is a spectral density estimation technique developed by David J. Thomson.[1] It can estimate the power spectrum SX of a stationary ergodic finite-variance random process X, given a finite contiguous realization of X as data.

Motivation

The multitaper method overcomes some of the limitations of non-parametric Fourier analysis. When applying the Fourier transform to extract spectral information from a signal, we assume that each Fourier coefficient is a reliable representation of the amplitude and relative phase of the corresponding component frequency. This assumption, however, is not generally valid for empirical data. For instance, a single trial represents only one noisy realization of the underlying process of interest. A comparable situation arises in statistics when estimating measures of central tendency i.e., it is bad practice to estimate qualities of a population using individuals or very small samples. Likewise, a single sample of a process does not necessarily provide a reliable estimate of its spectral properties. Moreover, the naive power spectral density obtained from the signal's raw Fourier transform is a biased estimate of the true spectral content.

These problems are often overcome by averaging over many realizations of the same event after applying a taper to each trial. However, this method is unreliable with small data sets and undesirable when one does not wish to attenuate signal components that vary across trials. Furthermore, even when many trials are available the untapered periodogram is generally biased (with the exception of white noise) and the bias depends upon the length of each realization, not the number of realizations recorded. Applying a single taper reduces bias but at the cost of increased estimator variance due to attenuation of activity at the start and end of each recorded segment of the signal. The multitaper method partially obviates these problems by obtaining multiple independent estimates from the same sample. Each data taper is multiplied element-wise by the signal to provide a windowed trial from which one estimates the power at each component frequency. As each taper is pairwise orthogonal to all other tapers, the window functions are uncorrelated with one another. The final spectrum is obtained by averaging over all the tapered spectra thus recovering some of the information that is lost due to partial attenuation of the signal that results from applying individual tapers. This method is especially useful when a small number of trials is available as it reduces the estimator variance beyond what is possible with single taper methods. Moreover, even when many trials are available the multitaper approach is useful as it permits more rigorous control of the trade-off between bias and variance than what is possible in the single taper case. Thomson chose the Slepian or discrete prolate spheroidal sequences as tapers since these vectors are mutually orthogonal and possess desirable spectral concentration properties (see the section on Slepian sequences). In practice, a weighted average is often used to compensate for increased energy loss at higher order tapers.[2]

Formulation

Consider a p-dimensional zero mean stationary stochastic process

[math]\displaystyle{ \mathbf{X}(t) = {\lbrack X(1,t), X(2,t), \dots , X(p,t) \rbrack}^T }[/math]

Here T denotes the matrix transposition. In neurophysiology for example, p refers to the total number of channels and hence [math]\displaystyle{ \mathbf{X}(t) }[/math] can represent simultaneous measurement of electrical activity of those p channels. Let the sampling interval between observations be [math]\displaystyle{ \Delta t }[/math], so that the Nyquist frequency is [math]\displaystyle{ f_N=1/(2 \Delta t) }[/math].

The multitaper spectral estimator utilizes several different data tapers which are orthogonal to each other. The multitaper cross-spectral estimator between channel l and m is the average of K direct cross-spectral estimators between the same pair of channels (l and m) and hence takes the form

[math]\displaystyle{ \hat{S}^{lm} (f)= \frac{1}{K} \sum_{k=0}^{K-1} \hat{S}_k^{lm}(f). }[/math]

Here, [math]\displaystyle{ \hat{S}_{k}^{lm}(f) }[/math] (for [math]\displaystyle{ 0 \leq k \leq K-1 }[/math]) is the kth direct cross spectral estimator between channel l and m and is given by

[math]\displaystyle{ \hat{S}_{k}^{lm}(f) = \frac{1}{N\Delta t} {\lbrack J_{k}^{l}(f) \rbrack}^{*} {\lbrack J_{k}^{m}(f) \rbrack}, }[/math]

where

[math]\displaystyle{ J_k^l(f) = \sum_{t=1}^N h_{t,k}X(l,t) e^{-i 2\pi ft\Delta t}. }[/math]
The three leading Slepian sequences for T=1000 and 2WT=6. Note that each higher order sequence has an extra zero crossing.

The Slepian sequences

The sequence [math]\displaystyle{ \lbrace h_{t,k} \rbrace }[/math] is the data taper for the kth direct cross-spectral estimator [math]\displaystyle{ \hat{S}_k^{lm}(f) }[/math] and is chosen as follows:

We choose a set of K orthogonal data tapers such that each one provides a good protection against leakage. These are given by the Slepian sequences,[3] after David Slepian (also known in literature as discrete prolate spheroidal sequences or DPSS for short) with parameter W and orders k = 0 to K − 1. The maximum order K is chosen to be less than the Shannon number [math]\displaystyle{ 2NW\Delta t }[/math]. The quantity 2W defines the resolution bandwidth for the spectral concentration problem and [math]\displaystyle{ W \in (0,f_{N}) }[/math]. When l = m, we get the multitaper estimator for the auto-spectrum of the lth channel. In recent years, a dictionary based on modulated DPSS was proposed as an overcomplete alternative to DPSS.[4]

See also Window function:DPSS or Slepian window

Applications

This technique is currently used in the spectral analysis toolkit of Chronux. An extensive treatment about the application of this method to analyze multi-trial, multi-channel data generated in neuroscience experiments, biomedical engineering and others can be found here. Not limited to time series, the multitaper method can be reformulated for spectral estimation on the sphere using Slepian functions constructed from spherical harmonics[5] for applications in geophysics and cosmology[6][7] among others.

See also

References

  1. Thomson, D. J. (1982) "Spectrum estimation and harmonic analysis." Proceedings of the IEEE, 70, 1055–1096
  2. Percival, D. B., and A. T. Walden. Spectral Analysis for Physical Applications: Multitaper and Conventional Univariate Techniques. Cambridge: Cambridge University Press, 1993.
  3. Slepian, D. (1978) "Prolate spheroidal wave functions, Fourier analysis, and uncertainty – V: The discrete case." Bell System Technical Journal, 57, 1371–1430
  4. E. Sejdić, M. Luccini, S. Primak, K. Baddour, T. Willink, “Channel estimation using modulated discrete prolate spheroidal sequences based frames,” in Proc. of IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2008), Las Vegas, Nevada, USA, March 31-April 04, 2008, pp. 2849-2852.
  5. Simons, F. J.; Dahlen, F. A.; Wieczorek, M. A. (2006). "Spatiospectral Concentration on a Sphere". SIAM Review 48 (3): 504–536. doi:10.1137/S0036144504445765. Bibcode2006SIAMR..48..504S. 
  6. Wieczorek, M. A.; Simons, F. J. (2007). "Minimum-Variance Multitaper Spectral Estimation on the Sphere". Journal of Fourier Analysis and Applications 13 (6): 665. doi:10.1007/s00041-006-6904-1. 
  7. Dahlen, F. A.; Simons, F. J. (2008). "Spectral estimation on a sphere in geophysics and cosmology". Geophysical Journal International 174 (3): 774. doi:10.1111/j.1365-246X.2008.03854.x. Bibcode2008GeoJI.174..774D. 

External links

  • [1] C++/Octave libraries for the multitaper method, including adaptive weighting (hosted on GitHub)
  • [2] Documentation on the multitaper method from the SSA-MTM Toolkit implementation
  • [3] Fortran 90 library with additional multivariate applications
  • [4] Python module
  • [5] R (programming language) multitaper Package
  • [6] S-Plus script to generate Slepian sequences (dpss)