ベイズ回帰 - このアルゴリズムを使ってEAを作った方はいらっしゃいますか? - ページ 26

 
СанСаныч Фоменко:

はい、そうです...。覚えてない...

テスターの話をすれば、これが問題だと私は思います。

サンプルを採取し、テスターを使って、例えばプロフィットファクターなどを計算します。そして、もう一回サンプルを取って、新しいプロフィット・ファクターの値を得る。合わせて2つの数字を得ることができます。2つの数字が統計的な結論の根拠となるのか?この数字にはまったく意味がないんです。

解決しなければならないし、解決方法も違う。

サンプルを採取します。このサンプルからある部分集合がランダムに選ばれ、それに対する利益要因としてカウントされる。そしてまたランダムにサンプルを取り、例えば1000回。1000のプロフィット・ファクターを得ることができます。このセットは、すでに統計的な結論の根拠となりうるものです。

ちなみにこの方法は、テスターやデモの使用を排除するものではありません。

SSさん、ごきげんよう。

何のサンプル?お得情報?

ブートストラップ型による標本統計の分位数の推定というのは、なるほどと思いました。

しかし、もしTSを利用可能な全サンプルに当てはめた場合、この方法は、私たちがすでに知っていること、つまり、利益率がああだこうだということを示すのではないかという疑問が残ります。

私のブログでは、この質問に少し違ったアプローチをしています。まず、k-foldクロスバリデーションによる学習。5つのサブセット(私の場合、5つの通貨ペアのデータ)を取り、4つのペアでモデルを学習させ、5番目のペアでテストするという興味深い実験ができます。この実験を5回繰り返したい。しかし、それだけではありません。元々、私は純粋にFXが予測可能であることを示したかったのです。つまり、(クロスバリデーションのカットオフで)m-bestのモデルは、機械がまだ見たことのない大きなサンプルで検証をパスすることになるのです。バリデーションサンプリングのもう一つの特性は、将来の時間ごとに区切られた価格を集計することである。私は、18個の予測出力変数(2分から724分先まで)についての上位100モデルの検証結果を、例えばR^2基準で、100 * 18の行列を得ることを期待しています。これによって、私の「箱」が平均よりも良い予測をしているかどうかがすぐにわかります。

そして、もし私の自己 発見にスポンサーがつくのであれば、アマゾンのクラウドを借りて、1000回実験を繰り返し、毎回異なるトレーニングセットとバリデーションセットを生成することができるだろう。そして、1000×100×18の3次元マトリックスができ、最適なモデルと異なるターゲットに対するR^2メトリックの標準誤差を推定することができるようになるのです。でも、それはもう厚かましい。

私が言いたいのは、将来のデータで(あるいは過去のデータで、明確に時間を区切って)テストすれば、すべてうまくいくということです。

 
Alexey Burnakov:

CCさん、こんにちは。

何のセレクション?トランザクション?

ブートストラップ型による標本統計の分位数の推定というのは、なるほどと思いました。

しかし、もしTSを利用可能な全サンプルに当てはめた 場合、この方法は私たちがすでに知っていること、つまり、利益率がああだこうだということを示してしまうのではないかという疑問が残ります。

私のブログでは、この質問に少し違ったアプローチをしています。まず、k-foldクロスバリデーションによる学習。5つのサブセット(私の場合、5つの通貨ペアのデータ)を取り、4つのペアでモデルを学習させ、5番目のペアでテストするという興味深い実験ができます。この実験を5回繰り返したい。しかし、それだけではありません。元々、私は純粋にFXが予測可能であることを示したかったのです。つまり、(クロスバリデーションのカットオフで)m-bestのモデルは、機械がまだ見ていない大きなサンプルで検証をパスすることになるのです。バリデーションサンプリングのもう一つの特性は、将来の時間ごとに区切られた価格を集計することである。私は、18個の予測出力変数(2分から724分先まで)についての上位100モデルの検証結果を、例えばR^2基準で、100 * 18の行列を得ることを期待しています。これによって、私の「箱」が平均よりも良い予測をしているかどうかがすぐにわかります。

そして、もし私の自己 発見にスポンサーがつくのであれば、Amazonのクラウドを借りて、1000回実験を繰り返し、毎回異なるトレーニングセットとバリデーションセットを生成することも可能です。そして、1000×100×18の3次元マトリックスができ、最適なモデルと異なるターゲットに対するR^2メトリックの標準誤差を推定することができるようになるのです。でも、それはもう厚かましい。

私が言いたいのは、未来のデータ(あるいは過去のデータ、ただし時間で明確に区切られたもの)でテストすれば大丈夫ということです。

あなたの投稿のキーワードが赤くハイライトされています。

モデルの過剰適合(オーバーフィット)は、すべての科学の方法論的問題である。過剰適合したモデル(知識のどの分野でも)は、訓練データ上のある特殊性を説明し、その後、それらの特殊性は訓練データの外では見つからない。そのため、このモデルでは、一般的な集団に共通するある種のパターンを捉えることができない。

私の理解では、この問題はモデル自体や統計的検定技術では解決できません。あなたは、過剰に訓練した結果が正当化されると正しく指摘しています。私の手でモデルの「粗取り」技術を試みても、結果には結びつかない。

私には、オーバートレーニングの問題は、完全に入力データセットによって発生するものだと思います。直感的なレベルでは:生データ(予測因子)は変数に関係するかどうか。極端な話、全く持たないというのは考えものです。中級編:する人としない人がいる。個人的な経験では、ターゲット変数に関連しない予測変数が、ターゲット変数に関連する予測変数を「黙らせる」場合が完全に有効な状況です。もし、最も悪質なノイズの多い予測因子を手動で除外することができたなら、ある時点で予測因子スクリーニング・ アルゴリズムが機能し始めるでしょう。

その数値は以下の通りです。50~200の初期セットから、私独自の方法で約30の予測因子を選びました。この30項目は過学習モデルを生成しない、つまり、学習、AOVA、テスト、検証のサンプルに対する有効性がほぼ同じである。そして、パッケージ(私はvarSelRFを使っていますが、他のパッケージも可能です)を使って、300-500本程度のスライディングウィンドウを使って予測変数を選択します。10~15個の予測変数のセットを作成します。ウィンドウの移動に伴い、予測変数の構成が変化する。その結果、どの予測変数のセットもオーバートレーニングにはならず、性能が5%から10%向上しています。分類タスクの場合、これは約20%の誤差となる。

 
СанСаныч Фоменко:


私には、過学習の問題は、すべて入力データセットによって発生するものだと思います。直感的なレベルでは:生データ(予測因子)が変数に関連しているかどうか。極端な話、全く持たないというのは考えものです。中級編:する人としない人がいる。個人的な経験では、ターゲット変数に関連しない予測変数が、ターゲット 変数に関連する予測変数を「黙らせる」場合が完全に有効な状況です。もし、最も悪質なノイズの多い予測因子を手動で除外することができたなら、ある時点で予測因子スクリーニング・アルゴリズムが機能し始めるでしょう。

その数値は以下の通りです。50~200の初期セットから、私独自の方法で約30の予測因子を選びました。この30項目は過学習モデルを生成せず、学習、AOVA、テスト、検証の各サンプルにおける有効性がほぼ同じであることを確認した。それからパッケージ(私はvarSelRFを使っていますが、他のパッケージも可能です)を使って、約300-500本のスライディング・ウィンドウを使って予測変数を選択します。10~15個の予測変数のセットを作成します。ウィンドウの移動に伴い、予測変数の構成が変化する。その結果、どの予測変数のセットもオーバートレーニングにはならず、性能が5%から10%向上しています。分類タスクの場合、これは約20%の誤差となる。

おっしゃる通り、変数の選択でノイズに対処できます。しかし、ノイズの多いデータは良い変数の選択を妨げるので、何らかのヒューリスティックによってあらかじめ見つけて取り除く必要があるということでよろしいでしょうか?

そしてもう一つの質問。この頭文字をとって、デシジョンフォレストのようなものを使っているのですね(私自身はこのような手法は使ったことがありません)。

どんな決定林も、その変数の値の領域で分割(カットオフ境界)を描けるように、貪欲な変数選択アルゴリズム+メトリックを備えている。そこで、「欲張り」な木に基づいて、枝のトップレベルにある最も個々に有意な変数を選択する必要がある。木のより低いレベルでは(実際,2番目のレベルより早く始まっている),次に重要な変数の選択は,介在するカットオフによって生成されたオブザベーションのサブサンプルですでに行われる.そして、このサブサンプルでは、次に重要な変数も探します(各変数について、すべての可能なカットオフを調べ、最適なものを選択し、その変数の関連性のメトリックが計算されます)。しかし、これはすでにオブザベーションのサブサンプルで動作しているので、一般に条件付き分布が有効になることがわかります:変数#18は、以前に使用された変数#2が与えられたサブサンプル#4で最良です。したがって、ツリーの深さが増すにつれて、上で使用した変数への依存度が高くなる。

著者らの考えによれば、ノイズの変数は省くべきとされている。しかし!このアプローチの貪欲さは、例えばレベル1で却下された変数が、別の可能性のあるレベル2の変数と一緒になって、ターゲットメトリックに大きな利得を与えることもあり、それ自体がオーバーボードであるという事実をもたらすのです。また、極端な話、2つの独立変数が、それぞれ目的変数から見てノイズであるにもかかわらず、目的変数と共同して分布を与え、それが有意な交互作用となる場合もある。欲張りなモデルはこれを調べますが、滅多にないことです、この構成のデータということです。

いかがでしょうか?

 
一つ質問に答えてください、FXで儲けた人はいますか? 私はすでに5年の歳月と100万ルーブル以上を費やしましたが、今日まで何も生まれてきません。
 
Alexey Burnakov:

おっしゃる通り、変数の選択でノイズに対処できます。しかし、ノイズの多いデータでは良い変数が選べないため、何らかのヒューリスティックな手法で事前に見つけて取り除く必要があるということでよろしいでしょうか?

その通りです。

そしてもう一つの質問。この頭文字をとって、デシジョンフォレストのようなものを使っているのですね(私自身はこのような手法は使ったことがありません)。

例として森が、問題の選択されたモデルは、ノイズの多い変数が "沈黙 "通常の変数は、問題を解決しない場合:変数の選択は、独立した問題である。

 
Mikhail Gorenberg:
一つ質問に答えてください、FXで儲けた人はいますか? 私はすでに5年の歳月と100万ルーブル以上を費やしましたが、今日まで何も生まれてきません。
シグナルから始めて、有益なシグナルを選択する方法を学ぶ...
 
Mikhail Gorenberg:
一つ質問に答えてください、FXで儲けた人はいますか? 私はすでに5年の歳月と100万ルーブル以上を費やしましたが、今日まで何も生まれてきません。
当たり前ですが、分位数、クロスバリュエーション、ブートストラップという点で、あなたは植物学者とは言えませんね。
 
Mikhail Gorenberg:
皆さんの中でFXで儲けている人はいますか? 私はすでに5年の歳月と100万ルーブル以上を費やしましたが、今のところ何も得られていません。

結局、だいたいゼロ(ちょっとプラスかも)。私のベンチャーはすべて欲のために台無しにされました。

たとえ収益性の高い トレーディングロボット(私も持っています)があったとしても、つまり本当に収益性が高く、安定しているということですが、それがうまくいって何ヶ月も結果を待っていると、30%の成長では十分でないように思えてくるのです。そして、さらにその先がやってくる。つまり、リスクを計算し、最大ドローダウンをコントロールする完全自動売買でも、心理的には個人的には安心できないのです。

そこで、分位数を用いることにした。

PS: もし、良い自動売買システムを作ったら、みんなに公開しますよ。そして、お金のある人に貸します。

 
СанСаныч Фоменко:

おっしゃる通り、変数の選択でノイズに対処できます。しかし、ノイズの多いデータでは良い変数が選べないため、何らかのヒューリスティックな手法で事前に見つけて取り除く必要があるということでよろしいでしょうか?

その通りです。

そしてもう一つの質問。この頭文字から理解したように、デシジョンフォレストのようなものを使っているのですね(私自身はこのような方法を使ったことがありません)。

例としてForestを挙げましたが、ノイズ変数が正常な変数を「かき消す」場合、上記の問題の選ばれたモデルでは、問題は解決しません:変数の選択は独立した問題なのです。

なぜノイズがシグナルをかき消すのか?私にはまったくわかりません。

モデル自体に特徴正則化が組み込まれている場合、ターゲット変数への影響を比較した上で、すべてのノイズデータを無視することができるんですね。もしモデルが過学習からの保護を提供しない場合(たとえば,木の終端ノードでのオブザベーションの数の低いしきい値が設定されなかった),すべてのノイズが使用されることになる.しかし、これはランダムフォレスト内でも解決されます。

あなたのアイデアをもっと詳しく説明してくれませんか?

 
Alexey Burnakov:

なぜ、ノイズが信号を妨害するのか?私にはまったくわからないのですが。

モデル自体に特徴正則化が含まれている場合、ターゲット変数への影響を比較した上で、すべてのノイズデータを無視することができますよね。もしモデルが過学習からの保護を提供しない場合(たとえば,木の終端ノードでのオブザベーションの数の低いしきい値が設定されなかった),すべてのノイズが使用されることになる.しかし、これはランダムフォレスト内でも解決されます。

あなたのアイデアをもっと詳しく説明してもらえませんか?

なぜノイズが信号を妨害しているのか?私にはよくわからないのです。

しないんです。

予測変数と目的変数の比の指標を計算するプログラムがあります。何か抽象的な価値観ですね。

< 1であれば、ノイズです。

1-2-手を出さないほうがいい。

over 3 - よかった。

over 5 - 幸運にも、まれなことです。

ですから、スコアが2以下の予測変数が多すぎると、自分以外の手段で有用な予測変数を特定することができないんです。これをどう解釈したらいいのか......わからない。予測変数は対象変数に影響を与えるだけでなく、予測変数間にも影響を与えることを忘れてはならない。重要なのは,削除する予測変数のリストだけでなく,削除する順序も重要であることが非常に多い.

何が言いたいのか?

トレーディングの基本的な問題は、オーバートレーニング(過適合)の問題です。これは、それ自体の問題であり、使用するモデルや手法に依存するものではありません。