Walk Forwardはもちろん良い方法です。しかし、そこでの主なパラメータは、学習の深さとテストの長さである。同時に(!!)、これらのパラメータを調整することで、フォワードポジションの結果が良くなれば、ウォークフォワードをオーバートレーニングすることになります。つまり、1つの大きな塊に対して、Walk Forward最適化を繰り返し行うのです。別の重ならない塊では、「トレーニング」で最適なウォークフォワードパラメータを試し、もう1回フルウルフフォワードを実行します(ただし1回だけ)。結果が良ければ、モデルは依存関係を拾い上げていることになる。もし結果が悪ければ、あまり良くないモデルでウォークフォワードの再トレーニングを行っただけということになります。
Walk Forwardはもちろん良い方法です。しかし、そこでの主なパラメータは、学習の深さとテストの長さである。同時に(!!)、これらのパラメータに対処してフォワードトラックの結果が良くなるようにすれば、ウォーク・フォワードをオーバートレーニングすることになります。つまり、1つの大きな塊に対して、Walk Forward最適化を繰り返し行うのです。別の重ならない塊で、「training」で最適なWalk Forwardのパラメータを試し、もう1回実行します。結果が良ければ、モデルは依存関係をピックアップする。もし結果が悪ければ、ウォークフォワードをあまり良くないモデルで再トレーニングしただけということになります。
ユア、人のために通常版(またはアップグレード版)を作れ)))
1.この種の標準的なファイルを読ませる - ヘッダー(逆カンマあり、なし)、データ、デリミタ、zpt、diff.zpt、タブレーションを読ませる。例
"Date";"V1";"A77";"V23A";"Целевая"
01.01.2000;4.999995E-03;1.499891E-03;-2.000213E-03;-5.000234E-03;1
2.モデルには10個しか入力させないが、たくさん読み込めるようにする。
を別タブで表示させるか、キャップを設定する(あなたが入力を選択する)か、その他。
3.正規化なし!(または無効)、なぜならデータが最初に0に集中している場合、変換後に
x-x.min/......(あるいは何でもいい) - 飛んでけ)))
4.ランダム性を捨て(あるいは切り替え)、データを2分割して順番にカウントし、1の場合は予測成功率を出力する(0の場合はしない)。
5.インプットの大切さを伝えた - Good!
6.出力される数式に加えて、フル出力させる!つまり、今すぐ
double x2 = 2.0 * (v5 + 1.0) / 2.0 - 1.0;
double decision = -0.2632437547312642 -0.2634178652535958 * x2
+ 0.05267978803936412
なきゃならない
名称 目標値 = -0.2632437547312642 -0.2634178652535958 * 挿入工数 x2= (2.0 * (v5 + 1.0) / 2.0 - 1.0)
+ 0.05267978803936412
を得る。
名称 目標値 = -0.2632437547312642 -0.2634178652535958 * (2.0 * (v5 + 1.0) / 2.0 - 1.0)
+ 0.05267978803936412
クイックテストにある程度使えるデバイスが手に入ります。そうすれば、まだ挿入などできる、シンプル(欲張らない)な
アルゴリズムで、選択...そうでなければ、このツールは役に立ちません。ファイルを編集している間、あれこれと...。他のものを使った方が楽なんだけど...。
バージョン7はどこだ?
まあまあ - ただ時間と頭脳が足りない。
目標とする変数から始めて、それに対する予測因子を選択し、それを何とか数学でダブルチェックしなければならない。とにかく骨の折れる作業で、正式にはできないんだ。
4.ランダム性を捨て(あるいは無効にし)、データを2分割して順番にカウントし、1に対して予測成功率を出力させる(0は必要ない)
jPredictionをFXに使おうとすると、これが主な追加項目となるのでしょう。データをランダムに2つに分割し、1つ目の部分で学習させ、2つ目の部分でも良い結果を示すモデルはたくさんあります。しかし、これらのモデルのほとんどは、新しいデータでは効果がないだろう。FXには一定の依存関係がなく、ランダムなテストサンプルで良い結果が出ても、新しいデータでの良い結果を保証するものではありません。モデルがFXに適しているかどうかを確認する唯一の方法は、ロールフォワードテストです。
赤色で表示されたデータに対して、モデルは良好な予測能力を示すはずです。jPredictionでは、このようなテストはテストケースごとにデータを再入力して手動で行わなければならず、本格的な仕事には向いていません。
また、トレーニング+テストの合計よりも、テストデータのみのスコアを表示する方が良いというのは、私も同感です。
今、jPredictionが出す成績はすべてFXには不十分であり、誤解を招くだけです。
ちなみに、Rのcaretパッケージでは、ロールフォワードがどのように行われるかは、以下の通りです。
http://topepo.github.io/caret/splitting.html(時系列のデータ分割の項)
モデルは最初の1000サンプルで学習され、次に1001-1300サンプルでテストされます。その後、300にシフトし、301-1300をトレーニングし、1301-1600をテストする、といった具合に、トレーニング例がなくなるまで続けます。
ユア、プログレの通常版(もしくはアップグレード版)を作ってくれ))))
1.この種の標準的なファイルを読ませる - ヘッダー(反転カンマの有無)、データ、デリミタは、それがzpt、tchk.zpt、集計を早めるようにします。例
2.モデルには10個の入力しか使用しないが、多くの入力を読み込めるようにし、その後
別タブで、マーカー(入力を選択する)を入れたりすることができます。
3.正規化なし!(または無効)、なぜならデータが最初に0に集中している場合、変換後に
x-x.min/......(あるいは何でもいい) - 飛んでけ)))
4.ランダム性を捨て(あるいは切り替え)、データを2分割して順番にカウントし、1の場合は予測成功率を出力する(0の場合はしない)。
5.インプットの大切さを伝えた - Good!
6.出力される数式に加えて、フル!を出力させる、それが今です。
7.バージョン7はどこですか?
もし誰かがjPredictionの何かをあまり気に入らなければ、プロジェクトはGNU GPLライセンスの下でオープンソースで開かれており、そこからフォークを作り、何かを変更、修正することは禁止されていないばかりか、ある程度は歓迎されています。
jPredictionをFXに使おうとすると、これが主な追加項目となるのでしょう。データをランダムに2つに分割し、1つ目の部分で学習させ、2つ目の部分でも良い結果を示すモデルはたくさんあります。しかし、これらのモデルのほとんどは、新しいデータでは効果がないだろう。FXには一定の依存関係がなく、ランダムなテストサンプルで良い結果が出ても、新しいデータでの良い結果を保証するものではありません。モデルがFXに適しているかどうかを確認する唯一の方法は、ロールフォワードテストです。
赤色で表示されたデータに対して、モデルは良好な予測能力を示すはずです。jPredictionでは、このようなテストはテストケースごとにデータを再入力して手動で行わなければならず、本格的な仕事には向いていません。
また、トレーニング+テストの合計よりも、テストデータのみのスコアを表示する方が良いというのは、私も同感です。
今、jPredictionが出す成績はすべてFXには不十分であり、誤解を招くだけです。
ちなみに、Rのcaretパッケージでは、ロールフォワードがどのように行われるかは、以下の通りです。
http://topepo.github.io/caret/splitting.html(時系列のデータ分割の項)
モデルは最初の1000サンプルで学習され、次に1001-1300サンプルでテストされます。その後、300にシフトし、301-1300でトレーニング、1301-1600でテスト、といった具合に、トレーニング例がなくなるまで続けます。
今、jPredictionが出している試算は、どれもFXには不十分で、誤解を招くだけです。
根拠のない主張、つまり俗に言うデタラメである。Walk Forwardの有効性を示すために、jPredictionで導き出したモデルとWalk Forwardで導き出したモデルの比較結果を、「お粗末さ」をクロスチェックできるような形で提示してください。その結果、おっしゃるようなことが確認できれば、現在jPredictionに実装されているテストアルゴリズムをWalk Forwardに置き換えることも意味があると思います。
一見「当たり前」のアイデアが、実装し、経験で検証した結果、「空っぽ」であることが判明する、ということに何度も遭遇しています。しかし、その効果はごく一部で、しかも「ファイル」による追加編集が必要な場合も少なくありません。それは、アイデアの詳細が欠落しているからです。そして、その細部にこそ、悪魔が潜んでいるのです。
リーナス・トーバルド(Linuxカーネルの開発者)は、「遅かれ早かれ、理論と実践は出会う」と繰り返し、飽きることがない。そして、実践は常に真理の基準である。いつも!」です。
さらに、ウォークフォワードの問題点は、各ステージで 多くのモデルが登場することです。これらのうち、どのモデルを実用機として残すべきか、どのような基準で選択すべきなのか。
これらは根拠のないアンサブストレイント、すなわち一般にデタラメと呼ばれるものである。Walk Forwardの有効性を示すために、jPredictionモデルとWalk Forward後のモデルの比較研究を行い、「お粗末さ」をクロスチェックできるようにしてください。その結果、おっしゃるようなことが確認できれば、現在jPredictionに実装されているテストアルゴリズムをWalk Forwardに置き換えることも意味があると思います。
一見「当たり前」のことが、いざ実行に移され、経験によって検証されると、「空しい」ことになる、ということに何度も遭遇しています。そして、そのようなアイデアはごく限られたものであり、多くの場合、さらに「ファイル」による修正を経て初めて有効なものとなるのです。それは、アイデアの詳細が欠落しているからです。そして、その細部にこそ、悪魔が潜んでいるのです。
リーナス・トーバルド(Linuxカーネルの生みの親)は、「理論は遅かれ早かれ実践と出会う」と繰り返し言っている。そして、実践は常に真実の基準であることが証明されます。いつも!」です。
さらに、ウォークフォワードの問題点は、各ステージで多くのモデルが登場することです。これらのうち、どれをワーキングモデルとして残し、どのような基準で選択すべきなのでしょうか。
喧嘩をする必要はないのです。私たちは、非常に複雑な研究テーマに取り組んでいます。思い込みが激しいそして、これらの仮定は、過学習とアウトサンプリングにつながる。
2つのシンプルなルール:マーケットを騙せ、自分を騙すな。
Walk Forwardはもちろん良い方法です。しかし、そこでの主なパラメータは、学習の深さとテストの長さである。同時に(!!)、これらのパラメータを調整することで、フォワードポジションの結果が良くなれば、ウォークフォワードをオーバートレーニングすることになります。つまり、1つの大きな塊に対して、Walk Forward最適化を繰り返し行うのです。別の重ならない塊では、「トレーニング」で最適なウォークフォワードパラメータを試し、もう1回フルウルフフォワードを実行します(ただし1回だけ)。結果が良ければ、モデルは依存関係を拾い上げていることになる。もし結果が悪ければ、あまり良くないモデルでウォークフォワードの再トレーニングを行っただけということになります。
遅延したサンプルで一度だけテストするのと同じ問題があるのです。今やっているのは、オーバートレーニングによる成果の公開です。クロスバリデーションの結果は、最終テスト用の延期されたサンプルと相関があるはずです。とはいえ、クロスバリデーションで最適なモデルを選択すれば、おおよそ最良のサンプル外結果を得ることができます。そうでない場合、つまり相関がない、あるいは負の相関がある場合は、FXのモデルが不適切であり、変更する必要があります。
これらは根拠のない主張、つまり俗に言うデタラメである。Walk Forwardの有効性を証明するために、jPredictionモデルとWalk Forward後のモデルの比較検討の結果を、「お粗末さ」をクロスチェックできる形で提示してください。その結果、おっしゃるようなことが確認できれば、現在jPredictionに実装されているテストアルゴリズムをWalk Forwardに置き換えることも意味があると思います。
一見「当たり前」のことが、いざ実行に移され、経験によって検証されると、「空しい」ことになる、ということに何度も遭遇しました。そして、そのようなアイデアはごく限られたものであり、多くの場合、さらに「ファイル」による修正を経て初めて有効なものとなります。それは、アイデアの詳細が欠落しているからです。そして、このような細部にこそ、悪魔が潜んでいるのです。
リーナス・トーバルド(Linuxカーネルの生みの親)は、「理論は遅かれ早かれ実践と出会う」と繰り返し言っている。そして、実践は常に真実の基準であることが証明されます。いつも!」です。
さらに、ウォークフォワードの問題点は、各ステージで多くのモデルが登場することです。これらのうち、どれをワーキングモデルとして残し、どのような基準で選択すべきなのでしょうか。
争うほどのことではありません。
私もそう思います。しかし、そのためには、スレッド内の根拠のない非難を最小限に抑える必要があります。ダブルチェックが可能な比較研究の結果を出すのがベストな選択です。
私たちは非常に複雑な研究に取り組んでいます。
働いている人もいれば、根拠なく指をくわえて見ている人もいる(指をくわえて見るのはやめよう)。
戦う価値はない。
私もそう思います。
ここには多くの前提があります。そして、このような前提が、過剰な教育やサンプル外のプラマイゼロにつながるのです。
パンに仮定を載せてポケットに入れることはできない。ですから、オーバートレーニングやサンプル外プラマイゼロの熊手を踏まないように、根拠のない思い込みではなく、何事も経験的に確認すべきなのです。
Walk Forwardはもちろん良い方法です。しかし、そこでの主なパラメータは、学習の深さとテストの長さである。同時に(!!)、これらのパラメータに対処してフォワードトラックの結果が良くなるようにすれば、ウォーク・フォワードをオーバートレーニングすることになります。つまり、1つの大きな塊に対して、Walk Forward最適化を繰り返し行うのです。別の重ならない塊で、「training」で最適なWalk Forwardのパラメータを試し、もう1回実行します。結果が良ければ、モデルは依存関係をピックアップする。もし結果が悪ければ、ウォークフォワードをあまり良くないモデルで再トレーニングしただけということになります。
遅延したサンプルで一度だけテストするのと同じ問題があるのです。今やっているのは、オーバートレーニングによる成果の公開です。クロスバリデーションの結果は、最終テスト用の延期されたサンプルと相関があるはずです。とはいえ、クロスバリデーションで最適なモデルを選択すれば、おおよそ最良のサンプル外結果を得ることができます。そうでない場合、つまり相関がない、あるいはマイナスになる場合は、FXのモデルが不適切であり、変更する必要があります。
要するに、どの方式にもメリットとデメリットがあるということです。思い込みは、長所を誇張し、短所を無視する。
さらに大きなポイントは、どの手法も最高の品質基準に従ってモデルを選択することはできず、すべての手法は拒絶の原則に従って選択すること、つまり、わかっていながら適さないものだけをフィルタリングしていることです。リジェクトされた後に残ったものの潜在的な適性を計算する方法は、MLにはない。
特に非定常的な環境では。一般化という点では、一見、最適なモデルを選択することができるのですが、明日、中央銀行のトップが会議でおならをしたら、すべてのモデルが水の泡になってしまうのです。
要は、どの方式にもメリットとデメリットがあるということです。思い込みは、メリットを誇張し、デメリットを無視する。
さらに大きなポイントは、どの手法も最適な品質基準でモデルを選定しておらず、すべての手法が、不適当とわかっているものだけをフィルタリングする「拒否の原理」に従って選定していることだ。MLでは、リジェクト後に残ったものの潜在的な価値を計算する方法はない。
非定常的な環境ではなおさらだ。一般化という観点から最適なモデルを選択することは可能なようだが、明日、どこかの中央銀行のボスが屁をこいたら、すべてのモデルが水の泡になってしまう。