トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 1278

 
elibrarius:

マキシムが発見した順列と似たようなもの。しかし,0.1から0.2までの変動を持つ予測変数の代わりに,800から300000までの変動を持つ予測変数で代用することに意味があるのでしょうか?ダメだ!

しかし、その列をシャッフルすると、そうなります。数値の範囲や確率分布は残りますが、各例の数値はランダムになります。

そうですね、確かに似たようなもので、その時に思いついたのでしょう。各予測は、ライン上の独自の値を持っているので、私は、予測式を変更するための問題が何であるかを理解していなかった、我々は何とかこれらの値のグリッド内訳(それは均一な ステップ0.1 0.2 0.3 または他のことができます - バリアントは、モデラの異なる開発者から入手できます)、それは可能であれば、木アルゴリズムが動作したときにあったように、保存する必要があります。

また、重要なのは、すべてのサンプルではなく、前の葉が活性化した行を正確にチェックし、データの精度を比較できるようにすること、つまり、サンプルを事前にろ過する必要があることです(異なる葉での評価のために、それぞれ異なるろ過を行うこと)。

 
Aleksey Vyazmikin:

たしかに似ていますね、その時に思いついたのでしょう。各予測器はライン上に独自の値を持っているので,予測器を変更することの何が問題なのか理解できませんが,可能であれば,これらの値のグリッド内訳(均一ステップ 0.1 0.2 0.3 またはその他 - モデラーの異なる開発者用のオプションがあります)を,木アルゴリズムが働いたときと同様に維持する必要があります.

最大値が0.2であった予測変数の代わりに、800から300000までの値を持つ他の予測変数の値を代用するのですか?そして、それは必ず正しい枝に行くことが判明します。そして、右と左の両方の枝をチェックする必要があります。
正規化すれば範囲内に収まりますが、確率分布が 異なる場合があり、その結果、右の枝が左の枝より多くトリガーされたり、逆に左の枝が左の枝より多くトリガーされたりします。
それとも、私があなたの考えを誤解して、違うことを話しているのでしょうか。

Aleksey Vyazmikin:

もう一つ重要なことは、サンプル全体をチェックするのではなく、前の葉が活性化した行を正確にチェックすることで、データの精度を比較できるようにすること、つまり、サンプルを事前にフィルタリングすることです(異なる葉での評価のため、それぞれ異なるフィルタリングを行います)。

予測器を破棄することで、そのデータを分離するノードを削除します(なぜ別葉なのか?)各ノードを破棄することで、2つの枝をチェックする必要があります。10個のノードを捨てると、11枚の葉を持つ11個の選択肢(サブツリー)が答えとして得られる。これは平均化する必要があり、シャッフルされた列でサンプル全体を実行すると、最終的なツリー/フォレストエラーの変化でおおよそ示されます。
この記事には、すべてが詳細に記述されています。

 
エリブラリウス

最大値0.2の予測変数の値を、800から300000の間の値を持つ他の予測変数の値に代入するだけです。そして、必ず右側の枝に行くことが判明します。そして、右と左の両方の枝をチェックする必要があります。
正規化すれば範囲内に収まりますが、確率分布が異なる場合があり、その結果、右の枝が左の枝より多くトリガーされたり、逆に左の枝が左の枝より多くトリガーされたりします。
あるいは、あなたの考えが理解できず、違うことを話している。

予測器を破棄することで、そのデータを共有するノードを破棄することになります(これが別シートと何の関係があるのでしょうか?)。各ノードを破棄することで、2つの枝をチェックする必要があります。10個のノードを捨てると、11枚の葉を答えとする11個の選択肢が得られます。これは平均化される必要があり、シャッフルされた列でサンプル全体を実行すると、最終的なツリー/フォレスト誤差の変化でおおよそわかります。
ペミュテーションについての記事を読んでみてください。そこには、すべてが詳細に記述されています。

私の方法は、ペミュテーションではないので、再現できません。

私は、葉はすでに完成されたルール、つまり何らかの観測の特徴であり、木構造でなくてもすでに存在する可能性がある、という別の観点から話を進めています。ツリーとは、観測結果からルールを生成するためのツールである。

もちろん,いくつかの予測変数がサンプルの同じ部分で修正されたリーフルールをまったく機能させなくすることには同意しますが,目的は最良のアナログを見つけてそれとだけ比較することなので,これは問題ではありません - 分割によってサンプルを分割するいくつかの予測変数が失われるのは普通ですが,通常これは個々の予測変数の値系列にのみ関係することです.例えば、3つの予測変数A>3 && B<1 && C>のシートがあるとします。=20, リスト・ルールに含まれない予測変数DとEがあり,それぞれ,各予測変数,Aを1つずつ削除し,予測変数の値分割格子と不等号の異なるステップを持つDとEに置き換える必要がある,この場合,元のサンプルが活性化している同じ部分で各新しいルールをチェックし,各ルールの分類精度の統計を得ることができる.そして、それに応じて、オリジナルと比較し、この比較に点数をつけるのが最良の選択です。この手順をすべての葉に対して行うこと。重複している葉を除く。重要なのは、ツリーの結果をルールの集合として評価するのではなく、リーフに記述された各ルールを他のルールと区別して評価することである。

私は、欲張りな木に対する予測因子の重要性ではなく、モデルが提案するルール(葉)の安定性に対する予測因子の重要性を判断しようとしているのである。
 
アレクセイ・ヴャジミキン

私の方法は、ペミュテーションではないので、再現できません。

私は、葉はすでに完成されたルール、つまり何らかの観測の特徴であり、木構造でなくてもすでに存在する可能性がある、という別の観点から話を進めています。ツリーとは、観測結果からルールを生成するためのツールである。

もちろん,いくつかの予測変数がサンプルの同じ部分で修正されたリーフルールをまったく機能させなくすることには同意しますが,目的は最良のアナログを見つけてそれとだけ比較することなので,これは問題ではありません - 分割によってサンプルを分割するいくつかの予測変数が失われることは普通ですが,通常これは個々の予測変数の値系列にのみ関係しています.例えば、3つの予測変数A>3 && B<1 && C>のシートがあるとします。=20, リスト・ルールに含まれない予測変数DとEがあり,それぞれ,各予測変数,Aを1つずつ削除し,予測変数の値分割格子と不等号の異なるステップを持つDとEに置き換える必要がある,この場合,元のサンプルが活性化している同じ部分で各新しいルールをチェックし,各ルールの分類精度の統計を得ることができる.そして、それに応じて、オリジナルと比較し、この比較に点数をつけるのが最良の選択です。この手順をすべての葉に対して行うこと。重複している葉を除く。重要なのは、ツリーの結果をルールの集合として評価するのではなく、リーフに記述された各ルールを他と区別して評価することである。

欲張りツリーに対する予測因子の重要性ではなく、モデルが提案するルール(葉)の安定性に対する予測因子の重要性を判断しているのです。
今までは足場を組んでいたんです。だから、あなたのMOの方向で - あなたは何をすべきかを知っている)
 
エリブラリウス
今は足場を組んでいます。だから、あなたのMOの方向で - あなたは何をすべきかを知っている)

つまり、みんなが自分のことを話していることがわかったんです :)

同じAlglibで、ユニークな予測変数のみ、あるいは少なくともユニークな分割でフォレストを構築する実装は現実的なのでしょうか?もちろんツリーは少なくなりますが、エラーや正解が重複しないので、サンプルトレーニングの段階から、より確かな情報を得られるはずです。

 
アレクセイ・ヴャジミキン

同じAlglibで、ユニークな予測変数のみ、あるいは少なくともユニークな分割でフォレストを構築する実装は現実的なのでしょうか?もちろん木は少なくなりますが、間違いや正解が重複しないので、学習用サンプル以外ではより信憑性が高くなるはずです。

もちろんです。MQLでは、他の言語と同じように何でもプログラムすることができます。そして、アルグリブは、あなたのアイデア次第で、見違えるように書き換えられるかもしれません。

 
エリブラリウス

もちろんです。MQLでは、他の言語と同じように、何でもプログラミングすることができます。そしてアルグリブは、自分の考えに合うように、見違えるほど書き換えることができます。

現実的に」という言葉の中に、「それくらいシンプルに」と入れたのですが...。

でも、その答えから、ありがとう、気にしない、という態度が見えてくる。

 
アレクセイ・ヴャジミキン

現実的に」という言葉の中に、「それくらいシンプルに」と入れたのですが......。

しかし、その回答から、ありがとうございます、気にしません、という態度が理解できる。

もちろん、複雑です。
しかし、ツリー関数という形でベースがある。それこそ好きなように改造してください。
 
エリブラリウス
もちろん、難しい。
しかし、ツリー機能という形でベースがある。それこそ、自由に修正できる。

ご返信ありがとうございました。コードをよく理解されているようですが、ツリー構築のアルゴリズムを改良して公開する予定はありますか?ツリーの深さや、定義可能なルール観測数サイズへの組み込みプルーニングのようなものでさえ、そこでは非常に有用でしょう。私自身はまだAlglibを使い始めていませんが、とても便利だと思う方もいらっしゃるでしょう。

 
アレクセイ・ヴャジミキン

ご返信ありがとうございました。コードをよく理解されているようですが、ツリー構築のアルゴリズムを改良して公開する予定はありますか?ツリーの深さや、定義可能なルール観測数サイズへの組み込みプルーニングのようなものでさえ、そこでは非常に有用でしょう。私自身はAlglibを使いませんでしたが、とても便利だと思う方もいらっしゃるでしょう。

それを把握することと、リリースをすることは別のことです。今、実験しているところです。今、予想屋を混ぜているんです。ノイズに対応できずNSを放棄したように、私も放棄するかもしれません。

それを見極めるのは、とても簡単です。数時間コードを眺めていれば、すべてが明らかになる。