以下の記事はフィクションであり、実在の関数 公式 アルゴリズムなどとは 一切関わりありません

ホントはエイプリルフールのネタに寝かせておこうかと思ったのですが、ちょっと目が冴えたので落書き。

みなさん、すでにフーリエ変換とかFFTはご存知だと思うので そのあたりの説明は省略

微分としてのフーリエ変換

こんなありがちな時系列データ f が手元にあるとします。

これを微分したい! たとえば、2点間の距離変化のデータだったとしたら、以前よりも伸びてるのか縮んでるのか調べたい。

ありがちなのが、適当に2つの期間の平均値をとって、その差を調べる方法。

ですが 「短期的に見ると下落してるけど、5年ぐらいのスパンで見るとあがってる」 みたいなこともありがちです。


ここで、fを微分する作業として、こんな窓関数を考えます。みなさんご存知のサイン関数とそっくりですが。
まずは 区間全体と掛けて合計してみます。
増加してたらプラス 下降してたらマイナスとなります

でも、短期的な変化も知りたいので、区間を半分にして、それぞれ 同じ窓関数と掛けて平均します。


さらに区間を分割していきます。



さて、同様に、この 時系列データ f の二階微分をとりたいときは、(無理矢理)こんな窓関数を考えてみます。
(ご存知コサインですね。

 (f1 - f2) - (f2 - f3) = f1-2*f2 +f3 
というわけです。

これをまとめると

微分 F(1)(n) = Σ f(t)sin(2nπt)

二階微分 f(2)(n) = f(t)cos(2nπt)

tは区間内での位置=時刻 0<=t<=1

というどこかで見た式(=離散フーリエ変換)になります。

テーラー展開としての逆フーリエ変換

さて、この微分 F(1) 二階微分 F(2) を使って もとの 時系列データ f を表現してみましょう

関数 f を その微分で表現する、といったら、テーラー展開です。

f(t) = Σ α1 F(1)(n)(t) + Σ α2 F(2)(n)(t) +
    + Σ α3 F(3)(n)(t) + Σ α4 F(4)(n)(t) +....

と、無限に続くのですが、 F(2) までしか計算してありません。困った。

なのですが、微分の中身は、ここでは三角関数です。
三角関数微分

Sin → Cos → -Sin → -Cos → Sin
とループしているので、微分と二回微分だけ計算してやれば 残りは この2つの項の係数に入ってくることになります。

これで、逆フーリエ変換もできました。めでたしめでたし。

おしまい。