Bodamer Softwareentwicklung

Neues Prognoseverfahren mit einem lernfähigen Software-Programm,
welches einen neuen Typ von
neuronalem Netz enthält,
das HCL-Netz

Die Technik der künstlichen neuronalen Netze hat sich bereits in vielen Anwendungsbereichen wie z.B. der Bildverarbeitung oder Handschrifterkennung bewährt. Im Bereich Prognose (auf der Basis gegebener Zeitreihen) werden neuronale Netze immer häufiger eingesetzt, z.B. zur Aktienkursprognose oder Dollarkursprognose, zur Prognose der Umsatz- und Absatzentwicklung oder zur Verbrauchsprognose, um Lagerbestände zu minimieren.

Eigenschaften neuronaler Netze

Mit künstlichen neuronalen Netzen werden biologische neuronale Netze, wie sie in Nervensystemen von Menschen und Tieren vorkommen, als informationsverarbei-tende Systeme nachgeahmt und auf Rechnern mit entsprechenden Programmen simuliert. Neuronale Netze zeichnen sich durch ihre Lernfähigkeit aus. Ein Netz lernt, Eingabemuster, die an seine Eingänge angelegt werden, zu klassifizieren oder zu den Mustern gewünschte Ausgabewerte zu erzeugen. Hierzu werden eine Menge von Trainingsmustern verwendet, mit denen das Netz trainiert wird.

Eigenschaften und Aufbau des neuen HCL-Netzes

Das HCL-Netz besteht aus einer Hierarchie von Neuronenschichten, wobei die Ausgänge von zwei oder mehreren Neuronenschichten einer Sufe als Eingänge einer Neuronenschicht auf der darüberliegenden Stufe dienen. Die Anzahl der erforderlichen Stufen ist abhängig von der Anzahl der Netzeingänge.

Das HCL-Netz verwendet als neues Lernverfahren "hierarchisches Competitive Learning". Dabei handelt es sich um mehrstufiges unüberwachtes Lernen, welches sich durch folgende Merkmale auszeichnet:

Das Netz kann auch bei einer hohen Zahl von Netzeingängen und Neuronen performant auf einem Rechner abgearbeitet werden. Dadurch können komplexere Muster klassifiziert werden.

Das Netz lernt sehr schnell. Jedes Trainingsmuster braucht nur einmal gelernt zu werden. Beim Hinzulernen neuer Muster ist kein Nachtrainieren alter Muster wie z.B. bei dem Lernverfahren "Backpropagation of error" erforderlich.

Durch die Klassifikation von Teilmustern auf unteren Neuronenschichten und das Kombinieren dieser Klassen auf höheren Neuronenschichten kann die erforderliche Gesamtanzahl von Neuronen sowie Neuroneneingängen stark verringert werden.

Reicht die Kapazität einer Neuronenschicht nicht aus, können automatisch zusätzliche Neuronen generiert werden.

Ausgabewerte werden den Ausgabeneuronen in einem überwachten Lernschritt zugeordnet. Dadurch wird für das Gesamtnetz überwachtes Lernen realisiert.

Neues Prognoseverfahren mit dem HCL-Netz

Das Verfahren geht von einer gegebenen Zeitreihe aus, für deren zukünftigen Verlauf eine Prognose erstellt werden soll. Zu dieser Zeitreihe werden zunächst evtl. vorhandene weitere Zeitreihen ermittelt, die mit dieser Zeitreihe in Beziehung stehen und die durch ihre zusätzlichen Informationen zur Verbesserung der Prognose beitragen können. Aus den so erhaltenen Zeitreihen werden transformierte Zeitreihen erzeugt, z.B. mit den folgenden Transformationsfunktionen:

der gleitende Mittelwert der jeweils letzten n Zeitreihenwerte bis zum laufenden Zeitpunkt t,

Minimalwert (bzw. Maximalwert) der jeweils letzten n Zeitreihenwerte bis zu dem laufenden Zeitpunkt t,

um eine vorgegebene Anzahl Zeitschritte zeitverschobene Zeitreihe.


Nun werden aus diesen Zeitreihen einschließlich der transformierten Zeitreihen Trainingsmuster erzeugt, indem die einem bestimmten Zeitpunkt t zugeordneten Werte der verschiedenen Zeitreihen jeweils zu einem Trainingsmuster zusammengefaßt werden. Zusätzlich enthält jedes Trainingsmuster noch den Wert der zu prognostizierenden Zeitreihe, der dem entsprechenden Folgezeitpunkt t+1 zugeordnet ist. Dadurch lernt das Netz, von bekannten Zeitreihenwerten zu einem beliebigen Zeitpunkt t auf den zu prognostizierenden Wert zum Zeitpunkt t+1 zu schließen.

Anschließend erfolgt eine Aufteilung der Trainingsmuster in einen ersten Teil, der aus Zeitreihenwerten gebildet worden ist, die vor einem festgelegten Zeitpunkt t-Start liegen, und in einen zweiten Teil, der aus Zeitreihenwerten ab dem Zeitpunkt t-Start gebildet worden ist. Jetzt wird das Netz zunächst mit dem ersten Teil der Trainingsmuster trainiert. Dann wird der zweite Teil der Trainingsmuster für das Netz-Training verwendet, dabei wird jedoch vor dem Trainieren eines Musters, das aus den Zeitreihenwerten zum Zeitpunkt t gebildet worden ist, zunächst ein Testprognosewert für den Zeitpunkt t vom Netz berechnet und dieser mit dem tatsächlichen Wert der zu prognostizierenden Zeitreihe zum Zeitpunkt t verglichen. Anschließend wird das Muster, welches aus den Zeitreihenwerten zum Zeitpunkt t gebildet worden ist, für das Trainieren des Netzes verwendet.

Auf diese Weise wird erreicht, daß bei der Berechnung jeder Testprognose für einen in der Vergangenheit liegenden Zeitpunkt t nur Zeitreihenwerte für das Trainieren des Netzes verwendet worden sind, die vor dem Zeitpunkt t lagen. Es sind also keine Informationen in diese Testprognose eingeflossen, die erst zum Zeitpunkt t oder danach bekannt waren. Nach dem vollständigen Trainieren aller Trainingsmuster ist auch die mittlere Abweichung der Testprognosen von den tatsächlich aufgetretenen Werten vom Programm ermittelt.

Testen des neuen Prognoseverfahrens beim Anwender

Durch diese Vorgehensweise kann getestet werden, mit werlcher Zuverlässigkeit das Prognoseverfahren beim Anwender benötigte Prognosen in der Vergangenheit erstellt hätte und voraussichtlich auch in der Zukunft erstellen wird.

Dieses nichtlineare Prognoseverfahren kann auch bei sehr umfangreichen vorhandenen Zeitreihen angewendet werden, da das verwendete Netz sehr schnell lernt.

Systemvoraussetzungen:

Betriebssystem: Windows NT / Windows 2000
Empfohlene Konfiguration: Pentium, 16 MB Speicher, 20 MB verfügbare Plattenkapazitäts

© 2012 www.quicktutor.de - Stand: 07. Februar 2012