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

 

ここ数日は、入力変数の数を減らして最適化のスピードを上げることも考えています。そして、最近は不要なインプットを取捨選択することに、一定の成果を上げていると言わざるを得ません。

質問:どの入力変数がノイズであるため、トレーニングサンプルから削除する必要がありますか?

実はこの問題は、どの入力がノイズで、どの入力がそうでないかが分かれば、些細なことではないのです。模型を作るのも簡単でしょう。しかし、すべてのインプットが何らかの形でアウトプットに関係しているとしたら。じゃあ、どうするんだ?どれを削除すればいいのか?

私にとって、その答えはとてもシンプルです...。正規分布則を持つ入力だけを残せばよい。ヒストグラムが正規分布を持ち、その中心が範囲の中央にある場合。これらは、トレーニングに有効な変数です。そのような変数に出力αがあると言っているわけではありません。ないのかもしれません。しかし、検索そのものはより徹底したものになり、そのような変数ではアルゴリズムがキャッチアップして入力数を増やすチャンスが増える。以下はその一例です。

この入力は良好と考えられる。正規分布を持ち、ヒストグラムの中心部分が範囲の真ん中にあるため

しかし、このデータはメインのヒストグラムの外に外れ値があり、歪んだ分布をしています。このヒストグラムは、データが片側に偏っており、モデルを構築する上で役に立ちそうにないことを示している

インプットを選択する最初の段階では、アウトプットに対するインプットの重要性を判断することはできない。なぜなら、これはオプティマイザーの仕事だからです。初期段階では、ゼロに対する変数の分布を判断するしかない。そして、この分布が正規分布(データがゼロに関して一方と他方に均等に分布している)であれば、ほとんどのデータが負のゾーンにあるゼロに関する斜めのデータ、またはその逆と比較して、オプティマイザはより多くの選択肢を持つことができる可能性が高い。

だから、こんな風になるんですね...。

 

どのモデルに使うかにもよりますが......有益でない特徴を削除しても、モデルの精度があまり落ちないのであれば、それは必要ないでしょう。それを削除して、また再トレーニングして、また何か余分なものがないかどうかを確認するのです。

また,出力に非定常過程を持つ回帰 モデルがある場合,正規分布のノイズで再トレーニングされるため,この方法ではすべてを台無しにしてしまいます。

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

どのモデルに使うかにもよりますが......有益でない特徴を削除しても、モデルの精度があまり落ちないのであれば、それは必要ないでしょう。それを削除して、また再トレーニングして、また何か余分なものがないかどうかを確認するのです。

また,出力に非定常過程を持つ回帰モデルがある場合,この手法では正規分布ノイズで再学習するため,逆にすべてを台無しにしてしまいます。


ゼロを基準とした分類。このような目的には、この方法がちょうどいいと思います。

 
ミハイル・マルキュカイツ

一方、このデータは、メインヒストグラムの外に外れ値がある歪んだ分布になっています。このヒストグラムは、データが片側に偏っていることを示しており、モデル構築には役立ちそうにありません

ウラジミールの記事で、外れ値を取り除くという指摘がありますが、図2の外れ値を取り除けば、より正常な分布になります。

また、入力データのセンタリングもあり、さらに状況が改善されるでしょう。

 
エリブラリウス

ウラジミールの記事で、外れ値を取り除くという指摘がありますが、図2の外れ値を取り除けば、より正常な分布が得られますね。

そして、インプットセンタリング。これがあれば、さらに改善されます。


この異常値が新しいデータで届いた場合、どうすればいいのだろうか。モデルはどう解釈しているのか?

データから異常値を取り除くということは、ある異常値における入力ベクトル全体を取り除くということであり、そのベクトルの中に他の入力における重要なデータがあるとしたらどうだろう。もし、そのような異常値が出やすい性質の入力であれば、その入力は全く取らない方が良い。IMHO

 
ミハイル・マルキュカイツ

ゼロを基準とした分類。このような目的には、この方法がちょうどいいIMHO!


はい、出力が同じ法則にほぼ従って分布している場合、そうでない場合 - 同じ再教育

 
エリブラリウス

ウラジミールの記事で、外れ値を取り除くという指摘がありますが、図2の外れ値を取り除けば、より正常な分布が得られますね。

そして、入力データのセンタリング。これがあれば、さらに改善されるでしょう。


外れ値を除去することは統計的な手段、あるいは松葉杖(すべてを定常状態にしたいという欲求と同じ)であり、FXの予測を著しく悪化させ、システム全体を無に帰してしまいます(市場が正規分布である場合にのみ機能します)。

NSがどこでどんな目的で使われているのか...本を読んで好き勝手にやるのではなく、理解する必要がありますね :)

Vladimirは、彼のモデルの頑健性を証明することはできません...同じRのモデルの非常に大まかなテストだけです。

だから、この人生で何を信じていいのかわからない......すべてはダブルチェックが必要なのです。

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

はい、出力がほぼ同じ法則で分布している場合、そうでない場合は、同じオーバートレーニングになります


まあ、いつもクラス「0」と「1」が同数で出力されるようにバランスをとっているんですけどね。つまり、出力をバランスさせ、ゼロに対して正規分布の入力を取る。オプティマイザーは数回実行する必要がありますが、原則として、モデルで使用する入力の数が多いほど、その性能は向上します。そこで、テスト区間での結果が最大となるような、よりパラメトリックなモデルを選択することにしました。次はブーストを使ったりして...。

 
ミハイル・マルキュカイツ

この異常値が新しいデータで届いた場合、どうすればいいのか。モデルはどう解釈しているのか?

データから異常値を取り除くとは、ある異常値に対する入力ベクトル全体を取り除くことであり、そのベクトルには他の入力に対する重要なデータがある場合に備えてのことである。もし、そのような異常値が出やすい性質の入力であれば、その入力は全く取らない方が良い。IMHO

新しいデータでは、学習時に得られた範囲によって、外れ値も除去される。例えば、学習時に-100から+100まで削除し、それを覚えていて、新しいデータで同じレベルだけ削除したとする。異常値を取り除かないと、削除したデータの中心がどんどんずれていって、1週間前の自分と比較できなくなってしまうのです。

そして、異常値はニュースや 異常事態が発生した瞬間にだけ現れるが、その強さは毎回異なる。捨てた方がいいと自分で判断したのですが、ウラジミール、自分で思いついたわけではなく、どうやら多くの人の研究によって確認されているようです。

 
ミハイル・マルキュカイツ


まあ、いつもクラス "0 "と "1 "が同数で出力されるようにバランスをとっているんですけどね。つまり、出力のバランスをとり、ゼロに対して正規分布の入力を取る。オプティマイザーは数回実行する必要がありますが、原則として、モデルで使用する入力の数が多いほど、その性能は向上します。そこで、テスト区間での結果が最大となるような、よりパラメトリックなモデルを選択することにしました。その後、ブーストなどをかけていくのですが...。


とうとうjPredictorじゃないんですね。:)

理由: