Artikel: Preisprognosen mit neuronalen Netzen - Seite 13

 
Ulterior:

Dobrovo vam vremia sutok i izvinite za translit.

NEIN BITTE!

 
Neutron:

OK, aber ich hätte gern eine Theorie.

Hier ist die Argumentation laut. Für ein einschichtiges NS mit einer Anzahl von Eingängen N gibt es N Synapsen, deren Gewichte das System N im allgemeinen Fall nichtlinearer Gleichungen eindeutig bestimmen. Es ist klar, dass wir zur Lösung eines solchen Systems eine Trainingsstichprobe von N Vektoren benötigen, die jeweils aus N Elementen bestehen. In diesem Fall funktioniert es nicht anders. Bei NS mit zwei Schichten muss die Anzahl der Eingänge um n kleiner sein als die Gesamtzahl der Trainingsvektoren N, wobei n die Anzahl der Synapsen in der zweiten Schicht ist, so dass die Länge der Trainingsvektoren die Länge N-n hat.

Bei einem dreischichtigen NS ist die Reihenfolge der Überlegungen dieselbe.

So:

1) Wir gehen von der benötigten Vertiefungstiefe aus und bestimmen die Dimensionalität des NS-Inputs.

2. Unter Berücksichtigung der Architektur (Anzahl der Schichten) von NS zählen wir dann die Anzahl der Synapsen und erhalten die optimale Größe der Trainingsstichprobe.


Die Argumentation ist gut, aber sie ist empirisch ... d.h. es ist schwierig, einen Algorithmus zu entwickeln, der nur von der Art und Darstellung der Eingabedaten abhängt.

 
Sergey_Murzinov:

Eines der wichtigsten Dinge (meiner Meinung nach) ist die Datenaufbereitung, um dies zu tun

1. Versuchen Sie, die Korrelation der Eingaben zu verringern. Mit anderen Worten, die Eingaben sollten so statistisch unabhängig wie möglich sein.

2. Bei der Normalisierung der Eingangsvektoren ist es notwendig, eine Erhöhung der Entropie zu erreichen - dadurch erhöht sich die Menge der Information, die den NS bei der Erhaltung des gleichen Umfangs der Eingangsdaten vorgelegt wird.

Eine Überprüfung der Datenqualität ist obligatorisch, z. B. mit der Kolmogorov-Smirnov-Methode oder/und mit dem Hurst-Exponenten.


Durch die Wahl der Netzarchitektur können wir den Fehler reduzieren.

Ich bin anderer Meinung, denn jede Umwandlung von Daten bedeutet eine Veränderung des Informationsgehalts der ursprünglichen Stichprobe. Wo ist das Kriterium für die Bewertung des Kriteriums der Datenänderung? Ich glaube, jeder, der mit NS zu tun hat, kennt den alten Witz, der während des nächsten NS-Booms passierte. Als das US-Militär versuchte, NS für Boden-Boden-Schusssysteme zu verwenden. Eine der Komponenten war ein Mustererkennungsnetz, das beim Lernen usw. sehr erfolgreich war, aber aus irgendeinem Grund erkannte es Panzer bei regnerischem Wetter, und als ihm Daten von einer anderen Landschaftsstruktur vorgelegt wurden, machte es einen schlimmen Fehler. Der Grund dafür war, dass das Netzwerk gelernt hatte, eine Landschaft gut zu erkennen, aber nicht einen Panzer.


Wenn wir die Daten ändern, kann das Problem dasselbe sein - das Netz wird nur die Sequenzen (Modi) auswählen, die zu der normalisierenden Reihe gehören, denn im Prinzip können wir den Normalisierungsprozess selbst als eine Komponente der Schwankungen der Zeitreihe betrachten.

 
Ich habe nun ein zweischichtiges nichtlineares NS erstellt und stelle fest, dass seine Vorhersagefähigkeit im Vergleich zum einschichtigen nichtlinearen NS etwas höher ist. Aber die Streuung der Vorhersagen ist merklich geringer, was erfreulich ist. Es kann auch festgestellt werden, dass das NS merkliche Glättungseigenschaften aufweist, wenn die Anzahl der Eingänge erhöht wird. In meinem Fall nimmt die Anzahl der Trainingsvektoren jedoch proportional zu, was vielleicht auf eine Vergrößerung der Trainingsstichprobe zurückzuführen ist. Es ist notwendig, diese Effekte irgendwie zu trennen...
 

Dies zeigt die Ergebnisse der Prüfung der Vorhersagefähigkeit der beiden NS.


Die Abbildung zeigt in rot die ursprüngliche Zeitreihe (RT), in blau die Vorhersage bei 1 bar vorwärts des linearen einschichtigen Netzes und in grün das nichtlineare zweischichtige Netz. Die Eintauchtiefe ist in beiden Fällen die gleiche. Es ist zu erkennen, dass für diesen künstlichen Fall ein deutlicher Rest der vorhergesagten Daten auf dem BP-Trenddiagramm vorhanden ist. Ich frage mich, ob meine erfahrenen Kollegen diesen Effekt beobachten, und wenn ja, worauf könnte er zurückzuführen sein?

 

rip писал (а):


Ich bin anderer Meinung, denn jede Umrechnung von Daten bedeutet eine Veränderung der Aussagekraft der ursprünglichen Stichprobe. Wo ist das Kriterium für die Bewertung des Kriteriums der Datenänderung? Ich glaube, jeder, der mit NS zu tun hat, kennt den alten Witz, der sich während des nächsten NS-Booms ereignete. Als das US-Militär versuchte, NS für Boden-Boden-Schusssysteme zu verwenden. Eine der Komponenten war ein Mustererkennungsnetz, das beim Lernen usw. sehr erfolgreich war, aber aus irgendeinem Grund erkannte es Panzer bei regnerischem Wetter, und als ihm Daten von einer anderen Landschaftsstruktur vorgelegt wurden, machte es einen schlimmen Fehler. Der Grund dafür war, dass das Netzwerk gelernt hatte, eine Landschaft gut zu erkennen, aber nicht einen Panzer.


Wenn wir die Daten ändern, kann das Problem dasselbe sein - das Netz wird nur Sequenzen (Modi) heraussuchen, die zur normalisierenden Reihe gehören, denn im Prinzip können wir den Normalisierungsprozess selbst als eine Komponente der Schwankungen der Zeitreihe betrachten.

Ich bin nicht gesagt froh. Diese Ansicht wird von der Mehrheit vertreten. Ich bin froh.

 
Sergey_Murzinov:

rip schrieb (a):


Ich stimme nicht zu, jede Transformation der Daten ist eine Veränderung der Aussagekraft der ursprünglichen Stichprobe. Wo ist das Kriterium für die Bewertung des Kriteriums der Datenänderung? Ich glaube, jeder, der mit NS zu tun hat, kennt einen alten Witz, der sich während des nächsten NS-Booms ereignete. Als das US-Militär versuchte, NS für Boden-Boden-Schusssysteme zu verwenden. Eine der Komponenten war ein Mustererkennungsnetz, das beim Lernen usw. sehr erfolgreich war, aber aus irgendeinem Grund erkannte es Panzer bei regnerischem Wetter, und als ihm Daten von einer anderen Landschaftsstruktur vorgelegt wurden, machte es einen schlimmen Fehler. Der Grund dafür war, dass das Netzwerk gelernt hatte, eine Landschaft gut zu erkennen, aber nicht einen Panzer.


Wenn wir die Daten ändern, kann das Problem dasselbe sein - das Netz wird nur Sequenzen (Modi) heraussuchen, die zur normalisierenden Reihe gehören, denn im Prinzip können wir den Normalisierungsprozess selbst als eine Komponente der Schwankungen der Zeitreihe betrachten.

Ich bin nicht gesagt froh. Diese Ansicht wird von der Mehrheit vertreten. Ich bin froh.

Meinung ist Meinung, aber in der Praxis sieht es anders aus. Ich habe versucht, die Netzarchitektur mit Hilfe eines genetischen Algorithmus zu optimieren, und das Ergebnis ist interessant - aber die Berechnung dauert sehr lange.

 

Hier ist ein weiterer Vergleich der Vorhersagekraft des Netzes.


Dies ist ein Fortschritt bei der Vorhersage eines einschichtigen nichtlinearen NS (blaue Linie) und eines zweischichtigen nichtlinearen NS. Hier ist die einfache Schicht vorzuziehen.

Es ist interessant, diese Testergebnisse mit denen anderer NS-Architekturen zu vergleichen. Kann jemand seine Ergebnisse zum Vergleich veröffentlichen?

 

rip писал (а):


Meinung ist Meinung, aber in der Praxis sieht es anders aus. Ich habe versucht, die Netzarchitektur mit Hilfe eines genetischen Algorithmus zu optimieren. Das Ergebnis ist interessant, aber die Berechnung dauert sehr lange.

Wenn etwa 24 Stunden viel sind, dann ja. Bitte beachten Sie nur, dass der Umgang mit Netzen (deren Betrieb) einmalig ist.

 

zu Neutron

Bislang keine Ergebnisse, aber ich komme langsam in Fahrt.

Was den ersten Beitrag (mit dem ersten Bild) betrifft, so versuche ich zu verstehen, was Sie meinen. Ich persönlich habe keine spürbare Verzögerung festgestellt. Im Gegenteil, in Bereichen, in denen es eine Art Muster gibt, ist es (das Netz) ziemlich gut darin, dieses zu erkennen, und der Fehler liegt nur bei den Unterbrechungen der Trends (und die sind hier zufällig, oder der Stichprobenumfang reicht nicht aus, um eine Art Muster in ihrem Auftreten zu erkennen).