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

 
まあね。市場が開く前の週から、積極的にバージョン14をテストしています。次のように言いたい。トレーニングが長ければ長いほど、TSには多くのインプットが含まれる。述語を増やす。最大で8〜9件の応募がありました。しかし、通常、汎化能力は高くはない。そして、そのようなTSはほとんど機能しない。つまり、3という数字にやっと手が届くのです。しかし、4-6個の入力を持つ述語は、全体として満足に動作する。応募数を50から150に増やしました。現在、3時間目のトレーニング中です。しかし、今回の入力数も決して少なくないと思います。それでは......。
 
さて、今回も気がついたことがあります。私はデータ、perdicts 12のセットを持っているし、それらの同じラグ、ラグ1とラグ2に行くということです。以前は、入力はほとんどセットの最初の方、つまりラグが少なく、その後ラグ1以上、稀にラグ2がありました。サンプルがデータ過多であることは理解できますが、汎化以前はlag1やlag2が多く使われていたのも事実です。ただ、以前は一般化が初期のコラムに多かったのが、今は最終コラムになったのは事実ですが......。ということで、結論から言うと......。
 
ミハイル・マルキュカイツ
さて、今回も気がついたことがあります。データセットがあり、perdicts 12と、そのラグ、lag1、lag2があることです。以前は、入力はほとんどセットの最初にあり、つまりラグは少なく、そしてlag1以上にはならず、まれにlag2がありました。サンプルがデータ過多であることは理解できますが、汎化する前はlag1やlag2の方が頻度が高かったのは事実です。ただ、以前は一般化が初期のコラムに多かったのが、今は最終コラムになったのは事実ですが......。ほとんど、だから、推論....

そのため、以前のバージョンにロールバックする必要があります。

私のフライトは大丈夫です。サンプルにラグが無いからでは?

 
Dr.トレーダー

全体的にいい感じですね、最後はどうなるんでしょうね。

委員会について - いくつか例を掲載しましたが、丸めを使った回帰で分類しているモデルもあり、そこはあまり明確ではありませんね。票の組み合わせは2種類試してみました。

1) すべてをクラスに切り上げ、より多くの投票があるクラスを受講する。
例えば、3つのモデルから4本のバーを予測すること。
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) 私ならさらにそれを丸めてクラスへ
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) となり、予測値の最終ベクトルは、投票数で c(0, 1, 1, 0) となる。

2) もう一つの方法は、平均値をすぐに求め、それをクラス単位に切り上げることです。
その結果、c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3) となります。
または (0.2666667, 0.4000000, 0.5333333, 0.4000000), または
c(0, 0, 1, 0)

どのステップで丸めるかによって、結果が異なることがおわかりいただけると思います。どちらがスタンダードなのかはわかりませんが、新しいデータでは2番目の方法の方がうまくいくと思います。

パッケージ tsDyn SETAR関数

閾値(RSIのように2つの閾値がある場合もある)は可変であることが判明した。驚くべき結果をもたらす。

また、分類におけるキャリブレーションアルゴリズムも忘れてはならない。ポイントは、現実のクラス予測は名目上の値ではなく、アルゴリズムが計算するクラス確率は実数であることです。そして、この確率を例えば半分で割って、2つのクラスを得ます。確率が0.49と051なら、2クラス分?0.48と052はどうでしょうか?これはクラス分けなのでしょうか?ここで、SETARは2つのクラスに分かれ、その間に「オン・ザ・フェンス」のレシェトフスキーが入る。

 
Dr.Trader(ドクタートレーダー

全体的にいい感じですね、最後はどうなるんでしょうね。

委員会について - いくつか例を掲載しましたが、丸めを使った回帰で分類しているモデルもあり、そこはあまり明確ではありませんね。票の組み合わせは2種類試しました。

1) すべてをクラスで切り上げ、最も多くの票を集めたクラスを受講する。
例えば、3つのモデルから4本のバーを予測する
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) これをさらに切り上げて、クラス
c(0, 1, 0, 0) c(1, 1, 1, 0) c(0, 0, 1, 1) とし、予測値の最終ベクトルは、投票数で c(0, 1, 1, 0) とします。

2) もう一つの選択肢は、平均値をすぐに求め、それをクラス単位に切り上げることです。
結果は c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)
もしくは (0.2666667, 0.533333, c(0, 0, 1) or
) となるでしょう。

ご覧のように、どのステップで丸めるかによって結果が異なります。どちらがスタンダードなのかは分かりませんが、新しいデータでは2番目の方法が有効だと思います。
こちらはgbpusdのペア です。つまり、このモデルはBREXITのテストを待っているということです。私はまだ昨年のデータも処理していないのですが......。プラムかもしれない...。

最終テストの結果次第で、記事のトーンを決めていくつもりです。モデルが動くのは当たり前、排水されるのは当たり前と、いつも思っています。

私は、以下のように委員会を構成します。

学習データ(価格上昇分の回帰)に対するモデルの数だけ、数値型の予測ベクトルをn個構築する。

選択したモデルのレスポンスを平均化する。

分位数0.05と0.95をカウントしています。

検証の際、1、2の手順を繰り返す。

平均が分位の境界の外にある例だけを選んでいる。

レスポンスに予測符号をかけ、スプレッドを引いています。

得られたベクトルに対して、予測期間に応じて1日あたり1~4件の割合でランダムに組み入れたm個のサブサンプルを作成する。

委員会では、すでにシングルモデルに比べ、MOが3倍になることを示しました。モデルは多様だから...。

 
Как из данных вычленить некие группы данных по условию
Как из данных вычленить некие группы данных по условию
  • ru.stackoverflow.com
нужно найти такие строчки которые повторяются не менее 10 раз в всей выборке и в каждой из найденных одинаковых групок которые повторялись, количество "1" в target.label должно превышать 70% по отношению к "0" вот найденные одинаковые строчки единичек больше чем нулей...
 

では、ここでお答えします。

#пара строк из той таблицы, не буду я всё текстом копировать, потом первая строка повторена ещё дважды
dat <- data.frame(cluster1=c(24,2,13,23,6), cluster2=c(5,15,13,28,12), cluster3=c(18,12,16,22,20), cluster4=c(21,7,29,10,25), cluster5=c(16,22,24,4,11), target.label=c(1,1,0,1,0))
dat <- rbind(dat, dat[1,], dat[1,])
#результат последней строки поменян на 0 для эксперимента
dat[7,"target.label"]=0

library(sqldf)
#для sqldf точек в названиях колонок быть не должно
colnames(dat)[6] <- "target"

dat1 <- sqldf( "select cluster1, cluster2, cluster3, cluster4, cluster5, avg(target) as target_avg, count(target) as target_count from dat group by cluster1, cluster2, cluster3, cluster4, cluster5" )
dat1
dat1[ dat1$target_count>=10 & dat1$target_avg>0.63 , ]
dat1[ dat1$target_count>=10 & ( dat1$target_avg<0.37 | dat1$target_avg>0.63 ), ] #на случай если оба "0" или "1" встречаются чаще 70%
 
サンサニッチ・フォメンコ

tsDynパッケージはSETAR関数

SETARは特に委員会のキャリブレーションについて言及していますが、これは財務モデルの作成とは別のトピックですか?

パッケージのマニュアルをめくってみたが、必要なものが見当たらない...。10000個の例からなる学習テーブルがあります。そして、これらの例で学習させたモデルが100個あります。モデルをテストするには、同じ入力データを予測し、それぞれ10000の予測値を持つ100のベクトルを得るために使用することができます。SETARを使えば、これら100のベクトルを何とか1つにまとめることができるのでは?
そして、新しいデータを使った予測では、また100の予測があり、それらを1つに統合する必要があります(100のベクトルではなく、100の単一の予測があることになります)。SETARは、学習データから得られた委員会パラメータを使って、これもできるようになるのでしょうか?

 
Dr.トレーダー

SETARは特に委員会のキャリブレーションについて言及していますが、これは財務モデルの作成とは別のトピックですか?

パッケージのマニュアルをめくってみたが、必要なものが見当たらない...。例えば、10000個の例からなる学習テーブルがあります。その例で学習させたモデルが100個あるんです。モデルをテストするには、同じ入力データを予測し、それぞれ10000の予測値を持つ100のベクトルを得るために使用することができます。SETARを使えば、これら100のベクトルを何とか1つにまとめることができるのでは?
そして、新しいデータを使った予測では、また100の予測があり、それらを1つに統合する必要があります(100のベクトルではなく、100の単一の予測があることになります)。SETARは、学習データから導き出された委員会パラメータを使って、それもできるようになるのでしょうか?

私の理解では、委員会とは関係ありません。
 
ユーリー・レシェトフ

そして、以前のバージョンにロールバックする必要があります。

元気に走っています。サンプルにラグが無いからでは?

そうですね、以前のバージョンではラグがあるとカウント容量が増えるのでやっていたのですが、プリフェッチアルゴリズムの改良で必要なくなったので、ラグなしでトレーニングするようにしています。それらを使わずにトレーニングすることを心がけています。今日の実習の結果は後日報告します・・・。
理由: