バックナンバーはこちら。
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できり揃う。
- これにより、逆変換も苦にならない想定。
- 文章で表現したものを数式で表現。
- ベクトルになる箇所を明確にした。
- プログラム化はやってみないとわからん。
- なんとか辻褄合わせができるよう頑張る。
バックナンバーはこちら。
コメント