Visual Analytics for Trajectory Clustering - Universität Stuttgart
Visual Analytics for Trajectory Clustering - Universität Stuttgart
Visual Analytics for Trajectory Clustering - Universität Stuttgart
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.