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

 
Aleksey Vyazmikin:

しかも、このやり方は私が長年続けていることです。

しかし、本当に遅いので、ターゲットを素早く変更する(良いものを探す)ことができないし、個々のルールも履歴でどう確認しても動かなくなるので、今はやや先送りにしています。

Maximさん、Pythonで、CSVファイルのデータからモデル(または100個のモデル)を作成し、CatBoostの 標準的な方法で予測変数の重要度を分析し、特定の条件で予測変数の使用を禁止/許可(CatBoostはそれができる)して、新しいモデルを再度作成するサイクルのスクリプトを作っていただけませんか。この方法によって、モデルの改善につながる重要な予測因子を割り当てることができる。私も似たような方法を使っていますが、毎サイクル、予測変数の選別や追加を行った後、手動で学習サイクルを再開しなければならないので、非常に不便です。

まだまだ

そして、私はこの方法を信じていません(私はより良い、より速い倍数を知っています)。

 
マキシム・ドミトリエフスキー

まだです。

と、私はこの方法を信じていません(私はより良い、より速い倍数を知っています)。

アプローチはうまくいく - 信念の問題ではない

そして、どの方法がより速く、より良いのか、効果を比較してみましょう。

 
Aleksey Vyazmikin:

働き方改革は、信念の問題ではありません。

そして、どのアプローチがより速く、より良いのか、効果を比較してみましょう!?

これが信仰の問題でないためには、何らかの証明が必要です。

モデルからフィーチャーを削除するとインタラクションが変化するので、好きなだけフィーチャーを並べ替えることができる
 
ご存知のように、NS、Forest、Boostは、それ自体でMAや他のデジタルフィルター タイプの機能を再現することができます。また、50~100本のバーをフィードするだけなら、同じMAをフィードする意味がないように思います。
ディープニューラルネットワークでは、そうかもしれませんね。
しかし、規制されたブーストや足場では、ダメなんです。
例えば、katbustでは、推奨される木の深さ=6です。2^6=64分割になりますね。MA30が必要な場合、平均して各バーは2回分割されます(半分になり、半分のうちの1回はまだ半分になります)。MAをおおよそ再現する(誤差10%)には、各バーの除算を最低10回行う必要があります。これは9~10必要な深さです。
しかし、深く分割すると、木は一般化できない。
このように、浅い木は汎化することはできても、内部で必要な機能(MAなど)を再現することは不可能であることがわかります。つまり、MAやCCIなど、特徴としてチェックしたいものはすべてバーと一緒に渡さなければならないのです。

ツリー系はバーだけで十分だと思うのは、私だけではないでしょう。もし、まだ支持者がいるならば、彼らの主張を伝えることをお勧めします。
 
マキシム・ドミトリエフスキー

だから、信仰の問題ではなく、何らかの証明が必要なのです。

モデルからフィーチャーを削除するとインタラクションが変化するので、好きなだけフィーチャーを並べ替えることができる

証明するために必要なことを定義しよう。

なぜ、私の意見では、予測因子を削除する調達があるかもしれません、正式に予測因子は、それがそれのために良い指標を持っているという理由でルート(しばしば)分割のために良いとして選択を渡すかもしれません - しばしば他の予測因子との対応は、結果を改善する - 欲の原理、しかしこの原理は、全体として日付セット、空間特性(その結果に関連してサンプル全体のイベント発生の頻度)のノーチェック、それは唯一のそこから例えばサンプルの1/5にイベントの成果の集計の状況である。あるいは似たような状況ですが、そこでは理由が異なります。モデルさえ安定しているのに、取引結果の財務実績が 主にプラスで小さすぎたりマイナスで大きすぎたりする瞬間に、予測因子と目標がよく相関することが判明し、これはモデルが学習時にどう説明したらいいかわからない非常に微妙な点です。

