Diplomarbeit - Konstruktion von NN für Regressionsanalysen - Kapitel 3.1

von Daniel Schwamm (09.11.2000)

3.1 Neurometricus - ein neurometrisches Werkzeug

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.

3.1.1 Programmiersprache

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.

3.1.2 Programmstruktur

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.

3.1.3 (Entwicklungs-)Umgebung

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.