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

 

どなたか、RFがどのような原理で予測変数の重要度の尺度を構築しているのか、簡単かつ的確な言葉で説明していただけませんか?

ターゲット・クラスに2つのクラスがある集合があり、1つのクラスのオブザベーションの数が2番目のクラスの数百倍で、RFにおけるプロディクタの重要性の基準の1つが、あるオブザベーションの出現頻度であると、どこかで記憶しています。

そこで、予測変数の重要度を計算するときに、RFが観測値の少ないクラスを抑制するかどうかを知りたいのです。

 
面白い記事というか、記事はないのですが、ノンリニア「pca」についての面白い写真) https://imdevsoftware.wordpress.com/tag/non-linear-pca/
Discriminating Between Iris Species
Discriminating Between Iris Species
  • imdevsoftware.wordpress.com
The Iris data set is a famous for its use to compare unsupervised classifiers. The goal is to use information about flower characteristics to accurately classify the 3 species of Iris. We can look at scatter plots of the 4 variables in the data set and see that no single variable nor bivariate combination can achieve this. One approach to...
 
mytarmailS:

FXをされていると思いますが、FXにはブローカーは存在せず、取引は行わず、ブックメーカーの紙ベースのビジネスとなります

p.s. 私が提案した特性選択について、どう思われますか?

そうですね......ブローカーではなく、ディーリングセンターですね。しかし、どうせ誰もインターバンク市場への参入を取りやめなかった。

あなたの選択は論理的だと思います。しかし、私のコンセプトに従って指標を選択しても、モデルが改善されたことがないので、選択しないことにしました。むしろ、アルゴリズムにたくさんの指標を選ばせて、何が良くて何がダメなのかを判断させたいですね。移動平均線 も最終的な予測値になることがありますが、単体ではなく、他の指標と組み合わせることで、何らかの情報が得られるのではないかと思っています。しかし、私の結果はまだ安定しておらず、その有用性を保証することはできません。
また、学習データでは、「business as usual」というクラスは「reversal」の何十倍ものケースを持っており、学習用のクラスの比率は半々が良いと言われているので、正確に反転を予測しようとは思っていないです。

 
サンサニッチ・フォメンコ

私は、ある特定のターゲット変数に対する予測変数の予測力を決定するアルゴリズムを持っています。要するに、オシレーターと異なるインクリメントである。ある予測変数が特定のターゲット変数に対して予測力を持つ場合、それが別のターゲット変数に対しても予測力を持つとは限らない。さらに、予測因子は、あるウィンドウでは予測能力を持つが、別のウィンドウでは予測能力を持たないことがある。

アルゴリズムはうまくいっている。選択された予測変数は、モデルのオーバーフィッティングにつながらない。

追記

私のアルゴリズムによれば、どんな種類の伝票でも、バカバカしい話だが、予測能力はない。

どのデータセットでも、すべてのモデルが再トレーニングされます。

また、予測変数の選択、変換を適切に行うことで、オーバートレーニングの確率が大幅に減少するという問題もあります。

オーバートレーニングの発生確率は、データセットとモデルの種類に等しく依存します。

イリュージョンは必要ない。

pbo パッケージを見てください。この問題がどのように扱われているか、興味深いです。

グッドラック

 
ウラジミール・ペレヴェンコ

どのようなデータセットでも、すべてのモデルを再トレーニングすることができます。

また、予測変数の変換を適切に選択することで、過学習の確率が大幅に減少するという課題もある。

オーバートレーニングの発生確率は、データセットとモデルの種類に等しく依存します。

イリュージョンは必要ない。

pbo パッケージを見てください、そこは面白そう です。

グッドラック

見てみた。根本的な前提が全く不明です。特に「観測回数の増加はオーバートレーニングにつながる」?

私は、完全に明確な、そして最も重要な、実用上価値のある、基準を用いています。

その本質を何度も述べています。繰り返しお伝えします。

私はオーバートレーニング(過適合)の基準として、学習中の誤差が学習サンプル以外の他のデータ、つまり他の時間間隔での誤差と等しくない 場合、そのモデルはオーバートレーニング であると判断しています。つまり、モデルは学習中に、それ以降の時間間隔では遭遇しないような特異点を拾っているのである。

実際にどのように実施されるのか。

例えば10,000気圧のような商を取る。

小節数で機械的に割り算するのですが、贅沢は言わないので、私にとってはとても重要なことなのです。

そこで、1番から7000番までの小節を取り出します。これらのバーは、学習テストや検証のために使用されます。3つに分けるには、例えば、サンプルやモデル自体に組み込まれているものを使います。

モデルから3つの数字が出るんです。モデルの再トレーニングを行わない場合、これらの数値はほぼ等しくなります。

それから、一番大切なこと。

小節数7001から10 000のファイルを取る。そして、前のバーで学習させたモデルを使う。エラーが発生するのですが。もし、この誤差が前の3つの誤差と少し違うだけなら、モデルは再トレーニングされません。私は通常、15~20%のズレがあれば再トレーニングしないと考えています。いずれかの数値が他の数値と50%以上異なる場合は、モデルを再トレーニングする。

ですから、私の手法では、予測変数の集合から、ある部分集合を選択します。もし見つかったら、randomforest, SVM, ada などのモデルは再トレーニングされません(義務ではありません)。他の機種は使っていないのでわかりません。

これは決して幻想ではありません。これは事実です。

 
mytarmailS:

どなたか、RFがどのような原理で予測変数の重要度の尺度を構築しているのか、簡単かつ的確な言葉で説明していただけませんか?

ターゲット・クラスに2つのクラスがある集合があり、1つのクラスのオブザベーションの数が2番目のクラスの数百倍で、RFにおけるプロディクタの重要性の基準の1つが、あるオブザベーションの出現頻度であると、どこかで記憶しています。

そこで、予測変数の重要度を計算するときに、RFが観測値の少ないクラスを抑制するかどうかを知りたいのです。

乱暴なクラス分けをしていて、これでは困ります。クラスのバランスをとるためのアルゴリズムもありますが、あなたの場合はうまくいきませんでしたね。ZZの反転を1本のバー番号で示すのではなく、反転の前後、数本で示すようにしました。これによってアンバランスは軽減されたが、問題は解決しなかった。

NOTバランスクラスで動作が保証されているモデルは見つかっていません。

 
サンサニッチ・フォメンコ

乱暴なクラス分けをしていて、それはよくない。クラスのバランスをとるためのアルゴリズムもありますが、あなたの場合はうまくいきませんでしたね。ZZの反転は1本のバー番号ではなく、反転の前後に数本のバー番号でマークするようにしました。これによってアンバランスは軽減されたが、問題は解決しなかった。

NOTバランスクラスで動作が保証されているモデルは見つかっていません。

機能選択に関する質問に興味があります
 
mytarmailS:
特徴選択に関する質問に興味があります

必要だと思うことはすべて答えました。

ターゲット変数がある属性セットがあれば、それを送ってくれれば、それを選択し、選択したものでモデルを構築し、結果を見ることができる

 
どなたか非線形pcaを試された方はいらっしゃいますでしょうか?
 
mytarmailS:
誰も非線形pcaを適用しようとしなかった?

このパッケージだけでは、対象となる変数を予測できるモデルを構築することはできないと思います。ヘルプで見つけたのは予測変数に基づいてPCAモデルを構築することで、ターゲット変数は全く存在しません。

#установка  пакета, нужно выполнить один раз и перезапустить R
source("https://bioconductor.org/biocLite.R")
biocLite("pcaMethods")        

#создание  pca объекта
library(pcaMethods)
browseVignettes("pcaMethods") #хелп  файлы
data(metaboliteDataComplete)
mdC <- prep(metaboliteDataComplete, scale="none", center=TRUE)
resNipals <- pca(md, method="nipals", center=FALSE, nPcs=5)

これは metaboliteDataComplete テーブルを分析するための 5 つの主要なコンポーネントを持つ resNipals (Nonlinear Estimation by Iterative Partial Least Squares) オブジェクトを作成します。metaboliteDataCompleteの代わりに、predictorを含む独自のテーブルを代用することができます。ここでターゲット変数を与えないことが重要で、後で使用されることになります。

しかし、これでは、さまざまなグラフを調べて、変数間の関係を分析するだけになってしまう。次に予測モデルを作成するために、主要成分PC1,PC2,PC3,PC4,PC5を入力変数(x1,x2,x3,...)とした線形回帰 モデルを構築する。そして、目標変数Yは、望ましい結果として、すでに線形モデルに投入されている。問題は、resNipals が pcaMethods パッケージの "pcaRes" クラスの何らかのオブジェクトであることです。ヘルプを見ても、これだけのことをする方法は見つかりませんでした。

カレットパッケージのPCAモデルであれば、こんな感じです。

#http://www.win-vector.com/blog/2016/05/pcr_part2_yaware/ (раздел Is this the same as caret::preProcess?)
newVars <- colnames(resNipals)
resNipals$y <- dTrain$y   #"y" в данном случае это название колонки с целевой переменной, dTrain - исходная таблица с данными
modelB <- lm(paste('y',paste(newVars,collapse=' + '),sep=' ~ '),data=resNipals)
print(summary(modelB)$r.squared)
#дальше нужно использовать функцию predict(modelB, newdata = <таблица с валидационной выборкой>) для прогноза на новых данных

理論的には、pcaMethods パッケージには、このオブジェクトを操作するための独自の関数があるはずですが、私は何も見つけられませんでした。

理由: