記事「因果推論における時系列クラスタリング」についてのディスカッション

 

新しい記事「因果推論における時系列クラスタリング」はパブリッシュされました:

機械学習におけるクラスタリングアルゴリズムは、元データを類似した観察結果を持つグループに分けることができる重要な教師なし学習法です。これらのクラスタを用いることで、特定の市場クラスタを分析したり、新しいデータを基に最も安定したクラスタを探索したり、因果関係を推定したりすることが可能です。本稿では、Pythonによる時系列クラスタリングのための独自の手法を提案します。

クラスタリングとは、データセットをオブジェクトのグループ(クラスタ)に分割し、同一クラスタ内のオブジェクト同士は類似し、異なるクラスタ間のオブジェクトは異なるように分ける機械学習手法です。クラスタリングは、データ構造を明らかにし、隠れたパターンを特定し、類似性に基づいてオブジェクトをグループ化するのに役立ちます。

クラスタリングは因果推論に利用できます。この文脈でクラスタリングを適用する1つの方法は、特定の原因に関連付けることができる類似したオブジェクトやイベントのグループを識別することです。データがクラスタ化されると、クラスタと原因の関係を分析し、潜在的な因果関係を特定することができます。

さらに、クラスタリングは、同じ影響を受ける可能性のあるオブジェクトや共通の原因を持つオブジェクトのグループを識別するのに役立ち、因果関係を分析する際にも役立ち

作者: Maxim Dmitrievsky

 

私は「クラスタリングを使った取引のマッチング」の前と後を読んだが、何が違うのか理解できなかった。

記事からは、クラスタリングによる効果があるのかどうかがわからない。ランダム化が多すぎるため、結果を比較することができない。なぜseedを固定しないのですか、あるいはクラスタリング前のサンプルを保存し、クラスタリング前のサンプルとクラスタリング前のサンプルでseedを固定して作成手順を実行しないのですか?

ONNXではすべてのタイプのクラスタリングが保存でき、MQL5では特徴量を持つ生成されたベクトルは問題なくクラスタを参照できますか?

 
Aleksey Vyazmikin #:

私は「クラスタリングによる取引のマッチング」の前と後を読んだが、何が違うのか理解できなかった。 同じことが書かれているが、少し言葉が違う。

記事からは、クラスタリングによる効果があるのかどうかがわからない。ランダム化が多すぎて、結果を比較することができないからだ。シードを固定するか、クラスタリング前のサンプルを保存し、クラスタリング前のサンプルとクラスタリング前のサンプルでシードを固定して作成手順を実行することはできないのでしょうか?

ONNXではすべてのタイプのクラスタリングが保存でき、MQL5では特徴量を持つ生成されたベクトルは問題なくクラスタを参照できますか?

最初のケースでは、モードはクラスタリングされ、ボットは選択されたクラスタで取引します。2つ目のケースでは、ボットはすべてのクラスタで取引しますが、各クラスタからの取引には一定の重みが割り当てられます。

クラスタが異なると、トレーニングの結果が良くなったり悪くなったりするため、クラスタリングによる影響があります。

クラスタリングのonnxへのエクスポートについては知らない。

 
Maxim Dmitrievsky #:
最初のケースでは、モードはクラスタ化され、ボットは選択されたクラスタで取引を行う。2番目のケースでは、ボットはすべてのクラスターで取引するが、各クラスターからの取引には一定の重みが割り当てられる。

なぜか私は、最初のケースでは、各クラスタごとに別々のモデルが作成されると考えていました。では、どのようにクラスタを選択するのですか?

2つ目のケースでは、私は理解しています - 以前の記事を読んでいません - 簡単に言うと、重み付けはどのように行われるのですか?

Maxim Dmitrievsky#:
クラスタリングは、異なるクラスタがより良い/悪い学習をするので、効果があります。

まあ、実際、そこには異なるサンプルがあるのですが......。

 
Aleksey Vyazmikin #:

なぜか私は、最初のケースではクラスターごとに別々のモデルが作成されると思っていました。その場合、クラスターはどのように選択されるのでしょうか?

2つ目のケースでは、私は理解しています - 以前の記事を読んでいません - 簡単に言うと、重み付けはどのように行われるのですか?

実際、そこには異なるサンプルがあるわけですが......。

最初のケースでは、モデルはクラスタごとに学習されます。クラスタはテストでの取引結果に基づいて選択されます。

2つ目のケースでは、クラスタは悪い取引を除外するために使われます。まず、サンプルが n 個のクラスタにグループ化され、各クラスタについて、正しく予測されな かった例がカウントされ、悪い例としてマークされます。いくつかのクロス・トレーニングのフォールドにわたる悪い例の平均が使用されるため、各クラスタの平均は異なる。つまり、(以前の記事のように)データセット全体でフィルタリングするのと、各クラスタでフィルタリングするのとでは、平均値に違いがある!

 
Aleksey Vyazmikin #:

まあ、基本的には違うサンプルだけど...。

異なるサンプル=ボラティリティの点で異なる市場レジーム。このモデルは、あるサンプルではより安定し、あるサンプルではより安定する。これが最初のケースです。

2つ目のケースでは、悪いトレードを取り除き、すべてのモードでトレードする。

学習プロセスは自動化されランダム化されているので、クラスター数やその特異性には興味がない。私が興味があるのは、異なるTSの束から選ぶことができる、出力における既製のTSである。
 
Maxim Dmitrievsky #:
複数のクロストレーニングフォールドにわたる悪い例の平均が使用されるため、各クラスタの平均は異なる。

サンプルが小さければ小さいほど、再サンプリングされる可能性が高くなるという事実とは違うのですか?

Maxim Dmitrievsky#:
異なるサンプル=ボラティリティの点で異なる市場レジーム。このモデルは、あるサンプルでは他のサンプルよりも頑健に機能します。これは最初のケースの場合です。

最初のケースは、ある意味で明確です。

Maxim Dmitrievsky#:
訓練プロセスは自動化されランダム化されているので、クラスタ数やその特異性には興味がありません。私が興味があるのは、異なるTCの束から選ぶことができる、出力の準備ができたTCです。

選択することは常に良いことですが、選択された出力とトレーニングサンプル以外の実際のパフォーマンスとの関係を検出するためのパターンや基準はあるのでしょうか?

 
Aleksey Vyazmikin #:

サンプルが小さいほど、再サンプリングされる可能性が高いという事実とは違うのか?

最初のケースでは、私たちがよく学んだことをそのままにしています。

選択することは常に良いことですが、選択された結果と訓練サンプルの外にある実際の指標との間に相関関係を見つけることができるパターンや基準はあるのでしょうか?

真実の基準は練習)

もう1つ興味深い効果がある。最初のケースでは、どちらのモデルも0.99の精度でトレーニングされています。これは、モデルを校正し、「真の確率」を導き出す道を開くものである。私が別の記事で考えたかったことは、もしかしたら次のようなことかもしれない。
 
Maxim Dmitrievsky #:

真実の基準は実践)

もうひとつ興味深い効果が得られた。最初のケースでは、どちらのモデルも精度0.99で学習される。これは、モデルを校正し、「真の確率」を導き出す道を開くものである。私が別の記事で考えたかったことだ。

もちろん書くが、説明がないとわかりにくかったので、もう少し詳しく書いたほうがいい。

 
Maxim Dmitrievsky #:

真実の基準は実践)

もうひとつ興味深い効果が得られた。最初のケースでは、どちらのモデルも精度0.99で学習される。これは、モデルのキャリブレーションと「真の確率」の導出に道を開くものである。これは別の記事で取り上げたい。
すでに新しい記事を待っている。
 
Aleksey Vyazmikin #:
は0.99の精度で学習される。

テストの精度は?重要なのはGAPだ。