Diplomarbeit - Konstruktion von NN für Regressionsanalysen - Kapitel 3.1
von Daniel Schwamm (09.11.2000)
Die Entwicklung einer Software, die neuronale Netzwerke und statistische
Methoden miteinander verbindet, wurde vom Verfasser im Rahmen zweier Projekte
vorgenommen, die zur Zeit im ZEW bearbeitet werden. Im folgenden wird
Neurometricus, das Ergebnis dieser Bemühungen, in technischer Hinsicht
erläutert. Die praktische Anwendung wird dann in Abschnitt 3.2 und
Abschnitt 3.3 behandelt.
Die Funktion von Neurometricus wurde in GAUSS programmiert. Hierbei handelt es
sich um eine matrizenbasierte Interpretersprache, deren Syntax sich relativ eng
an der entsprechenden mathematische Schreibweise orientiert. Viele der bei
statistischen Fragestellungen benötigten Masszahlen und Verfahren,
zum Beispiel arithmetische Mittel und lineare Regressionsmodelle, sind im
Sprachumfang bereits enthalten. Im Gegensatz zu SAS-Basic, das als Alternative
zu GAUSS betrachtet wurde, hält sich die gewählte Sprache konsequent
an das Prinzip der Offenheit, d.h. der Quellcode der internen Funktionen und
der Bibliotheksfunktionen ist einsehbar und manipulierbar. Grösster
Nachteil von GAUSS ist, dass ausser den Handbüchern kaum
englisch- oder gar deutschsprachige Literatur existiert.
Obwohl GAUSS eine objektorientierte Programmierweise nicht implizit unterstützt,
konnte Neurometricus dennoch so modular strukturiert werden, dass zukünftige
Erweiterungen ohne grossen Aufwand zu realisieren sind. Funktionen mit
ähnlichem Aufgabenfeld wurden in einheitlichen Modulen zusammengefasst,
zum Beispiel befinden sich alle Modulzugriffsfunktionen im Modul nnfile.src
und alle Spezifikationsfunktionen im Modul nnspec.src. Insgesamt besteht die
Software derzeit aus den 17 Modulen und 174 neurometrischen Funktionen, wie sie in
Anhang I aufgeführt werden. Aus Effizienzgründen findet die Kommunikation
zwischen den Modulen zum Teil durch globale Variablen statt, die im Modul
nnglobal.dec deklariert werden. Das ist zwar programmiertechnisch nicht
zeitgemäss, ermöglicht jedoch einen flexiblen, interaktiven Einsatz
der Neurometricus-Funktionen direkt aus dem Interpretersystem heraus.
Alternativ dazu können die Funktionen natürlich auch in herkömmlicher Weise
in Anwendungsprogrammen integriert und abgearbeitet werden.
Das verwendete GAUSS-386i VM-System in der Version 3.1.2 lässt sich
auf jedem PC installieren und betreiben, der mindestens eine 386er CPU und 4 MB
Arbeitsspeicher zur Verfügung stellt. Für speicherintensive
Applikationen kann der Arbeitsspeicher auch unter MSDOS virtuell erweitert
werden. Die gesamte Entwicklungsumgebung beansprucht ca. 7 MB auf der
Festplatte. Einen Umfang von 350 kB nimmt der Quellcode von Neurometricus ein.
Weitere 15 kB belegt ein in C++ programmiertes Entwicklungswerkzeug namens
rdgauss.exe, welches die Beschreibung der Modulfunktionen automatisiert.