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

 
Dr.トレーダー
FXに使用する際は、信用を重んじないようにしましょう。Irisは非常にシンプルなデータで、利用可能なデータとクラスの間に直接的なパター ンが存在します。RFは、虹彩のクラスを定義できる最小限の 予測変数のセットを見つけるだけで完了します。

RFが非線形依存性をキャッチできるのはなぜか? 予測変数が腐っているからマーケットに使えないだけで、普通の予測変数があればアイリスのように95%の誤差で動くと思われる。

 

花菖蒲の場合は、花びらの長さが何センチから何センチならクラス1、何センチから何センチならクラス2というように、単純なものです。RFが行うのは、目標値と最もよく一致する予測値の間隔を見つけることである。

この作業には森は必要なく、1本の木で90%の精度が得られます。

 Rule number: 2 [Species=setosa cover=33 (31%) prob=1.00]
   Petal.Length< 2.6

 Rule number: 7 [Species=virginica cover=35 (33%) prob=0.00]
   Petal.Length>=2.6
   Petal.Length>=4.85

 Rule number: 6 [Species=versicolor cover=37 (35%) prob=0.00]
   Petal.Length>=2.6
   Petal.Length< 4.85

つまり、あるクラスが予測値の ある範囲や その組み合わせに対応し、その間隔が重ならなければ、木や森は100%すべてを解決してくれるのです。

FXの依存関係はもっと複雑で、Forestでは目標値を記述するために数十の予測変数が必要です。森は、目標値を記述する予測変数の間隔とその組み合わせを必ず見つけるが、それは、論理や分析なしに、単に選択された組み合わせになる。ノイズか、本当に重要な予測因子か、森が何を判断材料にするかは、偶然の産物である。Forexの森は、あらかじめ不適切な予測因子を排除し、必要な予測因子だけを残して学習させることで、初めて正しく機能します。問題は、必要な予測因子をどうにかして特定したり見つけたりする必要があるのですが、これには森は役に立ちません。

まだできていないんです。

トレーニングテーブルのcov()の後、固有値=0の予測変数のふるい落としにほとんどの時間がかかりました(特別に相関のある予測変数のみが適していると仮定しています)。24時間後には、エラーで学習しなかったForeCAモデル自体を学習させることになったのです。

unit-variance: Mean relative difference: 3.520041 e-06
Error in check_whitened(out$score, FALSE) : Data must be whitened:
         Each variable must have variance 1.

このパッケージは、予測因子に対して非常に厳しく、さまざまな制限がたくさんあります。最後のエラーの意味も分からないので、もっと調べてみます。

これは後で完成させます。
Googleは予測器を削除する必要はないと言っています。相関がなくなるように変換すれば、共分散行列はForeCAに必要なフルランクを持つようになります。ホワイトニングについては、パッケージ自体にいくつかの機能があり(すぐには使えなかったので、それらを把握する必要があります)、さらに以下のリンクにある理論があります。
ForeCAを正しく使うには、まずその方法を理解し、身につける必要があります。
http://stats.stackexchange.com/questions/23420/is-whitening-always-good
http://courses.media.mit.edu/2010fall/mas622j/whiten.pdf

 
Dr.トレーダー

1) FXフォレストは、事前に不適当な予測因子を選別し、必要なものだけを残して学習させないと正しく機能しない。問題は、適切な予測因子を特定または発見する必要があることで、これにはフォレストは役に立ちません。

2) パッケージは予測因子に対する要求が高く、多くの制限がある。最後のエラーの意味も分からないので、もっと調べてみます。

1) 私はこのような選択をするのに十分なアイデアだと思うものを提案したが、誰も興味を示さず、自分でも実装できない。

2)自分ではできない 2)データ量を減らすだけでよい、そうでなければ自分でわかる)。

 

すでに投稿しましたが、誰も反応しなかったので、もう一度やってみます。

この投稿はすでにしましたが、誰も反応しなかったので、もう一度やってみます。 BPには、ダイナミックタイムワーピング(DTW)という概念があり、これを使うと、価格チャートをより読みやすくすることができ、したがって、アルゴリズムがより認識しやすくなります。

data_driven_time_warp <- function (y) {
  cbind(
    x = cumsum(c(0, abs(diff(y)))),
    y = y
  )
}

y <- cumsum(rnorm(200))+1000

i <- seq(1,length(y),by=10)
op <- par(mfrow=c(2,1), mar=c(.1,.1,.1,.1))
plot(y, type="l", axes = FALSE)
abline(v=i, col="grey")
lines(y, lwd=3)
box()
d <- data_driven_time_warp(y)
plot(d, type="l", axes=FALSE)
abline(v=d[i,1], col="grey")
lines(d, lwd=3)
box()
par(op)

となり、すべてがクールに見えますが、悲しいことに、この変換の結果、2つの座標xとyの時間(合成)と値が得られます。

d
                x        y
  [1,]   0.000000 1001.393
  [2,]   1.081118 1002.474
  [3,]   2.799970 1004.193
  [4,]   3.706653 1005.100
  [5,]   3.867351 1005.260
  [6,]   4.654784 1004.473
  [7,]   5.000202 1004.127
  [8,]   6.665623 1005.793
  [9,]   7.415255 1005.043
 [10,]   7.956572 1005.584
 [11,]   8.403185 1005.138
 [12,]   9.352230 1004.189
 [13,]   9.913620 1004.750
 [14,]  10.249985 1004.414

問題は、この変換をベクトルに戻して、そのプロパティを失わないようにする方法です。

上段普通、下段dtwでこんな感じです。

ディーティーダブリュー

 
mytarmailS:

1)こんなセレクションがあったらいいなと思うものを提案 したが、誰も興味を示さず、自分では実装できない。

2) データ量を減らすだけか、自分でもわかっていること)

何かご提案がありますか?見逃していたことが判明?あなたのアイデアをもう一度聞かせてください。
 
サンサニッチ・フォメンコ
何かご提案がありますか?それは、私が何を見落としていたのかが判明したのです。あなたのアイデアをもう一度聞かせてください。
クラスタリングについて書いたところを見てください、とても詳しく説明しています。
 
mytarmailS:

問題は、この変換を、その特性を失うことなく、どのように通常のベクトルに戻すかである

では、何か感想はありますか?
 

ForeCAを使った例をもう一つ、テスト用の小さな表と作業用のコードでアーカイブしてみました。
今度こそ、うまくいった。
モデル用の学習データを含む独自のテーブルを使用することができますが、主なものは、要因のない行列でなければなりません(lmで学習する場合は、回帰のみを使用することができます)。行の数は予測変数の数よりもはるかに多くする必要があり、そうしないとForeCAでエラーが発生します。
目標値が0と1の場合、それ以外の精度では正しく判断できないので、その場合はRegressionToClasses01(regr)の回帰結果をクラスに丸めるところのコードをお客様の場合用に修正してください。
trainData - 学習用データ.
trainDataFT - フロントテスト用のデータ.

結果
生データでのlmの精度:トレーニングデータで75%、新規データで57%。
lmをforeCAにある14個のコンポーネント全てに適用したところ、トレーニングデータで75%、新しいデータで61%という結果が得られました。わずかに良いが、この場合、+4%は+1の正しい結果だけで、表はかなり小さい :)

つまり、予測変数がすでに事前選択されていれば、ForeCA後に悪くなることはないはずで、もしかしたら数パーセントの精度を追加することもできるかもしれません。

また、ForeCAコンポーネントの数に対する精度依存性のグラフを追加しました。構成要素の数が多ければ多いほど、より正確な結果が得られるようです。最大許容成分数=予測変数の数。


ファイル:
 

実験の第2弾は

以前選択した14個の予測変数に、さらに14個のランダムな値を追加しました。ForeCAコンポーネントの最大許容数を28個に変更しました。

全28成分の学習データでの予測精度は、foreCAあり、なしともに76%、新規データでの予測精度は57%です。

予想屋の屑にforecaが対処したとは思えません、期待した奇跡は見れませんでした。

 
mytarmailS:
それがどうした?
レンコチャートのように見える。mt5ターミナルでは、レンコは何らかの方法でバー上に描画されますが、ここでも同様のアルゴリズムが必要です。