Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 481

 
Maxim Dmitrievsky:

die Inkremente können mit einer Wahrscheinlichkeitsschätzung der Zugehörigkeit zu einer bestimmten Klasse versehen werden


ohne "darüber nachzudenken" vorgehen.

 
Oleg Avtomat:

Nun, machen Sie weiter, ohne zu "denken".


OK, wir werden es mit einem Experiment überprüfen... :) natürlich werde ich 2 und mehr 2 Klassen ausprobieren, aber ich sehe keinen grundlegenden Unterschied für meinen Fall

 
Maxim Dmitrievsky:

Maxim, ich sehe Ihre Situation folgendermaßen:

Das Ziel ist:

a) um eine Wahrscheinlichkeit für die Bewegungsrichtung zu erhalten;

b) um eine Einschätzung der Stärke der Bewegung zu erhalten.

Lösungsmöglichkeiten:
1) Verwenden Sie einen Ausgang [0,1] oder [-1,1]. Oder zwei Ausgänge [[0,1],[0,1]].

Nerf: Die Trainingsdaten müssen die Stärke der Bewegung widerspiegeln, d. h. der Bewegungsverlauf muss auf einen gültigen Bereich normalisiert werden.

Plus: Das Netzwerkmodell ist leicht und einfach einzurichten.

Minus: Die Normalisierung wird aufgrund der unterschiedlichen Amplituden der Preisänderungen über die gesamte Zeitreihe hinweg heterogen sein.

2) Verwenden Sie die zweidimensionale Klassifizierungsausgabe [0,1]+[0,1] oder [-1,1]+[-1,1]. Entweder drei/vier Ausgänge [[0,1],[0,1]+[0,1]] oder [[0,1],[0,1]+[0,1],[0,1]]. Eine Dimension ist die Wahrscheinlichkeit der Bewegungsrichtung, die zweite Dimension ist die Wahrscheinlichkeit der Stärke der Bewegung.

Plus: Bessere Sichtbarkeit des Ergebnisses.

Minus: Schwierigkeit der Anpassung von Modellen neuronaler Netze an "hölzerne" Rahmen.

3) Option zwei mit Aufteilung des Netzmodells in zwei Teile. Ein Modell lernt, die Richtung vorherzusagen, das zweite Modell lernt, die Stärke der Bewegung vorherzusagen.

Vorteile: gute Visualisierung; einfache Anwendung von neuronalen Netzen.

Minus: Geringfügige Erhöhung der Berechnungsgeschwindigkeit möglich; Mehr Code.

 
Aleksey Terentev:

Maxim, ich sehe Ihre Situation folgendermaßen:

Das Ziel ist:

(a) Ermittlung der Wahrscheinlichkeit der Bewegungsrichtung;

b) Um eine Einschätzung der Stärke der Bewegung zu erhalten.

Lösungsmöglichkeiten:
1) Verwenden Sie einen Ausgang [0,1], oder [-1,1]. Oder zwei Ausgänge [[0,1], [0,1]].

Nuance! Die Trainingsdaten sollten die Stärke der Bewegung widerspiegeln, d. h. die Bewegungshistorie muss auf den gewünschten Bereich normalisiert werden.

Plus: Bequemlichkeit und Einfachheit der Anpassung des Netzmodells.

Minus: Die Normalisierung wird aufgrund der unterschiedlichen Amplituden der Preisänderungen in der gesamten Zeitreihe uneinheitlich sein.

Also der Wert der Wahrscheinlichkeit der Zuordnung zu einer von 2 Klassen wird immer noch die Signalstärke entsprechen, wenn ich zunächst in den Ausgängen mit Signalstärke füllen (sagen wir, nur die normalisierten Inkremente im Bereich 0-1, wird die Ausgabe erhalten, je höher die Wahrscheinlichkeit der Zuordnung zu einer bestimmten Klasse, desto größer ist die erwartete Inkrement?

Oder es funktioniert nicht so und wir erhalten nur die Wahrscheinlichkeit der Zuordnung zu einer Klasse, aber die Größe des Inkrements in der Ausgabe geht verloren :)

 
Eidechse_:

Wenn wir eine einfache Regressionslinie erstellen.... i.e..... ist stärker als...
Und wenn wir ein neuronales Netz mit nichtlinearer Klassifizierung nehmen...


Messen Sie sie mit einem Lineal und Sie werden es wissen. Zum Beispiel das inzwischen in Mode gekommene Logloss(R - library(MLmetrics))

Wäre es nicht besser, mehr Klassen zu schaffen?

So bequem wie Sie wollen...



Das heißt, die Information über die Größe der Inkremente geht nach dem Training nicht verloren, und die Wahrscheinlichkeit der Zuordnung zur 1. von 2 Klassen kann verwendet werden, um die vorhergesagte Stärke der Inkremente zu bestimmen, nicht nur, in welcher Klasse die Inkremente landen werden. Warum dann viele Ausgänge bauen, 2 sind genug :)

 
Maxim Dmitrievsky:

Das heißt, die Information über die Größe der Inkremente geht nach dem Training nicht verloren, und die Wahrscheinlichkeit der Zuordnung zur ersten von zwei Klassen kann verwendet werden, um die vorhergesagte Stärke der Inkremente zu bestimmen, nicht nur, in welcher Klasse die Inkremente auftreten werden. Warum sich dann mit vielen Ausgängen abmühen, 2 sind genug :)

Wenn Sie an einem guten Ergebnis interessiert sind - zum Beispiel kann sich die Wahrscheinlichkeit jeder Einstufung beim Kauf von der Wahrscheinlichkeit der gleichen Einstufung beim Verkauf unterscheiden.

Hochachtungsvoll.
 
Maxim Dmitrievsky:

Der Wert der Zuordnungswahrscheinlichkeit zu einer von 2 Klassen wird also der Signalstärke entsprechen, wenn ich die Ausgänge zunächst mit der Signalstärke fülle (sagen wir, ich füttere einfach die normierten Inkremente im Bereich 0-1, am Ausgang erhalten wir die höhere Wahrscheinlichkeit der Zuordnung zu dieser oder jener Klasse, je größer das erwartete Inkrement?

Oder es funktioniert nicht so und wir erhalten nur die Wahrscheinlichkeit der Zuordnung zu einer Klasse, aber die Größe der Ausgabeschritte geht verloren :)

Das neuronale Netz weiß selbst nicht, was es braucht. Es lernt von dem, was Sie ihm geben. Wenn es in den Daten tatsächlich ein Muster zwischen Eingabe und Ausgabe gibt, wird das Modell dies bei entsprechendem Training erkennen. D.h. Ja, der Wahrscheinlichkeitswert kann die Stärke einer Bewegung anzeigen.


Ich würde folgendes tun: Signale in zwei Kauf-/Verkaufsklassen durch [0,1] oder Sinus/Tanh-Ausgang [-1,1] unterteilen.

 
Andrey Kisselyov:
Die Wahrscheinlichkeit jeder Abstufung beim Kauf kann sich von der Wahrscheinlichkeit der gleichen Abstufung beim Verkauf unterscheiden, daher müssen Sie etwas Arbeit leisten, wenn Sie an einem guten Ergebnis interessiert sind.

Mit freundlichen Grüßen.

Nein, ich habe bereits den Bildschirm zitiert, die Inkremente sind stationär und symmetrisch auf beiden Seiten von Null, so dass die Wahrscheinlichkeiten +- gleich sein werden


 
Und ja, das ist der Punkt, an dem die Normalisierung einsetzt. Er springt umher und normalisiert die Daten in verschiedenen Intervallen unterschiedlich.

Nun, wenn Sie die Daten auf einmal normalisieren, werden die Signale viel schwächer sein.
 
Aleksey Terentev:

Das neuronale Netz selbst weiß nicht, was es von Ihnen braucht. Es lernt von dem, was Sie ihm geben. Wenn es in den Daten tatsächlich ein Muster zwischen Eingabe und Ausgabe gibt, wird das Modell dies mit dem richtigen Training erkennen. Ich meine, ja, der Wahrscheinlichkeitswert kann die Stärke der Bewegung anzeigen.


Ich würde die Signale in zwei Klassen unterteilen: [0,1] oder Sinus/Tanh-Ausgang [-1,1].


Ja, danke, das wollte ich hören ... denn ein Freund, der sich mit neuronalen Netzen beschäftigt, sagte mir, dass die Wahrscheinlichkeit der Zuweisung zu einer Klasse nur die Wahrscheinlichkeit der Zuweisung zu einer Klasse ist, Daten über absolute Inkremente würden verloren gehen ... Ich fing an, mit ihm zu streiten und verwirrte am Ende uns beide :)