STFT

  • 異常値の検知など、長い時系列データの全体の傾向ではなく、短い時間でのことを知りたい場合がある
    • そこで使うのがSTFT(短時間フーリエ変換)
    • 時系列データを分割して、別々にFFTに入れただけ
      • FFTに入れると無限長の信号扱いになって境界で不連続になるから、 [[ 時間窓 ]]を使う
    • 短時間でも低周波成分は入ることに注意
      • 局所的な性格が反映されやすく、遠い時刻のことが反映されなくなるというだけ
    • FFTと違って時間軸を含めた3つの軸が必要になるから、スペクトルとは別の図を使う。それがスペクトログラム。時間と周波数で平面を作って、成分の強さは色で表現する。
  • しかし、 [[ フーリエ変換の不確定性原理 ]]により、周波数での分解能と時間での分解能を両立することはできない
    • 長い時間窓でみると細かい周波数の差がわかる
    • 短い時間窓で見ると周波数は大まかにしかわからない
    • これに妥協するのがウェーブレット変換
  • 実装
    • scipy.signal.specgram を使うと描画までやってくれる
      • スペクトログラムのデータ自体は取れない
    • データがほしいときは 参考A を参照

参考

Backlinks