07.12.2012 Aufrufe

Visual Analytics for Trajectory Clustering - Universität Stuttgart

Visual Analytics for Trajectory Clustering - Universität Stuttgart

Visual Analytics for Trajectory Clustering - Universität Stuttgart

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Visual</strong> <strong>Analytics</strong> <strong>for</strong> <strong>Trajectory</strong> <strong>Clustering</strong><br />

Hermann Pflüger<br />

Seminar "<strong>Visual</strong> <strong>Analytics</strong>". <strong>Universität</strong> <strong>Stuttgart</strong>, 2010<br />

Abstract. Die Analyse großer Datenmengen er<strong>for</strong>dert den Einsatz von<br />

Computern und geeignete Algorithmen. Dabei ist es wünschenswert, das<br />

Wissen und die Intuition des Analysten mit einzubeziehen. Die<br />

vorliegende Arbeit ist Teil einer Reihe von Seminarbeiträgen, die sich mit<br />

diesem Thema befassen, hier eingeschränkt auf die Analyse von<br />

Trajektorien. Exemplarisch wird anhand zweier Beispiele gezeigt, wie<br />

diese Interaktion mit grafischen Hilfsmittel geschehen kann. Basis der<br />

Arbeit sind die Artikel [1] und [2].<br />

1 Einführung<br />

Die Analyse großer Datenmengen wird häufig mit <strong>Clustering</strong> Methoden<br />

durchgeführt. Dabei werden im Merkmalsraum nahe beiananderliegenede Objekte zu<br />

Klassen zusammengefasst. Ein geeigneter Vertreter einer Klasse kann dann als ein<br />

typisches Objekt der Datenmenge betrachtet werden.<br />

Ein Problem bei der Verwendung von <strong>Clustering</strong> Methoden ist, geeignete<br />

Merkmale zu bestimmen, und damit dann ein Ähnlichkeitsmaß für die Objekte zu<br />

definieren. Denn was Objekte ähnlich oder verschieden macht, hängt sehr stark von<br />

der Art der Objekte, der Anwendung und der Sichtweise des Analysten ab.<br />

Bei visuell wahrnehmbaren Objekten unterscheidet die menschliche Wahrnehmung<br />

sehr differenziert und genau, aber im wesentlichen intuitiv [5]. Daher gelingt es dem<br />

Analysten in der Regel nicht, Merkmale und Abstansmaß <strong>for</strong>mal so zu definieren,<br />

dass sie dann mit <strong>Clustering</strong> Methoden ausreichend gute Ergebnisse liefern.<br />

Auf der anderen Seite ist bei großen Datensätze die Analyse, nur durch die<br />

Betrachtung des Analysten, nicht machbar.<br />

Ziel der visuellen Analyse ist es daher, in einem interaktiven Prozess, <strong>Clustering</strong><br />

Methoden mit der Fähigkeit der Menschen, grafischen Objekte schnell und intuitiv zu<br />

erfassen und zu klassifizieren, zu koppeln. Ein einfaches Schema dafür zeigt<br />

folgendes Diagramm:


Insbesondere die <strong>Visual</strong>isierung der Objekte und Cluster er<strong>for</strong>dert eine<br />

objektabhängige Vorgehensweise. In dieser Arbeit wird die Analyse von Trajektorien<br />

behandelt, aber auch die Einschränkung auf Trajektorien führt nicht zu einem<br />

einheitlichen Verfahren. Anhand von zwei Beispielen werden deshalb<br />

unterschiedliche Vorgehensweisen exemplarisch behandelt.<br />

2 Trajektorien<br />

Eine Trajektorie ist hier der Bewegungspfad eines Objektes in einem euklidischen<br />

Raum. Sie kann als eine Abbildung: [0, 1] → R n definiert werden. Der Raum in dem<br />

sich das Objekt bewegt, kann ein geographischer oder ein abstrakter Raum sein.<br />

In Bsp. 1 bestanden die zu analysierenden Objekte aus einem Datensatz von 5500<br />

Trajektorien. Jede Trajektorie beschreibt den Gewinn/Risiko Faktor einer<br />

Finanzanlage an 5 Wochentagen:


Ziel der Analyse in Bsp. 1 war, typische Verläufe zu finden und diese im<br />

Zusammenhang darzustellen.<br />

Bsp. 2 war ein Datensatz von 17000 Fahrtrouten in und in der Nähe von Milano. Die<br />

Fahrtrouten stellen den Strassenverkehr in Milano an den 5 Wochentage einer<br />

gewöhnlichen Woche dar:<br />

Ziel dieser Analyse war, typische stark befahrene Fahrtrouten im Berufsverkehr zu<br />

ermitteln, und daraus entsprechende Repräsentanten/Klassifaktoren zu generieren.<br />

Mit diesen Repräsentanten können Verkehrsplaner Strassennetze optimieren. Die<br />

Analyse sollte nur auf den Daten erfolgen, die für die Verkehsplanung bedeutsam<br />

sind. Umgehungsverkehr und Rauschen sollte rausgefiltert werden.


3 Abstandsfunktion<br />

Um Objekte miteinader vergleichen zu können bestimmt man objekttypische<br />

Merkmale. Diese Merkmale spannen dann einen Merkmalsraum auf. <strong>Clustering</strong><br />

Methoden ermitteln dann Objekte im Merkmalsraum, die nahe beiananderliegen, und<br />

fassen diese zu Cluster zusammen. Um die Ähnlichkeit zweier Objekte quantitativ zu<br />

bestimmen, muss ein Abstandsmass definiert werden.<br />

Im ersten Beispiel ist der Gewinn/Risiko Faktor von Finanzanlagen an allen<br />

Wochentage einer Woche gegeben. Die x/y Koordinaten der 5 Stützstellen im<br />

Gewinn/Risiko Raum können als objekttypische Merkmale der Trajektorien<br />

verwendet werden. Der euklidische Abstand im Merkmalsraum kann dann als<br />

Abstandsmaß verwendet werden:<br />

Merkmale: x1, y1, x2, ..., y5<br />

→ 10 dim. Merkmalsraum<br />

→ 2 Kurven ähnlich, wenn<br />

eukl. Abstand klein<br />

Dass ein durch die Stützstellen der Trajektorien definierter Merkmalsraum,<br />

zusammen mit dem euklidische Abstandmaß, nicht immer ein geeigneter Weg zur<br />

Beschreibung von Ähnlichkeit ist, zeigen folgende Beispiele:<br />

Zudem können Trajektorien nicht immer sinnvoll auf eine einheitliche Länge und auf<br />

gemeinsame Stüzstellen normiert werden. Auch können weitere Merkmale für den<br />

Vergleich zweier Trajektorien eine Bedeutung haben. So könnte bei Beispiel 2 der<br />

Fahrtgrund (z.B. Freizeit, Weg zur Arbeitstelle, berufliche Fahrt) der meistens mit<br />

erhoben wird, eine Rolle bei der Analyse spielen. Die explizite Angabe eines


Merkmalsraumes mit geeigneter Skalierung der einzelnen Dimensionen ist also<br />

schwierig.<br />

Einfacher ist dann, eine Funtion zu programmieren, die mit einer geeigneten<br />

Heuristik einen Abstandswert berechnet. Die <strong>Clustering</strong> Methoden in Beispiel 2<br />

arbeiten mit so einer Abstandfunktion.<br />

4 Verfahren I<br />

Trajektorien: Mit diesem Verfahren wurden die Gewinn/Risiko Faktoren von<br />

Finanzanlagen (wie oben beschrieben) analysiert. Diese Trajektorien sind bereits<br />

normiert. Sie haben gleiche Länge und 5 äquidistante Stützstellen. Als<br />

unterscheidende Merkmale werden die x/y Koordinaten der 5 Stützstellen gewählt.<br />

Daraus folgt dann ein 10-dim. Merkmalsraum. Der euklidische Abstand darin wird<br />

als Abstandmaß verwendet.<br />

<strong>Clustering</strong> Methode: Als <strong>Clustering</strong> Methode wird <strong>Clustering</strong> mir einem Kohonen<br />

Netz verwendet. Trainiert wird das Netz mit dem kompletten Datensatz. Das<br />

Verfahren ermittelt beim Trainingsvorgang nicht nur die im Merkmalsraum<br />

vorhandene Cluster und Repräsentanten, sondern ordnet die Repräsentanten der<br />

Cluster so den Knotenpunkten eines 2-dim Netzes zu, dass die Repräsentanten, die im<br />

Kohonennetz nahe beieinander liegen auch benachbarte Clustergebiete im<br />

Merkmalsraum beschreiben.<br />

<strong>Clustering</strong> mit Kohonen Netzen ist ein Standardverfahren und wird z.B. in [3],<br />

oder auch in Wikipedia beschrieben.<br />

<strong>Visual</strong>isierung: Jeder Knoten des Kohonen Netzes wird als kleines Quadrat mit dem<br />

Kurvenverlauf des entsprechenden Cluster Repräsentanten dargestellt. Startpunkte<br />

sind grün markiert, Endpunkte rot. Zusätzliche In<strong>for</strong>mationen können durch farbliche<br />

Hinterlegung der Quadrate angezeigt werden (siehe auch nachfolgende Beispiele).<br />

Initialisierung: Bereits bei der Initialisierung kann der Anwender sein Wissen und<br />

seine Intuition mit einbringen. Neben der Option, die initialen Repräsentanten mit<br />

zufällig gewählten Trajektorien der Trainingsmenge zu belegen, besteht die<br />

Möglichkeit, konkrete Repräsentanten vorzugeben. Dadurch wird nicht nur die<br />

Clusterbildung beeinflusst, sondern auch die Verteilung im Kohonen Netz. Folgende<br />

Abbildung zeigt die Initialisierung von ausgewählten Knotenpunkten.


Werden initiale Repräsentanten vom Anwender vorgegeben, werden die intialen<br />

Repräsentanten der nicht bearbeiteten Knotenpunkten durch Interpolation berechnet.<br />

Berechnung der Cluster Repräsentanten: Während der iterativen Berechnung der<br />

Cluster Repräsentanten wird immer der aktuelle Stand der Berechnung angezeigt. Der<br />

Anwender hat jederzeit die Möglichkeit, die Iteration zu unterbrechen und den<br />

weiteren Berechnungsverlauf zu beeinflussen.<br />

Zusätzliche In<strong>for</strong>mationen können optional durch farbliche Hinterlegung der<br />

Quadrate angezeigt werden:<br />

• Der mittlere Abstand aller Clusterelemente zum Cluster Repräsentanten<br />

• Der mittlere Abstand der Cluster Repräsentanten zu den Nachbar Repräsentanten<br />

• Der nächstliegende Nachbar Repräsentanten durch einfach Verbindungslinien<br />

Diese zusätzlichen In<strong>for</strong>mation kennzeichnen den Stand der Iteration, und den<br />

Zusammenhang der Cluster Repräsentanten.<br />

Folgende Abbildung zeigt die <strong>Visual</strong>isierung des initialen Zustands und des<br />

Zustands nach einer Anzahl von Iterationsschritten. Bei den unteren Darstellungen ist<br />

der mittlere Abstand aller Clusterelemente zum Cluster Repräsentanten durch Farbe<br />

visualisiert (dunkelviolett: großer Abstand, gelb: kleiner Abstand).


Während einer Unterbrechung der Iteration hat der Anwender folgende<br />

Einflussmöglichkeiten:<br />

• Jeder Repräsentant eines Knotens kann editiert oder überschrieben werden.<br />

• Die Repräsentanten können beliebig vertauscht werden.<br />

• Es können einige Knoten ausgewählt werden, und mit diesen eine neue<br />

Initialisierung durchgeführt werden.<br />

• Die Verfahrensparameter (siehe [3]) können sowohl für das ganze Netz, als auch<br />

für Teile davon verändert werden.<br />

• Bestimmte Repräsentanten können fixiert werden (im obigen Bild die rot<br />

gerahmten). Z.B. an den initialisierten Knoten.<br />

• Eine andere Möglichkeit, einen bestimmten Repräsentanten im Netz zu<br />

erzwingen, besteht darin, diesen immer wieder als Trainingsobjekt einzufügen.<br />

Dadurch wird er besser als im vorigen Fall ins Netz adaptiert.<br />

Postprocessing: Nach dem Trainingsprozess kann das Kohonen Netz nachbearbeitet<br />

werden:<br />

• Jeder Repräsentant eines Knotens kann editiert oder überschrieben werden.<br />

• Es können einige Knoten ausgewählt werden. Mit diesen können dann die<br />

restlichen Knoten interpoliert werden.<br />

• Die Repräsentanten der einzelnen Knoten können vertauscht werden, damit kann<br />

das Layout des Netzes beliebig verändert werden.<br />

• Teile des Netzes können durch weitere Lernprozesse verfeinert werden.<br />

5 Verfahren II<br />

Trajektorien: Mit diesem Verfahren wurden 17000 Fahrtrouten in Milano und<br />

Umgebung (wie oben beschrieben) analysiert. Beim Vergleich der Fahrtrouten sind<br />

z.B. die Streckenlänge oder gemeinsam benutzte Strassen von Bedeutung, so dass<br />

sich diese Trajektorien nicht wie im 1. Beispiel normieren lassen. Die hier<br />

verwendeten Cluster Methoden arbeiten daher mit einer Abstandsfunktion, die der<br />

Anwender zu Verfügung stellen muss. Der Merkmalsraum ist nur implizit durch die<br />

Abstandsfunktion gegeben.<br />

<strong>Clustering</strong> Methode: Als <strong>Clustering</strong> Methode werden zwei dichtebasierte <strong>Clustering</strong><br />

Methoden verwendet.<br />

Das erste Verfahren ermittelt Cluster in denen jedes Element in einem dichten<br />

Bereich des Merkmalsraumes liegt. Das Verfahren ist in [4] detailiert beschrieben.<br />

Der Vorteil des Verfahrens ist, dass keine Initialisierung benötigt wird, und das<br />

Rauschen, z.B. ungewöhnliche Fahrtrouten, automatisch durch das Verfahren erkannt<br />

und entfernt wird. Nachteilig ist, dass Objekte des Clusters zwar in einem dichten,<br />

zusammenhängenden Bereich des Merkmalsraumes liegen, jedoch untereinander<br />

große Abstände haben können, d.h sich unähnlich sein können. Außerdem können für<br />

diese Cluster keine sinnvolle Repräsentanten berechnet werden.<br />

Daher wird ein zweites Verfahren verwendet, dass die Cluster des ersten<br />

Verfahrens weiter unterteilt. Es arbeitet auch dichtebasiert, verhindert jedoch, dass


die Cluster zu groß werden. Das Verfahren hat eine hohe Zeitkomplexität und wird<br />

daher einzeln auf die bisherigen Cluster angewandt. Es werden also Subcluster<br />

berechnet. Außerdem werden Klassifikatioren für diese Subcluster berechnet. Ein<br />

Klassifikator besteht dabei aus einem Repräsentanten und einem max. Abstandswert:<br />

• Repräsentant: Eine Mittelswertbildung ist nicht möglich, weil der Merkmalsraum<br />

nicht explizit gegeben ist. Deswegen wird die Trajektorie, deren mittlerer Abstand zu<br />

den anderen Trajektorien im Subcluster am geringsten ist, als Repräsentant gewählt.<br />

• Max. Abstandswert: Da die Subcluster verschiedene 'Durchmesser' im<br />

Merkmalsraum haben, muss zur korrketen Klassifikation der maximale Abstand, den<br />

ein Objket zum Repräsentanten haben darf, angegeben werden.<br />

Das Verfahren wird in [2] ausführlich beschrieben.<br />

<strong>Visual</strong>isierung: Die <strong>Visual</strong>isierung ist stark anwendungsbezogen. Die Fahrtrouten<br />

eines Clusters oder Subclusters werden auf einer Strassenkarte, die im Hintergrung<br />

abgebildet ist, übereinandergezeichnet. Einzelne Fahrtrouten können dabei farblich<br />

markiert werden (siehe auch nachfolgende Beispiele).<br />

Berechnung der Klassifikatoren: Die Berechnung erfolgt in drei Schritten:<br />

1.Schritt: Der Anwender erstellt eine geeignete Abstandsfunktion, betimmt eine<br />

verteilungsrepräsentative Trainingsmenge (z.B. Berufsverkehr an einem Wochentag)<br />

und legt die Verfahrensparameter der ersten <strong>Clustering</strong> Methode fest. Das Verfahren<br />

läuft dann ohne Beeinflussung des Anwenders.<br />

Im Anschluss können die Cluster interaktiv bearbeitet werden. Cluster können<br />

dabei geteilt, zusammengefasst, oder ganz entfernt werden. Es kann auch ein erneute<br />

Berechnung mit geänderten Verfahrensparameter oder geänderter Abstandsfunktion<br />

sinnvoll sein. Im folgenden Beispiel wurden die ersten beiden Cluster entfernt, da sie<br />

nur Fahrtrouten ausserhalb Milanos beinhalten, die für die Verkehrsplanung hier<br />

keine Rolle spielten.<br />

2. Schritt: Im zweiten Bearbeitungsschritt werden die Cluster aus Schritt 1 einzeln in<br />

Subcluster unterteilt, und für jedes Subcluster wird ein Klassifikator berechnet.<br />

Nachdem der Anwender die Verfahrensparameter festgelegt hat, läuft das Verfahren<br />

automatisch.<br />

Nach der Berechnung hat der Anwender umfangreiche Möglichkeiten die Subcluster<br />

interaktiv zu bearbeiten:


• Ein Subcluster kann in zwei Subcluster aufgeteilt werden.<br />

• Mehrere Subcluster können zu einem Subcluster zusammengefasst werden.<br />

• Die Objekte eines Subclusters können auf andere Subcluster aufgeteilt werden.<br />

• Ein Subcluster kann entfernt werden, d.h. seine Objekte werden als Rauschen<br />

interpretiert.<br />

• Aus einem oder mehreren Subcluster kann ein neues Cluster generiert werden,<br />

dass dann wieder mit obigen Verfahren verfeinert werden kann.<br />

Wird ein Subcluster geändert, wird automatisch ein neuer Repräsentant zusammen<br />

mit einem entsprechnden max. Abstandswert berechnet.<br />

Das folgende Beispiel wurde das Subcluster in zwei Subcluster unterteilt:<br />

Im nächsten Beispiel wurde eine Trajektorie entfernt:<br />

3.Schritt:<br />

Zunächst sollten die nun gwonnenen Klassifikatoren auf andere Trainingsmengen<br />

angewandet werden, um sicher zu stellen, dass die ursprüngliche Trainingsmenge<br />

verteilungsrepräsentativ war. Hier wurden dazu die Fahrtrouten mehrerer<br />

Wochentage miteinander verglichen. Zum Abschluss werden die Klassifikatoren auf<br />

den gesamten Datensatz angewandt.<br />

Die Subcluster können jederzeit mit den Methoden aus Schritt 2 optimiert werden.<br />

Folgendes Bild zeigt einige Ergebnisse des im Beispiel bearbeiteten Datensatzes.


6 Vergleich der Verfahren<br />

Beispiel I<br />

Die übersichtliche <strong>Visual</strong>isierung der Cluster ergibt sich schon aus dem verwendeten<br />

<strong>Clustering</strong> Verfahren. Durch die Initialisierung, und durch die interaktive<br />

Beeinflussung des Verfahrens schon während der iterativen Berechnung, kann die<br />

Darstellung noch optimieret und den Bedürfnissen der Anwendung angepasst werden.<br />

Durch die übersichtliche Darstellung der Cluster, durch die Darstellung der<br />

Clustereigenschaften und durch In<strong>for</strong>mationen wie benachbarte Cluster<br />

zusammenhängen, bekommt man eine gute Vorstellung von der Struktur der Cluster<br />

und damit auch von der Struktur der Datenmenge.<br />

Diese Eigenschaften macht das Verfahren für die Exploration von großen<br />

Datenmengen geeignet.<br />

Für komplexe Objekte ist das Verfahren nicht so gut geeignet, da dann eine geeignete<br />

Normierung schwierig wird. Auch sind dann für die Darstellung der Trajektorien<br />

zusätzliche In<strong>for</strong>mationen, wie z.B. die Strassenkarte in Bsp. 2, sinnvoll, was hier<br />

aber nicht vorgesehen ist.<br />

Beispiel II


Das Verfahren erkennt Rauschen. Es bietet zudem gute Möglichkeiten die<br />

Trennschärfe der Klassifikatoren interaktiv durch Anwenderwissen und<br />

Anwenderintuition zu verbessern.<br />

Das Verfahren eignet sich daher gut für die Klassifikation großer Datenmengen<br />

Da die Trajektorien Fahrtrouten im realen Strassenverkehr sind, ist für die<br />

<strong>Visual</strong>isierung die Darstellung einer Strassenkarte als Zusatzin<strong>for</strong>mation notwendig.<br />

Damit ist natürlich der Einsatzbereich stark eingeschränkt.<br />

7 Literatur<br />

[1] T. Schreck, J.Bernard, T. Tekusova, J.Kohlhammer. <strong>Visual</strong> Cluster Analysis of<br />

<strong>Trajectory</strong> Data With Interactive Kohonen Maps. Frauenhofer Institut <strong>for</strong><br />

Computer Graphics, Darmstadt.<br />

[2] G.Andrienko, N. Andrienko, S. Rinzvillo, M. Nanni, D. Pedreschi, F. Giannotti.<br />

Interaktive <strong>Visual</strong> <strong>Clustering</strong> of Large Collections of Trajectories. Frauenhofer<br />

Institute, Sankt Augustin.<br />

[3] T. Kohonen. Self-Organizing Maps. Springer, Berlin.<br />

[4] M. Ankerst, M. M. Breunig, H. Kriegel, J. Sander. Optics:Ordering points to<br />

identify the clustering structure. ACM SIGMOD<br />

[5] Irvin Rock. Wahrnehmung. Spektrum, Heidelberg.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!