したがって、異なる時間間隔での分類モデル自体の改善だけでなく、財務的な成果という観点からも改善することが目標です。

 
Aleksey Vyazmikin:

証明するために必要なことを定義しよう。

なぜ、私の意見では、予測因子を削除することから利益があるかもしれません、正式に予測因子は、それがそれのために良い指標を持っているという理由でルート(しばしば)分割のために良いとして選択を渡すかもしれません - 他の予測因子とのしばしば対応は、結果を改善する - 欲の原理が、この原則は、全体として日付セットを動作し、空間特性(その結果に関連してサンプル全体のイベント発生の頻度)に関するチェックはありません、それはあったことからだけ例えばサンプルの1/5にイベントの結果を蓄積の状況であります。あるいは似たような状況ですが、そこでは理由が異なります。モデルさえ安定しているのに、取引結果の財務実績が ほとんどプラスで小さすぎたりマイナスで大きすぎたりする瞬間に、予測変数がターゲットとよく相関することが判明し、これはモデルが学習時にどう説明したらいいかわからない非常に微妙な点です。

つまり、時間間隔を変えて分類モデルそのものを改良するだけでなく、財務的な成果という観点からも改良することが目的なのです。

コードを書いて、訳の分からないアイデアを訳の分からない結果でサポートするのは、まだ早いと思います

 
マキシム・ドミトリエフスキー

コード化する準備ができていない。そして、不明確なアイデアを不明確な結果でサポートする。

では、あなたは自分の考えだけが正しく、議論に値すると考えているのだと言ってください。

 
Aleksey Vyazmikin:

だから、自分の考えだけが正しくて、議論する価値があると言ってください。

むしろ合理的です。説明文からは何も伝わってきませんでした。

無意味な文字の並べ替えについては、すでに数年前に書きましたよ。

 
マキシム・ドミトリエフスキー

むしろ合理的です。説明を見ても何もわからない。

機能を並べ替えることの無意味さについては、すでに数年前に書きました。

説明文から理解できない場合は、質問してください。

私も数年前に同じことをしましたが、意味がないのではなく、努力であきらめました。

以下は、昔の実験結果の表ですが、作業はこのようになります。

1.予測変数の数は9個に切り分けられる。

2.チャンク間の組み合わせが作成される - 512

3.そして、各チャンクの有無によって、サンプルが平均的にどのような挙動を示すかを推定する。

4.チャンクの有意性(正/負)についての仮定がなされる。

5.重要なチャンクはより小さなチャンクに分解され、重要度の低いチャンクは1つのチャンクにまとめられる(必ずしも順番通りに進む必要はない)。

6.新しい512の組み合わせが形成される

7.もし、サンプルに悪影響を与える小片が見つかったら、結果の改善が止まるまで、それ以降の列挙から除外し、その後、除外した小片を同様に追加して結果を解析してみることができる。一方、ポジティブな影響は1つのグループに集約されます。

このような32回の繰り返しによる指標の変化の一例を紹介する。



もちろん、この方法は改良の余地がありますが、そのためには実験とその結果の検証が必要です。

確かに改善は回数ではありませんが、結果的にどの予測因子が良いのか悪いのか、その理由も考えることができるようになります。

また、CatBoost 統計に特化して、予測因子(とそのグループ)の削除・追加を行うことで、以前使っていた検索よりも高速になるかもしれないという理由から、正確な作業を試してみたいと思っています。

もう一つの利点は、予測変数が多すぎると稀な分岐が発生し、葉の活性化がトレーニング以外のサンプルでは非常に稀である可能性があり(先ほどのスクリーンショットで示しました)、トレーニングやその評価の質を意図的に低下させることです。

 
Aleksey Vyazmikin:

説明文を読んでもわからない場合は、不明な点を質問してください-よりよく説明するよう努めます。

私も数年前に同じことをしましたが、無意味なことではなく、手間がかかるということで断念しました。

意味のない無駄な時間。

理由: