Деревья принятия решений являются удобным инструментом в тех случаях, когда требуется не просто классифицировать данные, но ещё и объяснить почему тот или иной объект отнесён к какому-либо классу. Давайте сначала, для полноты картины, рассмотрим природу энтропии и некоторые её свойства. Затем, на простом примере, увидим каким образом...
ターゲット変数について質問です。
対象変数がトレードの財務結果であれば、やはりこの結果を正規化するのが合理的です。しかし、ここでホームページの情報を探していると、どこもかしこもターゲット変数には買いか売りの2つの値を持たせるように書いてあるのです。そして、買うにしろ売るにしろ、どんな場合でも損失が出るのであれば(そしてそれは起こる!)、なぜすべての負の変数をカットしなければならないのだろうか?また、統計に影響を与えるのが負のバリアントの存在だとしたら?
一般的には、買い/売り/なしのトリガーがある極端なケースと、ランキングを行う関数(以前は理論的な解決策を探していたので、ここで関数を尋ねましたが、今は予測子を要約するスクリプトを作りました)があるベストケースで、どんなネットワークが機能するか(そしてどこで入手できるか)知りたいのですが、教えてください。
> 対象変数がトレードの財務結果であれば、この結果を正規化するのは合理的である、と私は考えています。
目標をノーマライズせず、そのまま使う(値上げ)。ニューロニクスを使う場合は、プレディクター(入力の別称、チップ)を正規化した方が良い。Forestの場合は、なぜか正規化する必要がなく、どんな場合でも問題なく動作します。
ニューロンカは非常に多くの場合、出力も活性化関数を通るので、シグモイドの場合は (0;1) の範囲にしかならないことに注意してください。そして、ターゲットがこの区間に入らない場合は、ターゲットも正規化する必要があります。あるいは、exitのアクティベーションを削除して、任意の値を取れるようにすることもできます。
> しかし、ここではサイトの情報を探しているのですが、どこもターゲット変数が買いか売りの2つの値を持つべきという話になっているのです。
これを分類といいます。価格の代わりに、いくつかのセット(0と1、-1と1、"買い "と "売り")が必要な場合。
価格そのものやその増分を予測する場合は、分類とは呼ばず、回帰と呼ぶ。
> 買っても売ってもどんな場合でも損失が出るのなら(そんなことあるんだ!)、なぜマイナスの選択肢を全部切らなければならないのか?統計に影響を与えるのは、ネガティブな選択肢の存在だとしたらどうだろう。
すべては予測因子次第なので、両方のバリエーションを試してみて、実験的に答えを見つけるしかありません。例えば、forestのフィットネス関数を自分なりに作ってみました。forestの予測を使って(スプレッドを考慮した)トレード図を作り、その図を使ってシャープレシオを定義し、その値を結果的に増やそうとしたのです。
> 一般的に、どのようなネットワークが機能するのか知りたい。
現在、建値を取って、インジケータ(自作)と組み合わせて新しい機能を作っています。バー1本あたりの値上がりを予測する神経回路を鍛えているのです。新しい指標を作るのにかなりの時間が必要で、そうしないとモデルがスプレッドに勝てない。
ファイルに目を通すと、すでに多くのプレディクターを持っているようですね。ターゲットが-1,0,1のセットだけであれば、forestを使用します。価格を予測するのであれば、ニューロンを使うのがよいでしょう。
そうですね、もちろん最大限の利益を出せるポイント、例えば
分類のために、ソフトマックス出力層を持つ多層ペセプトロン(クラスメンバーシップの確率を出力)
https://www.mql5.com/ru/articles/497 1番目のニューロンの例について。そして、それがたくさんあることを想像して、それがニューラルネットワークの全体像になるわけです。
まさにご質問の閾値機能ですね。
まあ、いい結果になりそうですね、ええ。
その記事を見逃していました - ご指摘ありがとうございます!いくつかのことが明確になりました。でも、一度に全部は無理。そういうものは何度も読み返さないと...。係数の拡散や関数との和の聞き取りについて理解できた。
1ファイル目を3分割して試してみました。
トレーニング
予想
実績 0 1
0 28107 1244
1 3045 4119
テスト1
予想
実績 0 1
0 5950 356
1 742 776
カレント2
予想
実績 0 1
0 5945 333
1 779 769
隠れ層に10個のニューロンを持つnnetで計算 (RのRattleパッケージのNS)
森より悪いが、悪くはない。2ファイル目も同様の結果になる場合があります。
ありがとうございます。ゼロを当てる方が安定するので、この結果はフィルターとして、つまり売買を 禁止するために使えると思います。
この記事を見逃していました - ご指摘ありがとうございます。でも、一度に全部ではなく、そういうものは何度か読まないと...。散乱係数を理解し、その和を関数で聴くことができる。
ありがとうございました。ゼロを当てる方が安定するので、この結果はフィルターとして、つまり取引を 禁止するために使われるかもしれないと思います。
まあ、現実にはもっと多いんですけどね......だから推測しやすいんです)
> ターゲット変数が取引の財務結果である場合、この結果を正規化することは合理的である、と私は考えている
目標を正規化せず、そのまま(値上がり益)使っています。ニューロニクスを使うのであれば、予測変数(別称は入力、チップ)を正規化するのがよいでしょう。森のために何とか本当に正規化を気にする必要はありません、それはどのような場合でも正常に動作します。
うーん、逆に、森にとって一番大事なのは、イエス/ノーのような論理的な予測式を作ることだと思ったのですが、それをやったからこそ、たくさんあるのであって、もっと少なくなるはずです。1つの予測変数に8つの値を与えて、結果が変わるかどうかを見るという、別の方法でやってみます。
ニューロンキーの出力も活性化関数を通過し、シグモイドの場合は(0;1)の範囲にしかならないことが非常に多いことに注意してください。そして、ターゲットがこの区間に入らない場合は、ターゲットも正規化する必要があります。あるいは、出力に対する活性化を削除して、任意の値を取れるようにすることもできます。
参入のためのアクティベーションを外すというのは?何だろう......活性化......。
> しかし、ここでサイトの情報を探してみると、どこもかしこもターゲット変数には買いか売りの2つの値を持たせるべきと書いてあります。
それは分類というものです。価格の代わりに、いくつかのセット(0と1、-1と1、"買い "と "売り")を使用する場合。
価格そのものやその増分を予測する場合は、分類ではなく回帰と呼ばれます。
はい、しかし、私は購入または売却する必要がない場合は、単に信号をスキップし、次に何をすべきか?そこで、今を考えるために、NSを2つに分けることにしたのですが......交換するわけではありません。
> 買っても売っても損をするのであれば(そういうこともあるかもしれません!)、単純にマイナスバリアントを切り捨てればいいのでしょうか?また、統計に影響を与えるのがネガティブなオプションの存在だとしたらどうでしょうか。
すべては予測因子次第なので、両方のバリエーションを試してみて、実験的に答えを見つけるしかありません。例えば、forestのフィットネス関数を作ろうと、forestの予測を使って(スプレッドを考慮した)トレード図を作り、その図を使ってシャープレシオを定義し、結果的にその値を上げようとしたのです。
つまり、ある予測因子にとっては履歴はあまり重要ではなく、ある予測因子にとっては重要であり、両方が存在する可能性があるので、切り出すことは好ましくないということがわかります...。
今は、オープンプライスをインジケータ(自作)で使って、新しい機能を作っています。このチップを使って、1本あたりの価格上昇を予測するニューロニクスをトレーニングしています。新しい指標を作るのに時間がかかるので、そうしないとモデルがスプレッドに勝てないのです。
私はATRを使用していますが、標準的なものも同じように機能するはずです。
まあ現実にはもっと多いのですが......だから推測しやすいのです)
つまり、どの地域で取引のリスクが高まっているかを知ることが重要であり、それを示すことができたのです。
もうひとつは、それをすべて同じインジケーターにする方法がわからないことです。これまで形成されてきたルールをすべて書き換える必要が本当にあるのか、それとも何なのか。
うーん、森はYES/NOのような論理的な予測変数にすることの方が重要だと思っていて、それをやったから数が多くなったのですが、それだともっと少なくなってしまいますね。1つの予測変数に8つの値を与えて、結果が変わるかどうかを見るという、別の方法でやってみる。
森が悪くなり、特徴がまばらになると、分割が少なくなる
また、スパースな特徴がたくさんあり、その中の1つがスパースでない場合、フォレストはその特徴にオーバーフィットし、そこからの輸入 量が最も大きくなり、他の特徴は結果にほとんど影響を与えなくなります
疎な特徴量ではフォレストはうまく機能せず、分割が少なくなる
また、スパースな特徴がたくさんあって、そのうちの1つがスパースでない場合、forestはその特徴にオーバーフィットして、それが最も大きなインポートを持ち、他の特徴は結果にほとんど影響を与えないでしょう
ノーマルフォレストかランダムフォレストか、あるいはその両方か?
私はガラガラとR(まあ、そして全体のことを不具合...)を入れ、今私は、以下のスクリーンショットのように、同等の設定を行う方法を理解することはできません?なぜなら、ラトルの標準設定では、以前使っていたプログラムよりも悪い結果が出たからです。
疎な特徴量ではフォレストはうまく機能せず、分割が少なくなる
そして、多くの疎な標識があり、その中に1つだけ疎なものがある場合、森はそれに過剰適応し、それが最大の輸入量となり、他のものは結果にほとんど影響を与えません。
同じ表示、同じ設定ですが、表示は以前のように拡大されず、折りたたまれています。
旧バリアント
新バリアント
ゼロの数はやや多いが、1の数はかなり少ない。変数の折りたたみと展開で、こんなにも効果があるとは......。
通常の森かランダムな森か、それとも両方か?
ラトルとRを入れたのに(この全体の不具合は何なんだ・・・)、下のスクリーンショットのような比較設定の仕方がわからないのです?なぜなら、ラトルのデフォルト設定は、以前使っていたプログラムよりも悪い結果をもたらしたからです。
ノーマルフォレストとランダムフォレストと ツリーフォレストは同じものです :)森は樹木のアンサンブル
特徴量が折りたたまれている、つまり数が少ないのか、それとも何なのか? 折りたたまれた特徴量とは、ほとんど変化しない、あるいは1と0のようなカテゴリ的なもの(まあ、これは高いレベルの理解ですが)。
Rを使わないのは、地元の金ぴかメガネの達人たちに嫌味を言われたからです。
ともかくも、「木とは何か」「木の森とは何か」という説を勉強してください。
https://habr.com/post/171759/
https://habr.com/post/116385/
ラトルの設定を変えたいなら、Sanychに持ち込むべきですが、なぜか、甘えたいだけなのか、mt5とRでのEAの統合を煩わしく思っているのか
https://www.mql5.com/ru/articles/1165
あなたのデータでは、ファイルPred_004_Buyを半分に割ると、0.85のヘッドオンを得ることができます。
データはゴミだから捨てた方がいい。あとは自分たちでキャッチアップしていく。沈黙の中で...
なぜデータは最悪なのか?とても良い結果だと思います。