This site is best viewed in a browser that conforms to web standards.
Normalisierungsverfahren sind mathematische Transformationen von Mengen (Zeitreihen, Vektoren). Dabei wird der Vektor von einem Wertebereich in einen anderen Wertebereich transformiert, so dass der Ausgabevektor bestimmte statistische Eigenschaften aufweist, so zum Beispiel bestimmte Grenzwerte, Varianz, Standardabweichung oder auch einen gewünschten Durchschnitt.
Ein leicht verständliches Beispiel für die Notwendigkeit einer solchen Transformierung ist die Darstellung einer reellen Zeitreihe in einem Chart. Nehmen wir an, es soll die Preisentwicklung einer Aktie über einen bestimmten Zeitraum in einem Chart dargestellt werden. Innerhalb des darzustellenden Zeitraumes schwankt der Preis zwischen $113.29 und $241.05. Für den Chart steht eine leere Grafik mit den Dimensionen 640x480 Pixel zur Verfügung. Das Koordinatensystem bei Computerausgabegeräten wie Druckern oder auch einem Display basiert auf natürlichen Zahlen, da diese Geräte die Bilder aus unteilbaren Pixeln zusammensetzen. Den Preis $113.29 kann man daher nicht exakt auf einem solchen Gerät abbilden, selbst wenn sich der Wertebereich des Preises - wie hier - innerhalb des Wertebereichs der Pixelkoordinaten befindet. Zwei Transformationen wären für die Darstellung dieses Charts wünschenswert:
Beide Transformationen lassen sich durch ein geeignetes Normalisierungsverfahren
(hier: Normalisierung in ein Intervall) in
einem Schritt durchführen. Bei der Normalisierung wird der Eingangsvektor
x in einen normalisierten Ausgabevektor x' überführt,
das heisst: Jedes Element
des Eingangsvektors wird in
ein Element
des Ausgabevektors überführt

Hierbei steht
für die Normalisierungsfunktion. Diese
kann sehr unterschiedlich implementiert werden, je nach dem, in welchem Wertebereich
der transformierte Vektor sich bewegen und welche statistischen Eigenschaften
er aufweisen soll. Wir wollen an dieser Stelle fünf häufiger eingesetzte
Normalisierungsverfahren mathematisch, sowie in Bild und C++-Code vorstellen.
Die Transformation ist nicht nur von den Werten in x abhängig, sondern auch von dessen statistischen Eigenschaften wie Wertebereichsgrenzen, Varianz und Durchschnitt. Fügt man beispielsweise einem Vektor x ein Element hinzu, dass ausserhalb des Wertebereichs der übrigen Elemente in x liegt oder die Varianz in x spürbar verändert, hat dies weitreichende Auswirkungen auf die Werte und statistischen Eigenschaften des Ausgabevektors.
Bei Zeitreihenanalysen, die im praktischen Einsatz täglich mit neuen Beobachtungsdaten ergänzt werden, stellt dies ein Problem dar. So müssen beispielsweise die Eingabevektoren für einen neuronalen Softwarebaustein normalisiert werden, damit ihre Werte in dem für ein künstliches Neuron "sichtbaren" Bereich liegen und bestimmte für den Lernprozess notwendige statistische Randbedingungen erfüllt sind.
Die Ausgabe eines solchen neuronalen Bausteins hängt aber massgeblich von den transformierten Elementen der Eingabevektoren ab. Im praktischen Einsatz werden die Eingangsvektoren nach jeder weiteren Beobachtung (bspw. neuer Preis in einer Preishistorie) erneut normalisiert und durch das neuronale System geleitet. Der nun entstandene Eingangsvektor kann jedoch spürbar von dem vorherigen abweichen, so dass die für zurückliegende Datenpunkte ausgegebenen Signale nicht mehr mit den zuvor tatsächlich gegebenen übereinstimmen.
Dieser Umstand macht die historische Beurteilung von Systemen, die auf normalisierte Daten angewiesen sind, problematisch. Es ist schwierig, von einer historischen Beurteilung eines solchen Systems auf die praktische Einsetzbarkeit zu schliessen, wenn sich die statistischen Eigenschaften und absoluten Werte innerhalb der Eingabevektoren täglich ändern können.
Die von Ivorix verwendeten Verfahren der Datenvorbereitung für die neuronalen Softwarebausteine (beispielsweise in NeuroStrategy Finance) tragen diesem Umstand Rechnung und halten Werte und statistische Eigenschaften konstant, bis ein Baustein erneut trainiert wird. Dieses Verfahren ist eine Voraussetzung für eine faire historische Betrachtung beispielsweise der Performance eines NeuroStrategy-Strategiemodells.
Anwender anderer neuronaler Softwaresysteme sollten sich fragen, ob diese für den praktischen Einsatz enorm wichtige Bedingung in den von ihnen eingesetzten Systemen berücksichtigt ist.