#author("2026-02-20T06:35:02+01:00","","")
#author("2026-02-20T06:36:05+01:00","","")
[[技術資料]]

*非定常性を考慮したシンボリック回帰による解釈可能な為替市場モデルの構築[#lf8d4330]
**もくじ [#q244e13f]

#CONTENTS
**必要なモジュール [#rfca96e2]
|必要なモジュール|バージョン|インストール方法| |必要なモジュール|バージョン|インストール方法|
|pandas|1.5.3|pip install pandas==1.5.3| |numpy|1.23.5|pip install numpy==1.23.5|
|torch|2.7.0+cu118|https://pytorch.org/get-started/locally/| |sympy|1.14.0|pip install sympy==1.14.0|
|symbolicregression||https://github.com/facebookresearch/symbolicregression| |requests|2.32.3|pip install requests==2.32.3|
|IPython| || |sys|||
|os||| |sys|||
バージョンやインストール方法を記述していないものはおそらくもともと入っているもの

symbolic regression
**プログラム [#u7c030c5]
iie.lab.tpu2324@gmail.comのドライブ(学生→23_o1蒲田→保存期間5年→修論(プログラム))状にあるフォルダをすべてインストール.
**実行手順 [#d5f974f5]
データの収集→時系列クラスタリング→階層的クラスタリング→実験計画法→シンボリック回帰.

プログラムではdata_ipynb→time_kaisou_LHS_last→各実験プログラム

以下では少し詳細に各々のコードについて説明

**データの収集 [#p3ca9322]

このプログラムではpythonのモジュールであるyfinanceを使ってデータを収集している. 
または,investing.comや日本銀行時系列検索サイトから取得.
これらのサイトではcsvファイルがそのまま公開されているため,それぞれダウンロードし,data.ipynbを用いて結合.10年債利回等がそれにあたる.
また,さらに追加したい変数があればそれも各々追加し,data.ipynbを書き換え.
***用いるデータ [#rfca96e2]
#ref(data0220.PNG,,80%)

**時系列クラスタリングからLHS [#p3ca9322]
time_kaisou_LHS_last.ipynbに一連のコードが記載.
実行すると以下の結果が出力される.
#ref(kousa.png,,80%)
この結果はそれぞれ,ME(月次),2ME(2か月足),QE(4半期)のウィンドウ幅でそれぞれどのレジーム数が最適で,Scoreが最高なのはどれか(交差検証の結果)を表示している.

ここで,Silはシルエット係数,F1(Macro)はそのウィンドウ内での予測精度(線形回帰の結果)を示す.

この場合は月次でレジーム数が2のものが最適である.
#ref(regime.png,,30%)
ここで,月ごとのレジームが確認できる(青色がレジーム0, オレンジ色がレジーム1など).

LHSによって作成された実験計画を表示すると以下のようになる.
#ref(LHS.png,,60%)
実験計画のサンプル数や変数クラスタ数を変更する場合は,パラメータ設定,変数選択の設定をいじる.詳しいことはプログラムコードのコメントを確認.

次にシンボリック回帰を実行する
**シンボリック回帰 [#p3ca9322]
各実験プログラムについて簡単に解説
***ablation.ipynb [#r9122e9a]
クラスタ分けをした場合としなかった場合との比較をするためのコード

F1スコア,決定係数,複雑度から性能を評価

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS