|
|||||||||||||||||||||||||||||||||
| ISBN: 3898642402 ISBN: 3898642402 ISBN: 3898642402 ISBN: 3898642402 | |||||||||||||||||||||||||||||||||
|
|
Wir empfehlen: | ||||||||||||||||||||||||||||||||
Dieses Benutzerhandbuch entspricht dem Kapitel 5 meiner
Diplomarbeit.
Inhaltsverzeichnis
5.1.1 File(s) * 5.1.2 Datenbank * 5.2 Analyse *
5.3 Ausgabe *
5.4 Hilfe-System * BenutzerhandbuchMit dem Topological Data Miner (Abbildung 5-1) steht eine in Java objektorientiert entwickelte Prototyp-Umgebung zur Verfügung, welche die Anwendung von Clusteralgorithmen auf Netz-Strukturen ermöglicht. Insbesondere ist mit dieser prototypische Umsetzung eine Evaluierung des im Kapitel 3 vorgeschlagenen Verfahrens TopClu durchführbar.![]() Die Struktur des Prototyps und die Organisation der Funktionalitäten sind nach dem EVA-Prinzip gegliedert. Dementsprechend ist diese Dokumentation zur Handhabung des Prototyps aufgebaut. In Abschnitt 5.1 werden die Möglichkeiten zur Dateneingabe erläutert. Die Analysefunktionen sind im Abschnitt 5.2 beschrieben und die Ausgabemöglichkeiten der Ergebnisse der Clusteranalysen werden in 5.3 dokumentiert. In den Abschnitten 5.4 bis 5.5 werden das Hilfe-System, die Parametrisierung und weitere Optionen beschrieben. Eine generelle Anforderung an den Prototypen ist, daß das System flexible auf beliebige Datenquellen zugreifen soll und dort in flachen Relationen gehaltene topologische Netzdaten auswerten kann. Diese geforderten Funktionalitäten sind im Prototyp dahingehend umgesetzt, das einerseits uneingeschränkt auf relationale Datenbanken zugegriffen werden kann und andererseits ein einfaches Format zum Zuriff auf Netzdaten aus Textdateien vereinbart und realisiert wurde. Allgemein gilt, daß nach Angabe der Datenquelle, das durch die Eingabedaten spezifizierte Netz intern in der Graphdatenstruktur aufgebaut wird, wie sie in Kapitel 4 beschriebenen wurde. Demnach ist durch den Hauptspeicher eine natürliche Beschränkung der Größe des Graphen gegeben. Dies ist jedoch im Rahmen dieses Prototyps zu dieser Diplomarbeit keine wesentliche Einschränkung. Nach Aufbau des internen Netzgraphen steht dieser dann allen weiteren Verarbeitungsschritten zur Verfügung.
Die Funktionalitäten des Datenquellen-Menüs werden in den folgenden Abschnitten näher erläutert. Ein Datenbestand für eine Netzstruktur besteht allgemein aus der Beschreibung für die Netzknoten und -kanten, wobei bereits die Struktur durch die Netzkanten vorgegeben wird. Der Prototyp trägt diesem Sachverhalt Rechnung, indem Netze sowohl aus beiden Datentypen, wie auch nur aus Kanten aufgebaut werden können. Im Fall von Dateien als "Quell"-Datenbestände, müssen die Daten meist erst aus anderen Quellen bereitgestellt werden. In diesem Fall wird häufig nur ein Kantenfile zur Verfügung stehen. Durch Auswahl des entsprechenden Menüpunktes wird ein Dateidialog geöffnet, indem die Datei(en) ausgewählte werden können. Im folgenden werden die Dateiformate für die Knoten- und Kanten-Files detailliert beschrieben. Kantenfiles Der Datenbestand für die Netzkanten legt die Struktur des Netzes fest. Dies erfordert im wesentlichen Angaben über die Identifikation der Kanten und die "Fremdschlüssel" der verbundenen Netzknoten. Alle weiteren Werte zu den Netzkanten sind beschreibende Attribute, die zur Analyse der Daten herangezogen werden können. Das Dateiformat besteht aus einem Header und dem eigentlichen Datenbereich. Im dreizeiligem Header werden Metadaten zum eigentlichen Datenbereich festgehalten. Damit ergibt sich im einzelnen der folgende Aufbau der Datei: 2. Zeile: Die Bezeichnungen der Kantenattribute sind in dieser zweiten Zeile anzugeben und jeweils durch ein Semikolon getrennt. Hierbei sind die ersten drei Attribute folgendermaßen festgelegt:
ab Zeile 4: Diese Zeilen enthalten die eigentlichen Werte der Netzkanten entsprechend den Angaben der zweiten und dritten Zeile. Auch diese Werte sind jeweils durch Semikola zu trennen. 2: LAB_NR;K_LFD_NR1;K_LFD_NR2;LEITUNGSLAENGE;NENNWEITE;MATERIAL 3: Intger;Integer;Integer;Float;Integer;String 4: 10013608;9140;97242;11.040;80;St 5: 100806;15779;15775;42.344;80;GGG 6: 104927;5749;5743;12.302;150;GGG 7: 10005081;12483;92845;107.503;100;PE ... Knotenfiles Der Datenbestand für die Netzknoten erfordert im wesentlichen keine besonderen Angaben außer der Identifikation der Knoten. Alle weiteren Werte zu Knoten sind beschreibende Attribute. Der Header der Knotendatei ist ähnlich zum Kantenfile aufgebaut: 2. Zeile: Die Bezeichnungen der Knotenattribute sind in dieser zweiten Zeile anzugeben und jeweils durch ein Semikolon getrennt. Hierbei ist das erste Attribut das eindeutige Schlüsselattribut der Netzknoten. 3. Zeile: In der dritten Zeile sind die Bezeichnungen der Datentypen der Kantenattribute anzugeben und jeweils durch Semikola zu trennen. Hierbei ist derselbe Aufbau entsprechend der zweiten Zeile notwendig. Die möglichen Datentypen sind in der API-Dokumentation bei der Beschreibung der Klasse UserProperty angegeben. ab Zeile 4: Diese Zeilen enthalten die eigentlichen Werte der Netzknoten entsprechend den Angabe der zweiten und dritten Zeile. Auch diese Werte sind jeweils durch Semikola zu trennen. 2: KN_Name;EINSPEISUNG;DRUCK;R_WERT;H_WERT 3: String;Float;Float;Integer;Integer 4: ca_v;0;90;2563200;5654300 5: ca_v1;0;50;2563100;5654500 6: ca_v2;-10.5;70;2563600;5654500 7: cb_x;37.25;85;2563300;5654300 ... Neben der Möglichkeit die Netzdaten aus einfachen Dateien zu lesen, besteht zusätzlich die Möglichkeit, diese Daten aus einer Datenbank zu entnehmen. Dazu ist eine relationale Struktur der Daten notwendig, da der Datenbankzugriff mit der, innerhalb der Sprache Java standardisierten, Datenbankschnittstelle JDBC erfolgt. Damit sind alle Datenbanken ansprechbar, zu denen ein JDBC-Treiber existiert, der mindestens den ANSI SQL92 Entry Level erfüllt. Innerhalb des Datenquellen-Menüs existieren zwei obligatorische Menüpunkte: <Connect> und <Disconnect> zum Auf- und Abbau einer Datenbankverbindung. Im Connect-Dialog werden neben den User-Daten noch die Spezifikation der Datenbank und des verwendeten Treibers abgefragt. Die Datenbank ist in vollständiger URL-Notation anzugeben, wie dies in der JDBC-Spezifikation ([JDBC 1.2], [JDBC 2.0]) beschrieben wird. Dort wird auch die Treiber-Notation definiert, die sich an der vollständigen Klassenbezeichnung der Treiberklasse orientiert.
Als Beispiel seien die in der nachfolgenden Fallstudie (Kapitel Fehler! Verweisquelle konnte nicht gefunden werden.) verwendete Datenbank-URL sowie der verwendetet JDBC-Treiber der Fa. Oracle angegeben:
Diese besteht bis zum expliziten Abbau mittels des Disconnect-Menüpunktes, bzw. bis zur Beendigung der Applikation. Besteht eine Verbindung zu einer Datenbank so kann mit dem Menüpunkt <Build graph> die interne Graphstruktur aufgebaut werden. Die konkreten Tabellen die hierzu verwendet werden sind im entsprechenden Parametrisierungs-Dialog (Menüpunkt: <Set datasource properties>, Abbildung 5-7) zu spezifizieren. Beim Aufbau der Graphstruktur aus einer DB-Verbindung wird im derzeit realisiertem Prototyp immer davon ausgegangen, daß beide Tabellen für die Knoten- und Kanteninformationen vorliegen. Dies wird im Fall der Datenbank als Eingabequelle i.d.R. der Fall sein.
Analog zu dem Fall der Dateneingabe über einfache Dateien sind die Angaben über die Struktur der Knoten- und Kantentabellen notwendig. In diesem Dialog sind folgende Strukturdaten anzugeben
Für die gesamten oben beschriebenen Angaben zu Tabellen und Attributen
sind Kenntnisse über das Datenmodell der Datenbank notwendig. Da diese
Daten im Data-Dictionary vorliegen, sollte innerhalb einer produktiv verwendeten
Mining-Applikation ein entsprechender Informations-Browser zur Verfügung
stehen. Als Beispiel für einen derartigen Dienst kann mit dem Menüpunkt
Dieses realisierte Beispiel soll nur der Übersicht dienen. Weitere Browser-Funktionen müßten zusätzlich realisiert werden. Beispielsweise könnten die Tabellen in einer Baumstruktur dargestellt werden, so daß innerhalb dieses Baumes die Tabellen um die Attribute und diese wiederum um deren Metadaten erweitert werden könnten. Die derzeit im Analysemenü möglichen Verarbeitungen der Graphdaten beschränkt sich auf die eigentliche Durchführung einer Clusterzerlegung und einem kleinen Tool, mit dem einige Struktureigenschaften des Graphen ermittelt werden können. Diese Möglichkeiten werden nachfolgend beschrieben. Eine generelle Anforderung an den Prototypen ist, daß das zu verwendende Clusterverfahren inkl. der Maßbedingung so im System eingebunden sein soll, daß eine möglichst große Flexibilität gegeben ist. Zur Erreichung dieser Flexibilität existiert ein inner- und außerhalb des TDM-Desktop frei positionierbarer Toolbar, der neben den Auswahllisten für die Cluster- und Maßbedingungsstrategie einen Button zur Ausführung der Clusteranalyse enthält. Diese wird dann auf Basis der ausgewählten Strategien durchgeführt.
Hierbei sind folgende Auswahlmöglichkeiten zur Maßfunktionen für die TopClu-Clusterstrategie möglich:
Eine Maßbedingung-Strategie auf Kardinalitäts-Basis, d.h. das die Maßbedingung für einen Knoten dann erfüllt ist, wenn in seiner Nachbarschaft mehr Knoten liegen, als in einem Schwellenwert-Parameter vereinbart wird. Eine Maßbedingung-Strategie, die sich an den Abweichungen in Eigenschaften der Knoten orientiert. Eine Abweichung in einer zu spezifizierenden numerischen Eigenschaft zwischen einem Query-Knoten und seiner Nachbarschaft wird berechnet. Liegt diese innerhalb eines prozentualen Grenzwertes so gilt die Maßbedingung für den Knoten als erfüllt. Eine Maßbedingung-Strategie, die sich an den Fluß-Eigenschaften der Knotenattribute orientiert. Sind bzgl. eines Query-Knotens die Werte einer zu spezifizierenden numerischen Eigenschaft in der Menge seiner Vorgänger größer und in der Menge seiner Nachfolger kleiner, so gilt die Maßbedingung für den Knoten als erfüllt. Eine generelle Maßbedingung-Strategie, zum dichte-basierten Topologischen Data Mining, zur Ermittlung "lose zusammenhängender" Bereiche von potentiell "schlechten" Kanten in einem Netz. Hier wird die positive Perspektive zum Clustern verwendet, d.h. daß für einen Query-Knoten die Maßbedingung erfüllt ist, wenn in der k-Nachbarschaft höchstens card "schlechte" Kanten liegen. Dieselbe Maßbedingung-Strategie wie oben beschrieben. Hier wird die negative Perspektive zum Clustern verwendet, d.h. daß für einen Query-Knoten die Maßbedingung erfüllt ist, wenn in der k-Nachbarschaft mindestens card "schlechte" Kanten liegen. Dies ist eine praxisbezogene Maßbedingung-Strategie, zum dichte-basierten Topologischen Data Mining, zur Ermittlung "lose zusammenhängender" Bereiche in einem Netz, die erneuerungsbedürftig sind. Implementiert wird die Bedingung zur Erneuerungsplanung, wie sie in der Fallstudie beschrieben wird. Dazu werden die Eigenschaften Material und Verbindungsart als Attribute an den Netzkanten erwartet.
Eine Cluster-Strategie, die auf der Flußverfolgung der topologischen Netzstruktur (gerichteter Graph) basiert. Startknoten sind solche, welche die anzugebende Maßbedingung erfüllen. Mit dieser Strategie sind "globale" Netzflüsse in Bezug auf die topologische Netzstruktur zu bestimmen, da die betreffenden Netzbereiche in Cluster aufgeteilt werden. Eine Cluster-Strategie, die auf der Flußverfolgung eines Netzattributs basiert. Ein anzugebender Parameter, z.B. der Druckverlust in einem Gasnetz, wird als flußbestimmende Netzeigenschaft definiert. Die benachbarten Knoten eines Netzknoten mit einer geringeren Ausprägung dieses Parameters werden somit zu Nachfolgern dieses Netzknoten. Dies, obwohl Sie evtl. topologisch im Graphen keine Nachfolger sind. Startknoten sind solche, welche die anzugebende Maßbedingung erfüllen. Auch mit dieser Strategie sind "globale" Netzflüsse in Bezug auf die topologische Netzstruktur zu bestimmen, da die betreffenden Netzbereiche in Cluster aufgeteilt werden. Zur Ausführung der Clusteranalyse ist der Button im Toolbar oder gleichwertig im Analysemenü auszuwählen. Auf Basis der ausgewählten Strategien wird dann ein Dialog für die notwendigen Parametereinstellungen angezeigt. Die dort eingestellten Werte werden für die konkrete Clusteranalyse verwendet. Ein Beipieldialogfenster ist in Abbildung 5-10 abgebildet.
Der aktuelle Status der Clusteranalyse, Informationen über die eingestellten Parameter, sowie die Knoten- und Kantenanzahl wird in einem Log-Fenster protokolliert. Da die Ermittlung der Cluster innerhalb eines nebenläufigen Threads ausgeführt wird, können parallel dazu andere Funktionalitäten des Prototypen verwendet werden. Nach Beendigung der Clusteranalyse werden im Log-Fenster die Gesamtdauer der Analyse und die Auflistung der Komponentenanzahl der ermittelten Cluster abschließend protokolliert. Zum Zweck der Übersicht und Orientierung über die Graphstruktur ist mit dem Menüpunkt <Max/Min degrees> die Feststellung einiger Struktureigenschaften des Graphen möglich. Hier werden die maximalen und minimale Ein- und Ausgangsgrade der Graphknoten bestimmt. Zusätzlich wird die maximale und minimale Anzahl von Knotennachbarn im Graphen angegeben.Die Ausgabefunktion unterstützen hauptsächlich die Vorabkontrolle der Clusterzerlegung mittels eines Previewers für Graphen und die Weitergabe der Ergebnisse von Cluster-Analysen an andere Applikationen. Beispielsweise an geographische Informationssysteme (GIS), um die ermittelten Cluster im Leitungsnetz z.B. mit Hilfe von farbcodierten Darstellungen zu präsentieren und analysieren. Mit diesen Hilfsmitteln sind auch weitere Geo-Datenbestände zur Präsentation und zu topologisch, geographischen Analysen verwendbar, da die geclusterten Geo-Objekte, wie Netzknoten und -kanten, die Clusterinformation in Attributen enthalten können. Diese Zuordnungsinformationen können mit der nachfolgend beschriebenen Funktionalität erzeugt werden. Files für Clusterinformationen für Knoten und Kanten Die ermittelten Cluster-Kodierungen der Knoten und Kanten können, nach evtl. visueller Vorabkontrolle mit den Menüpunkten <Save vertex-clustering> und <Save edge-clustering>, in flache ASCII-Files ausgegeben werden. Diese lassen sich mittels eines GIS weiter verarbeiten. Hierzu können an die Knoten - und Kantenobjekte innerhalb des Geo-Datenbestands die Clusterinformationen gebunden werden. Durch Auswahl des entsprechenden Menüpunktes wird ein Dateidialog geöffnet, indem der Name und Pfad der Ausgabedatei bestimmt werden kann. Erzeugt werden einfach aufgebaute ASCII-Dateien, welche für jedes Graphelement den wert seines Schlüsselattributs du die Cluster-Zuordnung enthält. Dies ist eine Integer-Zahl beginnend bei Null und aufsteigend bis zur Anzahl der ermittelten Cluster. Dabei bedeutet der Wert 0, daß das Objekt keinem Cluster zugeordnet wurde. Eine Besonderheit ist beim Kantenclustering zu beachten: Im Rahmen des für die Diplomarbeit entwickelten Prototyps ist nur ein Knotenclustering möglich. Daher muß bei konkreten Realisierungen innerhalb der Maßbedingung aus der k-stufigen Knotennachbarschaft die beteiligte Kantenmenge berechnet werden, welche durch diese Knotenmenge im Graphen induziert wird. Dies hat zur Folge, daß nur die Knotenobjekte geclustert werden. Aus dieser Zuordnung ist auf zwei Arten ein Kanten-Clustering ableitbar. Für eine Kante bestimmt entweder der (Quell-)Startknoten oder der (Ziel-)Endknoten die Cluster-Zuornung. Mit dieser vorgehensweise läßt sich eine Cluster-Zuordnung für die Kantenmenge des Graphen aus dem Knotenclustering ermitteln. Zur Auswahl des entsprechenden Quell- oder Zielknoten Bezugs, unterteilt sich der Menüpunkt <Save edge-clustering> in zwei Unterpunkte, wie dies aus Abbildung 5-12 zu ersehen ist.
Innerhalb des TDM-Prototyp ist ein Previewer für Graphen realisiert, der verschiedene Darstellungen von Cluster-Zerlegungen eines Netz ermöglicht. Dies dient der Vorabkontrolle und damit der besseren Überprüfung der Ergebnisse und ist nur ein einfaches Hilfsmittel zur Präsentation innerhalb des TDM-Prototyps. Die Qualität der Ergebnisse ist wesentlich besser zu beurteilen unter Zuhilfenahme von entsprechend qualifizierten Analysewerkzeugen wie geographischen Informationssystemen, deren Desktop-basierten Auskunftsystemen oder einfacher Geo-Browser/Viewer. Zur Darstellung von Knoten und Kanten sind Koordinaten notwendig, die als Attribute an den Knoten oder Kanten zur Verfügung stehen müssen. Als Bestandteil der Datenquellen-Spezifikation sind diese im Properties-Dialog des <DataSources> Menüs anzugeben (Abbildung 5-7). Diese Angaben spezifizieren die Koordinatenattribute unabhängig von der konkreten Datenquelle (Files oder Datenbank). Diese Attribute werden als Instanzen der Klasse UserProperty an den Knoten- und Kantenobjekten abgelegt und stehen damit dem Previewer zur Verfügung. Ohne diese Angaben/Attribute kann kein Darstellung des Graphen erfolgen. Die Koordinatendaten liegen i.d.R. in der Knotendatenquelle vor. Sollte jedoch nur eine Kantendatenquelle als Eingabe für die vier Koordinatenattribute dienen, so sind diese jeweils für beide Bezugsknoten anzugeben. Zudem muß im Fall der Dateneingabe über Files der Datentyp der Koordinatenattribute in dem Property kType angegeben werden. Der Previewer ermöglicht die Darstellung der Clusterergebnisse, indem die Knoten und/oder Kanten entsprechend der ermittelten Clusterzuordnung zufällig farbcodiert dargestellt werden. Die Ausführungen zum Thema Kantenclustering unter 5.3.1 gelten analog für die Visualisierung von Kanten zu einer Clusterzerlegung.
Die Clustern zugeordneten Graphelemente werden farbcodiert dargestellt. Alle anderen Objekte des Graphen werden schwarz gezeichnet, so daß klar die unklassifizierte Objektmenge erkennbar ist. In der Titelleiste des Previewer-Fensters werden zur Dokumentation die wichtigsten Daten zum dargestellten Ergebnis angegeben. Dies sind die verwendete Maßbedingung und einige wichtige Angaben zu deren Parametern. Es sind folgende Darstellungen durch Auswahl der entsprechenden Menüpunkte (Abbildung 5-14) möglich:
Mit dem Menüpunkt <Create Arc/Info generate-File for edges> kann ein Ausgabefile für die (Geo-)Kantenobjekte für das GIS Arc/Info der Fa. ESRI erstellt werden. Es werden die für die Kanten als Geo-Objekte relevanten Daten im "Generate-Format" in ein per File-Dialog auszuwählendes ASCII-File geschrieben. Diese kann dann über die Generate-Schnittstelle von Arc/Info in den systemeigenen Geo-Datenbestand (Coverage) konvertiert werden. Zum realisierten Prototypen besteht eine vollständig HTML-gestützte Online-Dokumentation, die über das Hilfe-Menü abgerufen werden kann. Dazu wird ein frei konfigurierbarer Browser verwendet. Über die Startseite (Abbildung 5-15) ist der Zugriff auf dieses Benutzerhandbuch, die vollständige API-Dokumentation des Prototyps und ausgewählter Kapitel dieser Diplomarbeit möglich. Im Hilfe-Menü rundet ein Menüpunkt für den Aufruf einer Info-Box zu diesem Prototyp die Dokumentation ab.
In weiteren Menüs sind allgemeine Einstellungen zur Parametrisierung und zu Look&Feel-Optionen möglich. Im <System>-Menü sind generelle Parametereinstellungen und deren Persistenzverwaltung möglich. Zudem besteht der obligatorische Menüpunkt zum Beenden der Applikation. Mit dem ersten Menüpunkt werden die Parametereinstellungen auf den Stand zurückgestellt, die beim Start des Prototypsystems bestehen. Mit den Menüpunkten zwei und drei können aktuelle Einstellungen gespeichert und später wiederhergestellt werden. Dazu wird per File-Dialog eine entsprechende Datei durch den Benutzer bestimmt/ausgewählt. Mit dem Menüpunkt <Set documentation properties> können
der Pfad der Online Dokumentation und der zu verwendende Browser spezifiziert
werden. Abschließend existiert mit dem Menüpunkt <Set
all properties> die Möglichkeit ein Dialogfenster für die
vollständige Parameterumgebung zu erhalten. Dies umfaßt alle
themenbezogenen Parameter-Teildialoge.
Für die GUI-Entwicklung wurden die Möglichkeiten der Java-Foundation-Classes (JFC) verwendet. Dies sind die innerhalb Java standarisiert zur Verfügung stehenden UI-Komponenten. Damit ergibt sich prinzipiell die Möglichkeit das Look&Feel (z.B. Windows, Motif, Java/Sun, Mac) einen Abwendung zur Laufzeit zu wechseln. Auch kann mit den JFC-Möglichkeiten ein eigenes Look&Feel realisiert werden. Für den Prototypen sind entsprechende Möglichkeiten zum Wechsel des Look&Feel realisiert, zu den im Java-Umfang bereits vorgegebenen LnF-Klassen.
. |
|
||||||||||||||||||||||||||||||||
![]() | |||||||||||||||||||||||||||||||||
|
Zurück zur Themenseite: ScientificPublication.com/Startseite/Informatik Das Setzen von Verweisen (Links) auf diese Seite ist gestattet und bedarf keine vorherige Absprache. | |||||||||||||||||||||||||||||||||
| Startseite | english | Bookmark setzen | Webseite weiterempfehlen | Copyright © | Impressum | |||||||||||||||||||||||||||||||||