ニューラルネット - ページ 14

 
そうトレーニング対予測です。最初の6-7年間のデータを使って新しいネットワークを構築し、トレーニング、テスト、相互検証を行いました。そして、残りの3年分のデータをテストとして与え、学習を行わず、実際のテストを模倣することを考えました。学習回帰線の傾きは0.99995で、3年分の未知のデータを与えたところ、傾きは0.9995に落ちました。これをどう解釈したらいいのかわかりません。1時間足らずで組み立てたにしては、ちょっと精度が高すぎるような気がします。

例題を使って説明しましょう。

例えば、GBPJPYのように100から250の値を持つ変数を予測したいとします。H1やH4のような学習データに比べ、非常に小さなタイムステップを予測したいとします。あるステップでは、望ましい値は例えば174.850で、NNの出力は176.350とします。誤差は0.8%程度と非常に小さいですが、FXの用語では150pipsと大きな誤差になります。

通常の収益率や対数収益率を予測する方がはるかに簡単です。たとえ誤差があったとしても、出力はおそらく役に立つでしょう。

確かに、最初の母集団をランダムに生成した場合、どのプログラムも問題を解決しない母集団が生成される可能性はないのでしょうか?

ありえません。

たとえNNが非常に悪い予測をしたとしても、それは解決策になるのです。

平均的なデスクトップが扱うことができるよりも、もっと可能性があります。

デスクトップ・コンピュータを使えばいいんです。今のコンピュータは、私が最初に使ったものよりもずっと性能がいいんです。

 

mrwobblesです。

NNの結果のインプットとアウトプットを教えていただけませんか?NeuroShellで実行して、同じ逼迫度あたりでR相関レベルを生成できるかどうか見てみたいです。事前にありがとうございます。

 
Kazam:
例を使って説明しよう。

例えば、GBPJPYのような100から250の値を持つ変数を予測したいとします。学習データ(H1やH4など)と比較して、非常に小さな時間ステップを予測したいとします。 あるステップでは、望ましい値は例えば174.850で、NNの出力は176.350となります。誤差は0.8%程度と非常に小さいですが、FXの用語では150pipsと大きな誤差になります。

通常の収益率や対数収益率を予測する方がはるかに簡単です。たとえ誤差があったとしても、その出力はおそらく役に立つでしょう。

ええ、でも私はそれよりも一桁小さい誤差について話しているのです。僕が学習させたネットワークの平均的な誤差は10~20ピップスで、これは許容範囲に近づいている。それでも、100pipsを超えるような異常な結果がいくつかあり、これは明らかに許容できない。

それはありえないことです。

たとえNNが非常に悪い予測をしたとしても、それは解決策になります。

そうですね、ソリューションと呼べるかもしれませんが、ランダムな母集団から始めると収束時間が長くなるのではないでしょうか?その場合、事前に学習させたネットワークの母集団から始めると、ネットワークの収束が早くなり、うまくいけばより正確な結果が得られるはずです。

 
しかし、私が話しているのは、それよりも一桁小さい誤差についてです。私が学習させたネットワークの平均誤差は10-20pipsで、これは許容範囲に近づいています。それでも異常な結果がいくつかあり、100pipsを超えるものもありますが、これは明らかに受け入れがたいものです。

でも、まだ学習データを見ている段階です。簡単な例を作りましたので、下の画像を見てください。誤差は小さく、相関係数は非常に高いですが、次の10ステップを予測しようとするとどうなるか見てみましょう。

解と呼べるかもしれませんが、ランダムな母集団から始めると収束時間が長くなるのではないでしょうか?その場合、事前に学習したネットワークの母集団から始めると、ネットワークの収束が早くなり、うまくいけばより正確な結果が得られるはずです。

ランダムであることが重要

多くのランダムなネットワークがあれば、最終的に最適な解が見つかる可能性が高くなる。2番目の図を見てください。NNを事前に選択した場合、局所最適で止まってしまうかもしれないが、ランダムなNNを使えば、全体最適を見つける可能性が高くなる。

もちろん、局所最適に陥る問題を克服する方法はあります。

ファイル:
 

そんなことを思っていました。つまり、事前に学習させたNNの母集団が小さすぎたり、遺伝的分散が十分でない場合、いくつかの解が考慮されない可能性があります。あなたがおっしゃるように、12個のNNがすべて異なるローカル・ミニマムで止まってしまう可能性があり、それは良いことではありません。さらに悪いことに、12個のNNがすべて同じローカル・ミニマムで止まってしまうこともあります。しかし、例えば10世代ごとに、遺伝子のストックを増やすために、ランダムな遺伝子変異を組み込むこともできます。完全にランダムな構造から始めることで、ほとんどの可能性が考慮されるようになるのです。

ああ、なるほど、学習後のネットワークの使い方がわかりました。シム機能 らしいです。ああ、ヘルプファイルの喜び 私の無知を許してください。このように簡単に解決してしまうと、がっかりしてしまいます。これは、私が夏休みにやっていることのはずです まあ、それと仕事です。

編集:私は最初の7年間のデータでネットワークを訓練し、その後、入力の最後の数年間でそのパフォーマンスをシミュレートしました。そのため、このようなことが起こるのです。その後、約10000に達したところで再び上昇する(ちょうど大暴落に間に合った)。これを見て、どう思うか教えてください。紺色は水色のターゲットを出力しています。Btw 私は分析のためにオーバーレイされたターゲットをネットワークに供給していない。

ファイル:
gbpjpy60-4.jpg  40 kb
gbpjpy60-8.jpg  55 kb
 

写真を見ていても、「影の効果」があるかもしれないし、写真が小さくてよくわからない。

しかし、NNが大丈夫かどうかを確認する方法をお伝えすることはできます。Matlabにエクスポートとインポートの ウィザードがあるので、テスト出力をXLSかCSVファイル(Excelファイル)にエクスポートしてください。そして、NNの出力の隣に実際の値を置き、次の列にNNが価格の動きの正しい方向を予測したかどうかをチェックする数式を置きます。

1」がいくつ出たかを数えることで、ネットワークの精度を知ることができます。

また、ステップごとに損益を計算する式を書いてもよい。下の絵を見てください。 /ポーランド版のエクセルを使っているので、計算式が正しいかどうかはわかりません。 /. スプレッドはとりあえずスキップしてください。

ファイル:
 

Kazamさん、こんにちは。

このNNパッケージをMetatraderに実装することは可能でしょうか?

ファイル:
example.zip  106 kb
 

Open Officeのスプレッドシートで 計算式を実行したところ、取引の方向性について73%の精度を得ることができました。まだ、精度を上げるために、ネットワークに与える入力がいくつかあります。スプレッドシートはxls形式で保存しました。

ファイル:
gj60.rar  831 kb
 

インサンプル、アウトオブサンプル

mrwobbles:
Open Officeのスプレッドシートで計算式を実行したところ、トレードの方向性について73%の精度を得ることができました。まだ、精度を向上させるために、ネットワークに与えるいくつかの入力があります。スプレッドシートはxls形式で保存しました。

良い...サンプル内かサンプル外か?

サンプル内の73%はアカウントキラー、サンプル外の73%はもしかしたら...という大きな違いです。

新しい入力を追加する場合は、古い入力を削除するか、信念を形成するためのサンプル外のデータセットを拡張することを考えよう。

経験則から言うとより少ない入力、より少ない接続、より多くのサンプル外ポイント...より良い一般化。

参考までに

シンバ

 

ビディック

DLLなので、こちらを見てください。

http://www.metatrader.info/node/150[/CODE]

There's an example of how to use DLL functions in Metatrader.

mrwobbles

It's either the training data or you got something wrong - the results are to good .

If one could get an accuracy of 73% with a simple back propagation network no one would give a shit about more complicated stuff

SIMBA

You're right. Choosing the proper input is a the most important thing in the process of creating a NN /there's a rule "trash goes in, trash comes out" /.

But you can always use data mining tools to analyze many different variables and choose those that affect the one you want to predict.

There's a nice book about data minig /and about genetic algorithms, Bayesian classification etc./ - "Data Mining Methods and Models." by Daniel T. Larose. It also shows how to use WEKA /a free, open source software for machine learning/.

My preferred way is to use GA - for the propose of time series prediction I usually allow them to choose from 15-40 previous steps.

PS

I've mentioned using Bayesian probability for the classification tasks but it can also be used for time series prediction

[CODE]http://www.cis.hut.fi/juha/papers/ESTSPfinal.pdf