Donnerstag, 25. April 2024, 13:44 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Fritz

unregistriert

1

Samstag, 5. Oktober 2002, 12:24

Zeiträume u.a. Einstellungen

Hallo,
ich möchte mal ein neues Thema zu den Zeiträumen u. a. Einstellungen aufmachen.
Hier schlummert eine Gefahr für den NN bzw. HS Entwickler ohne entsprechende Praxis.
Die einstellbaren Kontrollzeiträume sollten, damit man sich nicht selbst die Taschen füllt, tatsächliche Kontrollzeiträume sein und so behandelt werden, als lägen sie in der Zukunft.

Das bedeutet, für das Training eines NN, wenn dessen Output in einem HS Handelssignale generieren soll, kommen als Bewertungszeitraum eigentlich nur Crossvalidation oder Evaluierungszeitraum in Betracht.
Nur so kann man sich schon während des Trainings über die Bewertungskriterien ein Bild über die Generalisierungsfähigkeit des NN machen. Hierbei zählen weniger die absoluten Werte als vielmehr der Vergleich zwischen den jeweiligen Zeiträumen.

Beim Training mit GA sehe ich eine weitere Gefahr des Selbstbetrugs dann, wenn man sich aus der Optimierungshistorie die Generation heraussucht, welche im Kontrollzeitraum die besten Ergebnisse zeigt. Oft ist es genau diese, welche im Trainingszeitraum eine der schlechtesten war. Diesen Hinweis von curve fitting sollte man aber nicht übersehen und besser das NN noch einmal überarbeiten als sich über die Auswahl der vermeintlich in allen Zeiträumen halbwegs "guten" Generation die Taschen zu füllen.
Diese werden dann nämlich beim realen Einsatz dieses NN im Handel schnell leer werden und das tut richtig weh.

Nicht zuletzt sollte man dann auch beim Einfügen eines NN in ein HS wieder die im NN eingestellten Zeiträume beachten und auf das HS übertragen, d.h. die Kontrollzeiträume sollten deckungsgleich sein. Aber auch dann schlummert wieder eine Gefahr des Selbstbetrugs bei der Einstellung der Signalschwellen für den Output des NN.

Manche lassen diese durch Optimierung suchen und bis zur dritten Stelle hinter dem Komma genau einstellen. Ein HS aber, dessen Signalschwellen nur in einem ganz kleinen Bereich profitabel sind, wird sehr schnell versagen.
Für Letzteres kann man ja nun, sofern man sich das neue Tool zugelegt hat, den Robustheitstest verwenden. Sehr gut kann man da erkennen, in welchem Signalbereich das HS wie gut funktioniert. Die dort gefundenen Werte kann man sofort in das HS übertragen lassen.
Ich kann nur jedem raten, bevor er sein Geld an der Börse verbrennt, in dieses Tool zu investieren. (Ich bekomme keine Provision von Herrn Knöpfel, warum eigentlich nicht??)

Aber auch bei der Anwendung dieses Tools spielen wieder die Zeiträume eine wesentliche Rolle. So kann man den Robustheitstest neben vielen anderen Kriterien z.B. für die Steigung der KK und deren Bestimmtheitsgrad machen. Und zwar je nach Einstellung für den Optimierungs-, den Kontroll- oder den Gesamtzeitraum. Ich meine aber, will man sich nicht wieder selbst belügen, so nimmt man die Einstellung nur nach dem Optimierungszeitraum vor.
Den Kontrollzeitraum nimmt man wieder nur zur Kontrolle. Und muß man feststellen, dass das Ergebnis im Kontrollzeitraum nicht zufriedenstellend ist, so bleibt nur der Weg, das NN mit anderen Inputs und veränderten Einstellungen erneut zu trainieren.

Die erfahrenen Investoxler werden das sicher alles selbst schon erkannt haben, aber vielleicht sind doch ein paar wenige dabei, denen ich einige Sackgassen bei der Entwicklung von NN und HS aufzeigen konnte.

Gruß Fritz

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

2

Montag, 7. Oktober 2002, 16:28

RE: Zeiträume u.a. Einstellungen

Hallo,
vielen Dank für diesen Beitrag, er zu Recht auf die Wichtigkeit der Zeiträume hinweist. Ich denke aber, es ist schon gut so, dass es für Beiträge im Forum keine Provision gibt (sonst müsste man ja negative Beiträge kostenpflichtig machen!)
Viele Grüße
Andreas Knöpfel

Thomas

unregistriert

3

Montag, 7. Oktober 2002, 20:30

Hallo Fritz,

auch ich möchte mich für deinen Beitrag bedanken, er fasst alles wesentliche zusammen, was gerade für mich als Neueinsteiger wichtig ist.

