Windows11 WSL2 Ubuntu Python Ⅱ

相関係数予測精度向上

ここまでで相関係数予測ファイルが完成しました。
引き続き、相関係数予測精度を向上させたいと思います。
今まで相関係数予測で使用してきた豪ドル/円のデータ mane_chart_go.csv はほぼ100個しかありませんでした。
これをもっと大きなデータにして予測精度を上げることにします。
とは言うものの簡単ではありません。
まずは、大容量のデータが必要です。
マネーパートナーズのサイトに入るとダウンロードできるのですが会員登録が必要です。
はじめての方へ
に行って登録してみて下さい。
ちょっと古いものになりますが、下記から大容量データ mane_chart_go_long.csv をダウンロードすることができるようにしました。
これを manep-w フォルダを作成し、
Linux/Ubuntu-22.04/home/yamada/public_html/manep-w/mane_chart_go_long.csv
として保存してください。

相関係数予測精度向上ファイル作成

相関係数予測精度向上ファイルは 相関係数予測ファイルまとめ
で作成した dsc-5.py をもとに変更追加していきます。
大きな変更点は、表示するデータは最新の100個のデータと
25個の予測データ
(前20個は現データとの一致状況、後5個は未来の予測値)
に限定している点です。
要するに古いデータは表示しない点にあります。

25個の予測データ表示位置

xl_df = pd.read_csv("public_html/manep-w/mane_chart_go_long.csv", encoding="cp932")
Idx = xl_df.index
とすると25個の予測データ表示位置 Idx_25 は
Idx_25 = Idx[-25:] - Idx[-1] + 98 + 5
となります。
なぜ?
大容量データが1000個(0~999)あったとします。
Idx[-25:] = 975 ~ 999
Idx[-1]  = 999
小計    = -24 ~ 0
+ 98 + 5 = 79 ~ 103
となり、後5個未来の予測値は
99,100,101,102,103
の位置に、そして、前20個の現データとの一致状況は
79,80,81,・・・・・・・96,97,98
の位置にそれぞれ表示されます。

99本のロ-ソク足表示

使用したデータには非常に多くのロ-ソク足が存在しますが、実際に表示するのは99本のみに限定します。
dsc-5.py では使用したデータ数が少なかったのですべてを表示していました。
表示するロ-ソク足のデータをラストの99本に限定します。
Idx_99 = Idx[-99:] - Idx[-99]
Date_99 = Date[-99:]
Open_99 = Open[-99:]
High_99 = High[-99:]
Low_99 = Low[-99:]
Close_99 = Close[-99:]
これらをまとめると
ohlc = zip(Idx_99, Open_99, High_99, Low_99, Close_99)
となります。

結果の保存

出来上がったロ-ソク足予測チャートを保存します。
plt.savefig(
'/home/yasuhiro/public_html/manep-img/mane_chart_dsc.png')
次に予測値 w_5 と信頼度 cor_max を CSV データとして保存します。

  1. 予測値 w_5 列の作成

    w_5 = np.round(w[-5:], 3)
    # 3桁まで表示
    cor_max100 = np.round(cor_max * 100, 3)
    # 相関係数を%に変更、小数点以下を3桁まで表示
    w_5 と cor_max100 を合体
    w_5 = np.append(w_5, cor_max100)
    w_5 を pandas データフレーム型に変換
    w_5 = pd.DataFrame(w_5)

  2. 予測日 lastday_pd 列の作成

    予測日は lastday[0] にありますので、これに'信頼度(%)'の文字を付け加え
    pandas データフレーム型に変換します。
    lastday_me = np.append(lastday[0], '信頼度(%)')
    lastday_pd = pd.DataFrame(lastday_me)
    これで、pandas で操作することが可能になります。

  3. 予測日 lastday_pd と予測値 w_5 合体

    lastday_pd 列と w_5 列を合体します。
    df_concat = pd.concat([lastday_pd, w_5], axis = 1)
    2つの配列を pandas concat 関数を使用して横(列)方向(axis = 1)へ連結します。
    これを CSV ファイルとして保存します。

    df_concat.to_csv(
     '/home/yasuhiro/public_html/manep-img/mane_chart_dsc.csv',
     header=False, index=False)
    

ここまでで、dsc-5.py からの変更のポイントを説明しました。
引き続き、これらをまとめ変更ファイル dsc-6.py を表示します。


  • 相関係数予測精度向上ファイルまとめ に進む
  • 相関係数予測ファイル動作確認 に戻る
  • 相関係数予測ファイルまとめ に戻る
  • 相関係数予測 に戻る
  • 相関係数応用ファイルまとめ に戻る
  • 相関係数の応用 に戻る
  • すべての CSV データをスライシング に戻る
  • データのスライシング に戻る
  • データのスライシング(1次元) に戻る
  • データ結合ファイル動作確認 に戻る
  • pandas を使う に戻る
  • scikit-learn 動作ファイル確認 に戻る
  • scikit-learn インストール に戻る
  • 相関係数まとめ に戻る
  • NumPy を使う に戻る
  • ロ-ソク足表示ファイル作成 に戻る
  • pandas インスト-ル に戻る
  • Windows11 WSL2 Ubuntu Python パッケージ に戻る
  • 70VPS に戻る