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

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

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

はじめに

前回は、フーリエ変換、逆フーリエ変換の数式を再確認した上で、
問題点を列挙。
一言で言うと「無限」の扱いが厄介。
とりあえず、「無限」を極めて大きいとされる「有限」に置き換えることで対策はできそう。

今回も前回に引き続き検討。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

方針再掲

フクさん
フクさん

前回、打ち出した方針を再掲しておこう。

  • 入力サンプリングの半分の期間を\(L\)とし、これを\(\infty\)と解釈する
    • 半分の期間\(L\)がどんな値であっても\(\infty\)に相当する十分に大きい値とする。
  • 関数同士の内積が取れる用、\(f(t),F(\omega),f(x)\)は全て同一の要素数\(N\)とする。
    • 要素数\(N\)がどんな値であっても\(\infty\)に相当する十分に大きい値とする。
    • これに伴い\(t,\omega,x\)も要素数\(N\)
  • \(d\omega\)は好きな値を取れるが、要素数\(N\)が有限であるため、あまり小さいと高周波成分が欠落する可能性はある。

重要なのは要素数\(N\)

フクさん
フクさん

この中で、重要なのは要素数\(N\)だな。
半分の期間\(L\)は、実はいくつでも良くて、今回に於いては\(\pi\)で良いと思う。
関数や変数に付随するベクトル要素数は要素数\(N\)に依存してるし。
というか要素数\(N\)に依存させないと逆フーリエ変換でつまづきそうだし。

太郎くん
太郎くん

つまり、
\(f(t)\)のベクトル要素数は\(N\)。
そこらかベクトル要素数は\(N\)の\(F(\omega)\)に変換
それをベクトル要素数は\(N\)の\(f(x)\)に逆変換。
ってことか。

フクさん
フクさん

そうそう。
要素数\(N\)に切りそろえると全体の因果性が揃うんで、
数式を組み易くなる。

数式上でベクトルとなるのは結局どれ?

フクさん
フクさん

一応、フーリエ変換と逆フーリエ変換の数式上で、
どこがベクトルとして扱われるのかを分かるよう、赤文字にしておいた。

■ フーリエ変換
\(\displaystyle \color{red}{F(\omega)}=\int^{\infty}_{-\infty} \color{red}{f(t)}e^{-i\color{red}{\omega} t}dt\)

■ 逆フーリエ変換
\(\displaystyle \color{red}{f(x)}=\frac{1}{2\pi}\int^{\infty}_{-\infty}\color{red}{F(\omega)}e^{i\omega \color{red}{x}}d\omega\)

太郎くん
太郎くん

うーん、分かるやらわからないやら・・・。

フクさん
フクさん

内容としては先に書いた文章をそのまま数式上で表現しただけだ。
文章として理解できていれば数式の理解は不要でも良いよ。

太郎くん
太郎くん

なんとなく理解した気がするから数式は一旦無視しよう。

フクさん
フクさん

(そういう開き直りもどうかと思うが・・・。)

これでプログラムを組めるのか?

太郎くん
太郎くん

で、これでプログラムは組めそう?

フクさん
フクさん

私がプログラムを作る前提になってるのか?

太郎くん
太郎くん

えええーーー???!
僕が作るの――?!!
これは流石に無理だぁっぁあぁぁ!

フクさん
フクさん

時間はある程度、取ってもらっても構わないが。

太郎くん
太郎くん

時間かけてなんとかなる気がしないよー。
これは無理だぁぁぁあぁ。

フクさん
フクさん

(ここまで拒否反応を示すのか・・・。)

フクさん
フクさん

わかった。
私の方で試しに作ってみよう。
最初は簡単な波形で試して、株価チャートとかはその後に改めて。
ってやり方になると思う。

太郎くん
太郎くん

それが良いと思うよー。
徐々に簡単なところから実験していかないと何か問題かわからなくなりそう。

フクさん
フクさん

そうだな。
そもそもとして方針そのものが間違ってる可能性もあるからな。
どっちにしても次回までに何かしら作ってこよう。

太郎くん
太郎くん

よろしくー。

まとめ

フクさん
フクさん

まとめだよ。

  • 前回、打ち出した方針を再掲。
  • 要素数Nが重要。
    • 関数、変数のベクトル要素数がNできり揃う。
    • これにより、逆変換も苦にならない想定。
  • 文章で表現したものを数式で表現。
    • ベクトルになる箇所を明確にした。
  • プログラム化はやってみないとわからん。
    • なんとか辻褄合わせができるよう頑張る。

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

コメント

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