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

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

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

はじめに

前回は、フーリエ変換、逆フーリエ変換のPython(Numpy)版のコードを作成。
Numpyの場合、内積の演算子は「@」で「*」だとアダマール積になり、結果が全く異なる点に注意が必要。

今回は実際にコードの動作確認。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

フーリエ変換、逆フーリエ変換(Python版)

太郎くん
太郎くん

じゃ、前回のPythonコードを動かすよー。

・・・実行中・・・

太郎くん
太郎くん

うん。
狙い通りの結果じゃないかな。

フーリエ変換、逆フーリエ変換(Python版)最大周波数127Hz
太郎くん
太郎くん

1[Hz]、3[Hz]、7[Hz]が取れてるからOKだね。

フクさん
フクさん

ただ、この状態はまだFFTと同レベルの粒度だけどね。

周波数粒度を上げてみる。

太郎くん
太郎くん

確か、Wmaxを調整すればOKだったよね?

フクさん
フクさん

そうそう。
MATLABの時は20[Hz]に設定したね。

太郎くん
太郎くん

じゃー、コード内のWmaxを20[Hz]に調整。
その結果がこれ。

フーリエ変換、逆フーリエ変換(Python版)最大周波数20Hz
太郎くん
太郎くん

MATLABの時と同じ結果だね。

フクさん
フクさん

MATLABでもPythonでも同じような実験はできそうだな。

ちょっと気になった点

太郎くん
太郎くん

そういえば、MATLABもPythonもフーリエ変換、逆フーリエ変換でfor文で回してたじゃん?

フクさん
フクさん

そうだね。

太郎くん
太郎くん

で、MATLABの時は、これをfor文無しでできるようなこと言ってたけど、
それはPython(Numpy)も一緒と思って良いのかな?

フクさん
フクさん

うーん、それは試してないからわからないなー。
そういう意味では、MATLABの方もコードレベルでは試してないな。
現状、

「つまり両方ともできるはず」
って程度だ。

太郎くん
太郎くん

そこも確認できると面白そうかなーって思ったんだけど。
実はMATLABで出来て、Python(Numpy)では出来ない。
とかあるなら知っておきたいし。

フクさん
フクさん

まぁどっちもできるとは思うけど、
確かに何かしら制約はあるかもしれないな。

太郎くん
太郎くん

じゃ、そこら辺の確認よろしくー。

フクさん
フクさん

(やっぱり私がやるのか・・・。)

まとめ

フクさん
フクさん

まとめだよ。

  • フーリエ変換、逆フーリエ変換(Python版)の動作確認実施。
  • Wmaxを修正して周波数精度を引き上げた処理を実施。
  • 以前、for文無しでもフーリエ変換、逆フーリエ変換が可能と言ったが、MATLAB、Python(Numpy)双方でできるか確認してみる。

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

コメント

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