Multitaper method の直感的な説明・その1

名前はよく聞いていたがどんなものかよく知らなかった multitaper method (MTM) について、いろいろ文献を読んでみて、とりあえず「気持ち」の理解ができたようなので忘れないうちにメモ。

まずどういうときにMTMを使うかというと、たとえば時系列データの場合だと

  1. 短いデータからパワースペクトルを推定したいとき
  2. データが長くても、パワーの時間変動を知るために(time-frequency analysis)、短時間のセグメントからパワー推定をしたいとき

などに使われる。2.の場合には wavelet が広く使われているが、wavelet とMTMの優劣については今のところよくわからない。だが実用的には wavelet のほうが便利だと思うし、もともとMTMはピークの検出のために開発されたっぽいので、time-frequency analysis には向いてなさそう*1。ということで主に1.の用途を念頭において説明していくことにする。

短いデータに対するパワースペクトル推定で問題となるのは、主に以下の2点。

  1. 短いデータをむりやり無限の繰り返し時系列の一単位とみなしてフーリエ変換することに起因する、スペクトルの「漏れ」(spectral leakage)。
  2. たまたまそのデータに乗ってしまったノイズに起因する、スペクトルの「ばらつき」。

1.の「漏れ」というのは、たとえ元データが純粋な正弦波であっても、有限長のデータしかないと、フーリエ変換してもデルタピークにならず、周りの周波数にもパワーがあるように見えてしまうということ。これをなんとかする(ごまかす)ために、普通は窓関数というのを元データに掛けてやってからフーリエ変換するのだが、この窓関数の作りかた+使い方を工夫することによって、スペクトルの「漏れ」を最小限に抑え、かつ2.の「ばらつき」をも抑えてしまうことができる、というのがMTMのメリット(だと理解した)。

次回に続く。

*1:たとえば、MTMでは基本的にセグメントの幅を決めてしまうと周波数の解像度はどの周波数帯でも一定なので、wavelet のように時間・周波数解像度のトレードオフを周波数ごとに調節することができない。(そのへんは short-time fourier transform と同じ。)