Die Bedeutung des Robustheitstest für die qualitative Beurteilung eines NNs ist mir erst jetzt bewußt geworden. Ich werde mir das dann auf der IAM genauer ansehen und mich dann wahrscheinlich für den Kauf entscheiden.

Eine Frage möchte ich aber zuvor noch stellen. Beim Training eines NNs ist mir neulich aufgefallen, dass die Evaluierungszeiträume mitunter stark variert werden. Kann man bereits daraus in bezug auf Curve Fitting/Generalisierung etwas ableiten?

Beispiel:

Beim Training über Crossvalidation mit einem Gesamtzeitraum von ca. 1.200 Perionden war die Verteilung zu Beginn etwa so:

Trainingszeitraum 500 Perioden
Evaluierungszeitraum 500 Perioden
Kontrollzeitraum 200 Perioden


später hat sich die Verteilung etwa so verschoben:

Trainingszeitraum 200 Perioden
Evaluierungszeitraum 800 Perioden
Kontrollzeitraum 200 Perioden


Kann man daraus etwas über die Qualität des NNs ableiten oder werden die Zeiträume zufallsbedingt gewählt? Zuvor habe ich solche extremen Verschiebungen zwischen der Länge der Zeiträume noch nicht bemerkt.

Fritz

unregistriert

4

Dienstag, 8. Oktober 2002, 10:00

Hallo Herr Knöpfel,
ich hoffe doch, Sie konnten das Lächeln bei meinem (Satz) auch ohne eines dieser gelben Dinger erkennen.

Gruß Fritz

Hallo Thomas,
aus der Veränderung der Trainings- und Evaluierungszeiträume beim Training mit Crossvalidation kann man keine Rückschlüsse auf die Qualität oder die Generalisierung des NN ziehen.
Diese Veränderungen erfolgen nicht zufallsbedingt sondern nach einem in Investox hinterlegten Algorithmus in Abhängigkeit der eingestellten Anzahl der Samples, wobei sich der Evaluierungszeitraum nur im letzten Sample ändert.

Gruß Fritz

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

5

Dienstag, 8. Oktober 2002, 10:33

Hallo,

@Fritz: klar habe ich das, meine Antwort war ja auch entsprechend ernst...

@Thomas: auf welchen Wert haben Sie die Anzahl der Samples bei diesem Training eingestellt? Die Verteilung deutet auf 2 oder 3 hin, was sehr wenig wäre.

Grüße
Andreas Knöpfel

Thomas

unregistriert

6

Dienstag, 8. Oktober 2002, 21:33

Anzahl Samples

Stimmt! Daran habe ich gar nicht gedacht. Ich habe neuen Input mit einer verminderten Zahl an Generationen und Samples verwendet, um bei einem ersten Test Rechenzeit zu sparen. Die Veränderung des Evaluierungszeitraums zum Ende des Trainings hin habe ich gar nicht damit in Verbindung gebracht. Ich glaube es waren 3 Samples, weiß es aber leider nicht mehr genau.

Normalerweise verwende ich die Standardeinstellung mit 5 Samples. Ich nehme an, dass die Zahl der verwendeten Samples in einem sinnvollen Verhältnis zu den zur Verfügung stehenden Perioden stehen sollte. Eine Mindestanzahl an Perioden für die Samples wird vermutlich auch durch den verwendeten Input bestimmt - wenn man z.B. einen 200 Tage-Durchschnitt verwendet müssen die Zeiträume vermutlich länger sein, als bei Indikatoren die eine geringere Anzahl von Perioden für ihre eigene Berechnung benötigen. Oder erfolgt die Berechnung der Inputindikatoren auch anhand der vor dem Evaluierungszeitraum liegenden Perionden?

Gibt es sonst noch andere Anhaltspunkte für die richtige Wahl der Samples?

opvisor

unregistriert

7

Mittwoch, 9. Oktober 2002, 23:35

Kontrollzeitraum

Hallo,

@Fritz: super Beitrag.

Das Problem mit dem "ich such mir nach der Optimierung den besten Kontrollzeitraum raus", ist mir auch schon seit einiger Zeit durch den Kopf gegangen. Besonders bei der Implikation von NN's in ein HS muss man nicht nur hinsichtlich der Gleichheit der jeweiligen Zeiträume besonders vorsichtig sein, sondern es stellt sich auch die Frage, wie man mit Signalfiltern und Stops verfahren soll. Ein auf den Kontrollzeitraum optimierter Filter/Stop ist selbstverständlich in seiner Aussagekraft gleich null. Anderseits macht es meiner Erfahrung nach auch keinen wirklichen Sinn den Filter/Stop auf den vorherigen Trainingszeitraum eines NN hinzuoptimieren. Selbst einfachere CrossV-Netze liefern doch leicht sehr gute (wenn nicht zu gute) Werte im Trainingszeitraum. Jetzt noch einen Filter/Stop auf selbigen Zeitraum optimieren und spätestens jetzt heisst es: Willkommen beim curve fitting.

Ein möglicher Lösungsansatz, mit dem ich bei ersten Versuchen zumindest vielversprechende Resultate erreicht habe, ist es im HS einen Art "Zwitter-Kontrollzeitraum" zu erschaffen. Dieser besteht zu (zB)50% aus Werten des Trainings/Optimierungszeitraums und 50% aus Werten des NN-Kontrollzeitraums. (Voraussetzung dafür sind natürlich ausreichend viele Datensätze.) So erkenne ich recht schnell, wie Optimierungen/Einstellungen im HS auf bekannte und unbekannte Daten reagieren. Weiters behalte ich in dem HS einen wirklichen, wenn auch verkürzten Kontrollzeitraum und ich kann auch die Auswirkungen der Einstellungen auf den reinen Optimierungszeitraum überprüfen.
Eine Erweiterung dieses Ansatzes ist es zwei Duplikate des jeweiligen Projektes zu erstellen. In dem einen Projekt verwende ich dann den Optimierungsanteil des "Zwitterzeitraums" als Messwert für Optimierungen/Einstellungen, in dem anderen Projekt geschieht selbiges mit dem Kontrollzeitraumanteil.

Würde mich freuen Eure Ideen und Bedenken zu diesem Ansatz zu hören.

Gruss,

Georg

Fritz

unregistriert

8

Donnerstag, 10. Oktober 2002, 10:10

Hallo Georg,
ein interessanter und auf den ersten Blick verlockender Gedanke, mit dem Zwitterzeitraum.
Aber wo liegt der Unterschied zur dann doch auch möglichen Bewertung des Gesamtzeitraums beim Robustheitstest. Er besteht darin, daß ich rechts und links davon noch etwas zur optischen Kontrolle habe. Der nicht unerhebliche Nachteil besteht darin, daß die Anzahl der untersuchten Perioden geringer ist als im Optimierungszeitraum, sich somit bestimmte ausgeprägte Trendphasen stärker niederschlagen können und daß eben ein Teil der Zukunft dem System zur Verfügung gestellt wird.
Dann würde ich lieber von Beginn an, also schon beim Training des NN, den Gesamtzeitraum einschränken und den letzten Abschnitt als zusätzlichen Kontrollzeitraum
einsetzen. Dann könnte man den Robustheitstest über den eingeschränkten Gesamtzeitraum machen und hätte zusätzlich noch einen Kontrollzeitraum.
Ein nicht unwesentlicher Aspekt ist auch die Häufigkeit und Verteilung von ausgeprägten Trendphasen in den einzelnen Zeiträumen.

Gruß Fritz

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

9

Donnerstag, 10. Oktober 2002, 14:56

RE: Anzahl Samples

Hallo,
@Thomas:
ich halte 10 Samples schon für sinnvoll.
>>Oder erfolgt die Berechnung der Inputindikatoren auch anhand der vor dem Evaluierungszeitraum liegenden Perionden?
Ja, relevant für den Zeitraum ist der Ergebniswert des Indikators.
Viele Grüße
Andreas Knöpfel

Adrian

unregistriert

10

Mittwoch, 25. Dezember 2002, 22:19

Hallo,

ich mal wieder - nach langer Boardpause - mit meinem Senf:

Beim Training mit Crossvalidation habe ich an 10 Samples mit GA-Optimierung immer mehr Freude. 3-5 Samples nehme ich nur noch zur Kontrolle.
Erklärung: Nehmen wir an, ein Index, den man vorhersagen will, sei die Funktion f(x). Nehmen wir an, dieser Index verlaufe sinusförmig.
Die Funktion wäre dann: f(x)=sinus(x)
Nehmen wir an, man hätte die geeigneten Inputs, um diese Funktion vorherzusagen. Dürfte ja bei den meisten hier "an Board" bei diesem Beispiel kein Problem sein. Dann ist es doch völlig egal, ob man nur 3, 4, 5 oder gar 10 Samples verwendet. Das Ergebnis müsste dasselbe sein.
In der Vergangenheit habe ich NN mit 3, 4 und 5 Samples verwendet und mich dann für die "beste" Variante entschieden. Mittlerweile habe ich aber festgestellt, dass 10 Samples bei mir eindeutig die stabilsten Ergebnisse liefern. Scheinbar werden Strukturbrüche in der Funktion (dem Index) "glattgebügelt". Sie fallen weniger ins Gewicht (im wahrsten Sinne des Wortes). Bei wenigen Samples "lernt" das NN u.U. teilweise Mist. Ein größerer Strukturbruch macht eventuell ein gutes NN kaputt.

MfG

Adrian