【連続系】MATLAB、Pythonで株価予測 その65【フーリエ変換②】

【連続系】MATLAB、Pythonで株価予測 その65【フーリエ変換②】 株価予測
【連続系】MATLAB、Pythonで株価予測 その65【フーリエ変換②】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/stock-predict-matlabpython-backnumber/

はじめに

前回、さらに適切な周波数を特定できないか検討し始めたところ。
10[Hz]じゃなくて9.7[Hz]が実はより適切だったかも。
ってあたりが動機。

今回は、そこの解決策を説明する。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

細かい周波数特性の取り方

太郎くん
太郎くん

んで、細かい周波数特性を得る手段ってあるの?

フクさん
フクさん

答えは簡単だ。
フーリエ変換を使えば良い。

太郎くん
太郎くん

フーリエ変換はいままでも散々使ってきてたじゃん!

フクさん
フクさん

今まで使ってきてたのはFFTことDFTだ。

太郎くん
太郎くん

何が違うというのだ・・・。

FFTことDFTはそもそも離散的

フクさん
フクさん

フーリエ変換とDFTは別物だ。
まぁ目的が一緒なので、同一とも言えるのだけど、
最大の違いはDFTは離散的で、フーリエ変換は連続的ってところだな。

太郎くん
太郎くん

いやいやいや!
その前にDFT、FFTってフーリエ変換のデジタル版でしょ?
そこに対して離散だ、連続だって言われても、
「そりゃそうじゃん!」
にしかならないじゃん!

フクさん
フクさん

まずそこが認識違いだな。

太郎くん
太郎くん

何が違うというのだ・・・。(2回目)

フクさん
フクさん

DFTはフーリエ変換からの拡張概念ではなく、
複素フーリエ係数からの拡張概念なんだよね。
根っこの部分が違う。

太郎くん
太郎くん

あ。
そういえば、そういうこと以前言ってたような・・・。

フクさん
フクさん

ここで言った記憶はある。

太郎くん
太郎くん

うーん、ここら辺は、いろいろ情報が山のようにと言うか津波のように来たので、ぶっちゃけほぼ覚えてない。

フクさん
フクさん

(マジかーい。)

フクさん
フクさん

まぁどっちにしても、一旦別物を思ってもらった方が良いな。

フーリエ変換をどう使う?

太郎くん
太郎くん

で、フーリエ変換が連続的ってことだから、
DFT,FFTのように整数倍の周波数以外も拾えるって理屈だと思うのだけど、
具体的に何をどうすれば良いのかが全く分からん。

フクさん
フクさん

ぶっちゃけ私もわからん。

太郎くん
太郎くん

なんじゃそりゃーー!!

フクさん
フクさん

フーリエ変換をそのままプログラムとして扱う場合、いろいろ問題があるんだよね。

太郎くん
太郎くん

そ、そうなの?

フクさん
フクさん

まず、フーリエ変換の数式を確認しよう。

\(\displaystyle F(\omega)=\int^{\infty}_{-\infty} f(t)e^{-i\omega t}dt\)

太郎くん
太郎くん

うん。
なんか、やっべー雰囲気を醸し出してる式だったのだけ覚えてる。

フクさん
フクさん

積分の範囲が\(-\infty~\infty\)の範囲。
\(f(t)\)が連続的な関数。
\(F(\omega)\)も連続的な関数。
これらを解決してあげる必要がある。

フクさん
フクさん

さらに、逆フーリエ変換で元の時間領域に戻す必要があるんで、
逆変換を想定した構造にする必要もあるな。

太郎くん
太郎くん

????

フクさん
フクさん

まぁ私もちょっと考える時間が欲しいから、次回に細かく解説しようと思う。

太郎くん
太郎くん

(もうお腹一杯なんだけど・・・。)

まとめ

フクさん
フクさん

まとめだよ。

  • 細かい周波数特性の取り方としてフーリエ変換を利用することとした。
    • フーリエ変換とDFT,FFTは別物。
    • 目的が一緒なので、本来は気にしなくても良いが、今回に限っては別物扱いせざるを得ない。
  • フーリエ変換の連続的、範囲が∞であることがプログラム化に対しての大きな課題。
    • そもそも出来るのかもわからん。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました