12.07.2015 Aufrufe

Temporale Aspekte des Data Mining - diko-project.de

Temporale Aspekte des Data Mining - diko-project.de

Temporale Aspekte des Data Mining - diko-project.de

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>Temporale</strong> <strong>Aspekte</strong> <strong><strong>de</strong>s</strong> <strong>Data</strong> <strong>Mining</strong>Oliver WienWil<strong>de</strong>nslohsdamm 12,26188 E<strong>de</strong>wecht,EMail: oliver@wien.<strong>de</strong>Matrikel-Nr: 7238950StudiengangWirtschaftswissenschaftenmit Schwerpunkt Informatik8. März 2003ZusammenfassungDie vorliegen<strong>de</strong> Arbeit beschäftigt sich mit <strong>de</strong>n temporalen <strong>Aspekte</strong>n <strong><strong>de</strong>s</strong><strong>Data</strong> <strong>Mining</strong>. Es wer<strong>de</strong>n wichtige Grundlagen zum Zeitbegriff und seiner Verwendunggemacht sowie die Granularität von Zeitpunkt und Zeitraum bestimmt.Die Repräsentationsformen ”<strong>Temporale</strong> Datenbank“ und ”Zeitreihen“ sowieihre Eigenschaften wer<strong>de</strong>n vorgestellt. Deutlich gemacht wird dabei <strong>de</strong>r Nutzenvon Transaktions- und Gültigkeitszeit in Form <strong><strong>de</strong>s</strong> bitemporalen Mo<strong>de</strong>lls.Das <strong>Data</strong> <strong>Mining</strong> über einzelne Transaktionen hinaus birgt weitere Vorteile inso genannten Inter-Transaktionsmustern.Diese Muster <strong>de</strong>cken Zusammenhänge auf, die ohne temporale Komponentennicht realisiert wer<strong>de</strong>n wür<strong>de</strong>n. Zu <strong>de</strong>n bekanntesten gehören dabei sequentielleMuster und zeitliche Assoziationsregeln.Die Analyse <strong>de</strong>r zeitlichen Assoziationsregeln sowie zwei Algorithmen zur Ent<strong>de</strong>ckungvon sequentiellen Mustern wer<strong>de</strong>n zum Abschluss dieser Ausarbeitungausführlich und mit Beispielen dargestellt.Inhaltsverzeichnis1 Einleitung 22 Grundlagen und Begriffe 32.1 <strong>Data</strong> <strong>Mining</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Der Zeitbegriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Granularität - Zeitpunkt - Zeitraum . . . . . . . . . . . . . . . . . . 43 Repräsentationsformen 53.1 <strong>Temporale</strong> Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . 53.1.1 Zeittypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.1.2 Zeitstempelung . . . . . . . . . . . . . . . . . . . . . . . . . . 73.1.3 Bitemporales Mo<strong>de</strong>ll . . . . . . . . . . . . . . . . . . . . . . . 83.2 Zeitreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2.1 Subsequenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2.2 Beispiele für Zeitreihen . . . . . . . . . . . . . . . . . . . . . 103.3 Äquivalenz von Zeitreihen und temporalen Datenbanken . . . . . . . 101


4 <strong>Temporale</strong> Muster 104.1 Sequentielle Muster . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.1.1 Häufigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.2 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.2 Zeitliche Assoziationsregeln . . . . . . . . . . . . . . . . . . . . . . . 124.2.1 Länge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2.2 Unterstützung . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2.3 Stabilität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2.4 Dichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2.5 Praktische Beispiele . . . . . . . . . . . . . . . . . . . . . . . 144.3 Kalendarische Muster . . . . . . . . . . . . . . . . . . . . . . . . . . 144.4 Intervall-basieren<strong>de</strong> Ereignisse . . . . . . . . . . . . . . . . . . . . . . 154.5 Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.6 Unusual Movements . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.6.1 Isolated Outliners . . . . . . . . . . . . . . . . . . . . . . . . 184.6.2 Level Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 <strong>Temporale</strong> Datenanalyse 195.1 Klassifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.1.1 Verschmelzung . . . . . . . . . . . . . . . . . . . . . . . . . . 195.1.2 Weitere Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . 195.2 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.3 Analyse sequentieller Muster . . . . . . . . . . . . . . . . . . . . . . 205.3.1 GSP-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . 205.3.2 SPADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.4 Analyse zeitlicher Assoziationsregeln . . . . . . . . . . . . . . . . . . 246 Ausblick 257 Schlussbetrachtung 261 EinleitungMotivationIn <strong>de</strong>r Praxis ist es oftmals erfor<strong>de</strong>rlich, dass zu einem bestimmten Objekt nichtnur eine Menge an Informationen verfügbar, son<strong>de</strong>rn auch ein zeitlicher Zusammenhangvon großer Be<strong>de</strong>utung ist. Dazu gehört beispielsweise die Än<strong>de</strong>rungen <strong>de</strong>r zueinem Objekt bereitgehaltenen Informationen. Aber auch die Gültigkeit eines Objektesbzw. spezieller Objektdaten ist oftmals von Interesse. Letztendlich bringt dieErweiterung um temporale <strong>Aspekte</strong> auch die Option, Operationen auf <strong>de</strong>n Datennachzuvollziehen und ggf. beliebig weit rückgängig zu machen.<strong>Data</strong> <strong>Mining</strong> ist ein Verfahren, das es ermöglicht wie<strong>de</strong>rkehren<strong>de</strong> Muster, aber auchUnregelmäßigkeiten, wie z.B. Ausreißer in großen und sehr großen Datenbestän<strong>de</strong>naufzufin<strong>de</strong>n.Das Verwen<strong>de</strong>n temporaler <strong>Aspekte</strong> be<strong>de</strong>utet eine Erweiterung <strong><strong>de</strong>s</strong> ”Knowledge Discovery“.Als Knowledge Discovery wird <strong>de</strong>r Prozess verstan<strong>de</strong>n mit <strong>de</strong>m Muster inDatenbanken gefun<strong>de</strong>n wer<strong>de</strong>n, <strong>Data</strong> <strong>Mining</strong> stellt einen Schritt in diesem Prozessdar [FPSS96]. In <strong>de</strong>r Erweiterung <strong><strong>de</strong>s</strong> <strong>Data</strong> <strong>Mining</strong> begrün<strong>de</strong>t sich auch die Motivationzu dieser Ausarbeitung: Es soll <strong>de</strong>utlich gemacht wer<strong>de</strong>n, welche Möglichkeiten,aber auch welche Grenzen die temporale Dimensionen in diesem Umfeld bieten.VorgehensweiseIm Anschluss an diese Einleitung fin<strong>de</strong>n sich im zweiten Kapitel die Grundlagen <strong><strong>de</strong>s</strong>2


Themas. Zu <strong>de</strong>n Grundlagen gehören eine knappe Einführung in das <strong>Data</strong> <strong>Mining</strong>,die Definition <strong><strong>de</strong>s</strong> Zeitbegriffs und die Erläuterung <strong>de</strong>r notwendigen Voraussetzungen,um die Arbeit mit temporalen Daten zu ermöglichen.Zwei möglichen Repräsentationsformen ist das dritte Kapitel gewidmet. Hier wer<strong>de</strong>nzwei Wege vorgestellt, die zeigen wie mit temporalen Daten gearbeitet wer<strong>de</strong>n kann.Dazu gehören einerseits temporale Datenbanken, insbeson<strong>de</strong>re die Erweiterung <strong>de</strong>rbekannten relationalen Systeme und zum an<strong>de</strong>ren geht es um Zeitreihen.Das vierte Kapitel ”<strong>Temporale</strong> Muster“ stellt <strong>de</strong>n Kern <strong><strong>de</strong>s</strong> <strong>Data</strong> <strong>Mining</strong> dar, schließlichist das Ent<strong>de</strong>cken von Mustern (engl. Pattern) <strong><strong>de</strong>s</strong>sen Hauptziel. Innerhalb diesesKapitels wer<strong>de</strong>n ausgewählte temporale Muster vorgestellt, die beispielsweise zurPersonalisierung verwen<strong>de</strong>t wer<strong>de</strong>n können. Es gilt dabei häufige und wie<strong>de</strong>rkehren<strong>de</strong>Vorgänge festzustellen und allgemein gültig zu beschreiben. Zu <strong>de</strong>n bekanntestenMustern gehören die ”temporalen Assoziationsregeln“.Die Analyse <strong>de</strong>r temporalen Daten steht im Mittelpunkt <strong><strong>de</strong>s</strong> fünften Kapitels. In<strong>de</strong>r Datenanalyse wer<strong>de</strong>n die zuvor beschriebenen Muster ausfindig gemacht. ZurErläuterung <strong>de</strong>r Analysetechniken wer<strong>de</strong>n verschie<strong>de</strong>ne Algorithmen vorgestellt, diespeziell für die Bearbeitung von temporalen Daten konzipiert o<strong>de</strong>r daran angepasstwur<strong>de</strong>n. Dazu gehören Clustering- und Klassifikationsverfahren sowie <strong>de</strong>r GSP- undSPADE-Algorithmus.Die letzten bei<strong>de</strong>n Kapitel dieser Arbeit zeigen eine Einordnung dieses Teilthemas indas Gesamtbild <strong><strong>de</strong>s</strong> Projekts ”DIKO - <strong>Data</strong> in Knowledge out“ und die Schlussbetrachtung.Das Projekt beschäftigt sich mit <strong>de</strong>r Personalisierung internetbasieren<strong>de</strong>rHan<strong>de</strong>lsszenarien. Den Schluss dieser Arbeit bil<strong>de</strong>n Glossar und Literaturverzeichnis.2 Grundlagen und BegriffeIn diesem Kapitel wer<strong>de</strong>n die wichtigen Begriffe und notwendigen Voraussetzungenerläutert. Dazu gehören <strong>de</strong>r Zeitbegriff und die verwandten Begriffe ”Zeitraum“und ”Zeitpunkt“ sowie die ”Granularität“. Darüberhinaus gibt es unterschiedlicheMo<strong>de</strong>lle die Zeit darzustellen und es wird klar, dass <strong>de</strong>r Zeitbegriff an sich sehrsubjektiv sein kann. Bevor allerdings die mit <strong>de</strong>n temporalen <strong>Aspekte</strong>n in Zusammenhangstehen<strong>de</strong>n Begriffe eingeführt wer<strong>de</strong>n, soll noch knapp das <strong>Data</strong> <strong>Mining</strong>erklärt wer<strong>de</strong>n.2.1 <strong>Data</strong> <strong>Mining</strong>Im Zeitalter <strong>de</strong>r Informationstechnik wächst die Zahl <strong>de</strong>r Daten, die in Unternehmensowie in Wissenschaft und Forschung gespeichert wer<strong>de</strong>n ins Unüberschaubare[HK01]. Die Bemühungen, trotz <strong>de</strong>r Menge <strong>de</strong>r Daten die notwendigen wichtigen Informationenaufzu<strong>de</strong>cken, wer<strong>de</strong>n unter <strong>de</strong>m Oberbegriff ”Knowledge Discovery in<strong>Data</strong>bases“ (KDD) zusammengefasst. KKD ist <strong>de</strong>r ”nicht-triviale“ Prozess, <strong><strong>de</strong>s</strong>senZiel es ist, ”gültige, neue, potentiell nützliche und letztendlich verständliche Musterin Daten“ zu fin<strong>de</strong>n [FPSS96]. Man spricht <strong><strong>de</strong>s</strong>halb vom KDD-Prozess. DieserProzess besteht aus neun Schritten:1. Datenverständnis und Zielbestimmung (Kun<strong>de</strong>nsicht)2. Auswahl <strong>de</strong>r Daten3. Aufbereitung <strong>de</strong>r Daten (Preprocessing)4. Reduzierung und Projektion <strong>de</strong>r Daten5. Wahl einer geeigneten <strong>Data</strong>-<strong>Mining</strong>-Metho<strong>de</strong>3


6. Wahl geeigneter <strong>Data</strong>-<strong>Mining</strong>-Algorithmen7. <strong>Data</strong>-<strong>Mining</strong>8. Interpretation <strong>de</strong>r gefun<strong>de</strong>nen Muster und ggf. Wie<strong>de</strong>rholung <strong>de</strong>r vorangegangenenSchritte9. Festigung und Übertragung <strong><strong>de</strong>s</strong> neuens WissenDer siebte Schritt, das ”<strong>Data</strong> <strong>Mining</strong>“ beschäftigt sich mit <strong>de</strong>r Suche nach interessantenMustern, die in einer bestimmten Darstellungsform vorliegen [FPSS96].Bei <strong>de</strong>n temporalen <strong>Aspekte</strong>n <strong><strong>de</strong>s</strong> <strong>Data</strong> <strong>Mining</strong> han<strong>de</strong>lt es sich um die Erweiterung<strong>de</strong>r zu analysieren<strong>de</strong>n Daten und <strong>de</strong>r Analyseergebnisse um eine weitere Dimension:<strong>de</strong>r Zeit. Durch Erweiterung <strong>de</strong>r Daten um zeitliche Attribute, ist es möglichdas <strong>Data</strong> <strong>Mining</strong> zu vertiefen. Existiert eine zeitliche Dimension, so können auchdie Ergebnisse <strong><strong>de</strong>s</strong> <strong>Data</strong> <strong>Mining</strong> mit einer zeitlichen Komponenten aufwarten. Dannwer<strong>de</strong>n Muster gefun<strong>de</strong>n, die die ebenfalls temporal bestimmt sind. Es lassen sichzu<strong>de</strong>m Zusammenhänge feststellen, die für die spätere Projektarbeit von Nutzensein könnten und ohne zeitliche Dimension nicht nachvollziehbar wären. WelcheZusammenhänge es gibt, wird weiter unten gezeigt.2.2 Der ZeitbegriffMeyers Lexikon <strong>de</strong>finiert die Zeit als Existenzform <strong>de</strong>r Materie in <strong>de</strong>r alle ihre”Än<strong>de</strong>rungen und Bewegungen ablaufen“[M0101]. Allgemein han<strong>de</strong>lt es sich um dieAbfolge eines Geschehens, die im menschlichen Bewusstsein als Vergangenheit,”Gegenwart und Zukunft am Entstehen und Vergehen <strong>de</strong>r Dinge erfahren wird. DieGegenwart lässt sich als Grenze zwischen Noch-nicht (Zukunft) und Nicht-Mehr(Vergangenheit) bestimmen.“ Für <strong>de</strong>n Mensch gilt die Zeit also auch als Maßstab,um Vorgänge und Geschehen in einem Kontext richtig einzuordnen. Die Einordnungfin<strong>de</strong>t dann in zeitlicher Reihenfolge statt. Erwähnenswert ist an dieser Stelle, dassdas Zeitempfin<strong>de</strong>n allgemein sehr subjektiv ist. Neu“ o<strong>de</strong>r alt“ sind Adjektive, die” ”lediglich eine Unterscheidung zur Vergangenheit machen, nicht aber als Maßstabverwen<strong>de</strong>t wer<strong>de</strong>n können. Im Rahmen <strong>de</strong>r zu machen<strong>de</strong>n Analysen muss also sehrsensibel mit <strong>de</strong>r Zeit umgegangen wer<strong>de</strong>n.2.3 Granularität - Zeitpunkt - ZeitraumFür <strong>de</strong>n Zeitbegriff ist es notwendig, zwischen Zeitraum und Zeitpunkt zu unterschei<strong>de</strong>n.Nur so können Analyseergebnisse richtig interpretiert wer<strong>de</strong>n. Währen<strong>de</strong>in Zeitpunkt z.B. ein exaktes Datum beschreibt, gehen wir davon aus, dass einZeitraum min<strong><strong>de</strong>s</strong>tens zwei Zeitpunkte enthält, die aus einem Start- und einem Endzeitpunktbestehen. Dabei ergibt sich folgen<strong><strong>de</strong>s</strong> Problem: Bezeichnet man ein Datum,z.B. <strong>de</strong>n 18.11.2002 als Zeitpunkt, so stellt er zugleich einen Zeitraum dar.Schließlich steht ein Datum immer für einen Tag, <strong>de</strong>r wie<strong>de</strong>rum aus 24 Stun<strong>de</strong>nbesteht. Aber nicht mal eine Stun<strong>de</strong> dieses Tages könnte zweifelsfrei als Zeitpunkt<strong>de</strong>finiert wer<strong>de</strong>n, da auch eine Stun<strong>de</strong> wie<strong>de</strong>r aus 60 Minuten besteht. Diese Verfeinerunglässt sich unendlich lange fortsetzen bis unendlich kleine Zeiteinheitenvorliegen. Die gängigen Uhren beschränken sich auf Minuten und Sekun<strong>de</strong>n alskleinste Zeiteinheit. Wenige Ausnahmen gibt es z.B. bei Sportveranstaltungen woauf eine Hun<strong>de</strong>rtstel Sekun<strong>de</strong> genau gemessen wird.Bei <strong>de</strong>r Implementierung temporaler Daten ist die so genannte ”Granularität“ dafürumso wichtiger. Mit Granularität meint man die Körnigkeit, in diesem speziellenFall die Unterscheidung zwischen Zeitraum und Zeitpunkt. Wann ist ein Zeitraumgleich einem Zeitpunkt?4


Zur Darstellung <strong>de</strong>r Zeit gibt es drei gängige mathematische Mo<strong>de</strong>lle. Das stetigeMo<strong>de</strong>ll ist isomorph zum Bereich <strong>de</strong>r reelen Zahlen und wird mit diesen gleichgesetzt.Das dichte Mo<strong>de</strong>ll basiert auf <strong>de</strong>n rationalen Zahlen. Je genauer ein Mo<strong>de</strong>ll,<strong><strong>de</strong>s</strong>to feinere Zeiteinheiten gibt es. So bietet das stetige Mo<strong>de</strong>ll eine <strong>de</strong>tailliertereEinteilung als das dichte Mo<strong>de</strong>ll. Ein Mo<strong>de</strong>ll , dass ”nur“ mit natürlichen Zahlenauskommt, ist das diskrete Mo<strong>de</strong>ll. Üblicherweise verwen<strong>de</strong>t man bei temporalenDaten das diskrete Mo<strong>de</strong>ll. Die kleinste Zeiteinheit wird hier als ”Chronon“ bezeichnetund wird dabei als das kleinste mögliche Zeitsegment verstan<strong>de</strong>n, z.B. einAugenblick. In allen drei Mo<strong>de</strong>llen wird von einem linearen Zeitverlauf ausgegangen.Darüberhinaus gibt es aber auch Mo<strong>de</strong>lle mit an<strong>de</strong>ren Zeitverläufe, die in dieserAusarbeitung unberücksichtigt bleiben sollen. Hier sei das Zeitmo<strong>de</strong>ll von Minkowskigenannt, dass sich einer kegelförmigen Darstellung bedient [Mar99].3 RepräsentationsformenEs gibt unterschiedliche Repräsentationsformen für temporale Daten, von <strong>de</strong>nenim Folgen<strong>de</strong>n zwei vorgestellt wer<strong>de</strong>n sollen. Einerseits gibt es temporale Datenbankmanagementsysteme(DBMS), die eine Erweiterung <strong>de</strong>r relationalen DBMSdarstellen und an<strong>de</strong>rerseits gibt es Zeitreihen (auch Sequenzen genannt).3.1 <strong>Temporale</strong> DatenbankenBei <strong>de</strong>r Erklärung temporaler Datenbanken wird wie folgt vorgegangen. Im erstenSchritt wer<strong>de</strong>n temporale Datenbanken mit konventionellen Datenbanken verglichenund ihre Beson<strong>de</strong>rheiten, wie unter an<strong>de</strong>rem die verwen<strong>de</strong>ten Zeittypen aufgezeigt.Daraufhin wird erläutert wie Daten auf zwei verschie<strong>de</strong>ne Arten mit Zeitstempelnversehen wer<strong>de</strong>n können. Den Abschluss bil<strong>de</strong>t das bitemporale Datenmo<strong>de</strong>ll, dasalle zuvor genannten Grundlagen in sich vereint.<strong>Temporale</strong> DBMS verwalten zeitbezogene Daten. Sie unterschei<strong>de</strong>n sich damit von<strong>de</strong>n so genannten Schnappschuss-Datenbanken [Kai00]: Im Normalfall wird in einerDatenbank <strong>de</strong>r aktuelle Zustand <strong>de</strong>r in ihr enthaltenen Objekte gespeichert.Das heißt auch, dass nach einer Verän<strong>de</strong>rung <strong>de</strong>r Attribute eines Objektes <strong>de</strong>r Ursprungszustandüberschrieben ist und nicht wie<strong>de</strong>r hergestellt wer<strong>de</strong>n kann. Zwarbieten mo<strong>de</strong>rne DBMS die Möglichkeit eines ”Undo“mit <strong>de</strong>m zwischen zwei unterschiedlichealten Sichten (engl. view) gewechselt wer<strong>de</strong>n kann, doch können nichtmehrere Sichten zeitgleich angezeigt wer<strong>de</strong>n. Dies kann in bestimmten Anwendungenvon großem Nachteil sein, da in vielen Fällen noch auf ältere Daten zurückgegriffenwer<strong>de</strong>n muss. In Oracle wer<strong>de</strong>n diese Ansichten als ”materialized views“bezeichnet. Man bezeichnet diesen Typ auch als Rollback-DMBS.Es gibt Attribute, die von vornherein nur eine begrenzte Gültigkeit aufweisen.So sind Vertragsdaten beispielsweise mit unter durch Start- und Enddatum gekennzeichnet.An diesem Punkt kommen temporale DBMS ins Spiel. Stahlknecht[SH02] beschreibt sie wie folgt: ”Zeitorientierte (temporale) Datenbanken verwalten<strong>de</strong>n Datenbestand als Folge zeitlich aufeinan<strong>de</strong>r folgen<strong>de</strong>r Zustän<strong>de</strong> einschließlich<strong>de</strong>r Zeitpunkte <strong>de</strong>r Än<strong>de</strong>rungen (Historisierung).“ Bei zeitbezogenen Daten ist<strong>de</strong>mzufolge nicht erlaubt, Daten zu löschen o<strong>de</strong>r zu überschreiben[KM96]. Nur sokönnen zeitabhängige Versionen festgehalten wer<strong>de</strong>n, die wie<strong>de</strong>rum eine Historisierungermöglichen. Ein Löschvorgang wäre dann also nur logisch als Statusverän<strong>de</strong>rungin <strong>de</strong>r Datenbank zu verstehen, nicht aber physikalisch.Um unterschiedliche Versionen von einan<strong>de</strong>r abgrenzen zu können, wer<strong>de</strong>n temporaleAttribute benötigt, die die einzelnen Versionen beschreiben. Wie diese Attributeaussehen, wird im folgen<strong>de</strong>n Abschnitt ”Zeittypen“ behan<strong>de</strong>lt. Insgesamt gibt es5


vier verschie<strong>de</strong>ne Ausprägungen von Datenbanken in Abhängigkeit <strong>de</strong>r genutztenZeittypen [AS86]. Die bereits erwähnte Schnappschuss-Datenbak verwen<strong>de</strong>t keinetemporalen Attribute, die Rollback-Datenbank verfügt über Transaktionszeiten. EineDatenbank, die lediglich über Gültigkeitszeiten verfügt, wird als historische Datenbankbezeichnet. ”Bitemporal“ ist eine Datenbank, die sowohl Transaktions- alsauch Gültigkeitszeit verwen<strong>de</strong>t.3.1.1 ZeittypenZu <strong>de</strong>n gebräuchlichen Zeittypen gehören die Transaktionszeit (engl. TransactionTime), die Gültigkeitszeit (engl. Valid Time) und die benutzer<strong>de</strong>finierte Zeit (engl.User-<strong>de</strong>fined-time). Letzterer Zeittyp ist bereits von nicht-temporalen DBMS bekannt.Mit diesem Zeittypen wer<strong>de</strong>n beliebige zeitliche Daten, wie z.B. das Geburtsdatumfestgehalten. Die Transaction Time und die Valid Time bieten mehrMöglichkeiten, da sie direkt in DBMS integriert sind. Die Vorzüge sollen im Folgen<strong>de</strong>n<strong>de</strong>utlich wer<strong>de</strong>n.User-<strong>de</strong>fined-timeDie User-<strong>de</strong>fined-time [JCG + 92] bzw. die benutzer<strong>de</strong>finierte Zeit wird vom DBMSnicht interpretiert. Es han<strong>de</strong>lt es sich genauso um eine Domäne für zeitliche Wertewie Integer für Zahlenwerte. Als Domäne wird im allgemeinen eine Menge atomarerWerte verstan<strong>de</strong>n [Goi]. Im Gegensatz zu <strong>de</strong>n folgen<strong>de</strong>n Zeittypen fin<strong>de</strong>t dieUser-Defined-Time eine spezielle Unterstützung in <strong>de</strong>r <strong>Data</strong> Manipulation Language(DML). Informationen zur DML fin<strong>de</strong>n sich in [PAT99]. Aufgrund vorhan<strong>de</strong>nerUser-<strong>de</strong>fined-time kann nicht auf eine temporale Datenbank geschlossen wer<strong>de</strong>n[KM96].Valid TimeUnter <strong>de</strong>r Valid Time [JCG + 92], <strong>de</strong>r Gültigkeitszeit, versteht man einen Zeitraumzu <strong>de</strong>m ein Fakt in <strong>de</strong>r mo<strong>de</strong>llierten Welt ”wahr“ bzw. gültig ist. So ist es durchWahl entsprechen<strong>de</strong>r Werte für die Valid Time auch möglich, dass ein Fakt erstin <strong>de</strong>r Zukunft wahr wird. Durch Verwaltung <strong>de</strong>r Gültigkeitszeit entsteht eine historisierteDatenbank aus <strong>de</strong>r je<strong>de</strong>rzeit ersichtlich ist, wann welcher Zustand gültigwar, gültig ist o<strong>de</strong>r gültig sein wird [JCG + 92]. Es wer<strong>de</strong>n als zwei Werte GZA, <strong>de</strong>rGültigkeitszeitanfang und GZE, das Gültigkeitszeiten<strong>de</strong>, gespeichert.Transaction TimeEin Fakt wird zu einem bestimmen Zeitpunkt in <strong>de</strong>r Datenbank gespeichert unddanach immer wie<strong>de</strong>r abgerufen. Die Transaction Time [JCG + 92] gibt an, wanndieser Fakt in <strong>de</strong>r Datenbank gültig ist. Es han<strong>de</strong>lt sich dabei um die Erweiterung<strong>de</strong>r bisherigen Dimensionen Objekt und Eigenschaft. Es wird also immer ein zusätzlicherWert für je<strong><strong>de</strong>s</strong> Objekt gespeichert, <strong>de</strong>r die zeitliche Dimension darstellt. DieTransaktionszeit kann nicht in <strong>de</strong>r Zukunft liegen. Ebenso wenig kann eine Transaktionszeitim Nachhinein geän<strong>de</strong>rt wer<strong>de</strong>n, da es nicht möglich ist, die Vergangenheitzu än<strong>de</strong>rn.Es wer<strong>de</strong>n je nach Zeitstempelung (siehe unten) zwei Zeiten je Tupel bzw. Attributgespeichert. Ein Wert TZA“ steht für <strong>de</strong>n Transaktionszeitanfang und ein Wert”TZE“ für das Transaktionszeiten<strong>de</strong>. Der erste Wert wird zu Beginn einer Transaktiongesetzt, z.B. dann, wenn ein Tupel in die Datenbank eingefügt wird und”entspricht <strong>de</strong>r dann aktuellen Systemzeit. Der zweite Wert bestimmt das En<strong>de</strong> <strong>de</strong>rTransaktion, das ist <strong>de</strong>r Zeitpunkt, wenn ein Wert aus <strong>de</strong>r Datenbank gelöscht“ ”wird.Die Transaktionszeit ist von <strong>de</strong>r Gültigkeitszeit unabhängig und umgekehrt, da dieTransaktionszeit (s.o.) vom System und die Gültigkeitszeit auch vom Anwen<strong>de</strong>r6


vergeben wer<strong>de</strong>n kann.Mit Hilfe <strong>de</strong>r Transaktionszeit wird eine Rollback-Relation geschaffen: es könnteje<strong>de</strong>r Verän<strong>de</strong>rungsschritt rückgängig gemacht bzw. Än<strong>de</strong>rungen je<strong>de</strong>rzeit nachvollzogenwer<strong>de</strong>n. Beliebige Zustän<strong>de</strong> zu unterschiedlichen Zeiten können abgerufenwer<strong>de</strong>n.3.1.2 ZeitstempelungBei einer Zeitstempelung wird ein Tupel o<strong>de</strong>r ein Attribut vom DBMS, teils automatisch,mit einem Zeitwert versehen. Es gibt zwei unterschiedliche Ansätze bei<strong>de</strong>r Zeitstempelung (engl. Timestamp). Zum einen gibt es die Tupel-Zeitstempelungund zum an<strong>de</strong>ren die Attributzeitstempelung.Tupel-ZeitstempelungHierbei han<strong>de</strong>lt es sich um die einfachste und am häufigsten verwen<strong>de</strong>te Metho<strong>de</strong>[JDS98]. Die Zeitstempelung erfolgt hier für je<strong><strong>de</strong>s</strong> Tupel. Die vorhan<strong>de</strong>ne Relationwür<strong>de</strong> um entsprechen<strong>de</strong> Attribute erweitert wer<strong>de</strong>n. Der große Vorteil ist darinzu sehen, dass die konventionellen rationalen DBMS problemlos mit dieser Art <strong>de</strong>rtemporalen Erweiterung umgehen können [KM96]. Die Form <strong>de</strong>r Datenbank bleibterhalten. Je nach verwen<strong>de</strong>ter Zeitdimension wird das Datenbank-Schema auf Tupelebenewie folgt ergänzt. Für die Gültigkeitszeitstempelung wird je ein Attribut für<strong>de</strong>n Anfangs- und für <strong>de</strong>n Endwert <strong><strong>de</strong>s</strong> Gültigkeitszeitraums notiert. Bei <strong>de</strong>r Transaktionzeitstempelungwer<strong>de</strong>n die Werte für Start und En<strong>de</strong> <strong><strong>de</strong>s</strong> Transaktionsintervallsgespeichert, das heißt, von wann bis wann ein Fakt in <strong>de</strong>r Datenbank gültig ist.Speichert man sowohl die Gültigskeitszeiten als auch die Transaktionszeiten, sprichtman von ”bitemporaler Zeitstempelung“ (siehe unten). In diesem Fall wer<strong>de</strong>n insgesamtvier zusätzliche Attribute für die Zeitstempelung vorgehalten. Der Vorteil <strong>de</strong>rTupel-Zeitstemplung liegt darin, dass die Zeitstempelung in vorhan<strong>de</strong>ne konventionelleDatenbanksysteme relativ einfach implementiert wer<strong>de</strong>n kann. Nachteilig ist,dass für alle Attribute eines Tupels nur eine Zeitstempelung erfolgt. In <strong>de</strong>r Regelfin<strong>de</strong>t immer nur die Än<strong>de</strong>rung eines o<strong>de</strong>r mehrerer Attribute statt, die Än<strong>de</strong>rungaller Attributwerte tritt nur selten auf. Da bei temporalen Datenbank Än<strong>de</strong>rungenin einem neuen Tupel mit einem neuen Zeitstempel gespeichert wer<strong>de</strong>n (sieheoben), kommt es auf diesem Weg zwangsläufig zu Redundanzen: mehrere Attributemüssen neu gespeichert wer<strong>de</strong>n, obwohl es für sie keine Verän<strong>de</strong>rung gegeben hat.Attribut-ZeitstempelungIm Gegensatz zur Tupel-Zeitstempelung wer<strong>de</strong>n hier einzelne Attribute mit einemZeitstempel versehen [JDS98]. Dabei gilt es zeitabhängige und zeitunabhängige Attributezu unterschei<strong>de</strong>n. Bei unabhängigen Attributen tritt im Laufe <strong>de</strong>r Zeit keineVerän<strong>de</strong>rung auf. Bei abhängigen Attributen muss davon ausgegangen wer<strong>de</strong>n, dasseine Verän<strong>de</strong>rung <strong><strong>de</strong>s</strong> Attributs potentiell möglich ist. Ist eine Än<strong>de</strong>rung möglich,wird auch eine Gültigkeitszeitstempelung nötig, sonst nicht. Für die Transaktionszeitist die zeitliche Abhängigkeit nicht relevant, sowohl die abhängigen als auch dieunabhängigen erhalten hier einen Zeitstempel.Dadurch, dass die Zeiten bei <strong>de</strong>n einzelnen Attributen stehen, ergibt sich eine komplexemehrwertige Speicherung. Än<strong>de</strong>rungen eines Attributs wer<strong>de</strong>n in <strong>de</strong>r Relationnur beim Attribut selbst gespeichert. Redundanzen wer<strong>de</strong>n hierdurch vermie<strong>de</strong>n. Daalle Versionen in einem einzigen Tupel gespeichert wer<strong>de</strong>n, unterliegt die Relationnicht mehr <strong>de</strong>r ersten Normalform, da <strong>de</strong>ren Bedingung Atomarität lautet [PAT99].Die Einhaltung <strong>de</strong>r ersten Normalform ist wie<strong>de</strong>rum Bedingung für die meistenkommerziell verfügbaren relationalen Datenbanksysteme. Dem gegenüber stehendie Vorteile <strong>de</strong>r flexiblen Mo<strong>de</strong>llierung und Anpassbarkeit sowie die vergleichsweisegeringere Datenmenge. Nachteilig wirkt sich dann allerdings die Komplexitätsstei-7


gerung in punkto Mo<strong>de</strong>llierung und Realisierung aus.3.1.3 Bitemporales Mo<strong>de</strong>llBesitzt ein Mo<strong>de</strong>ll sowohl Transaktionszeit als auch Gültigkeitszeit, han<strong>de</strong>lt es sichum ein bitemporales Mo<strong>de</strong>ll. Das Bitemporal Conceptual <strong>Data</strong> Mo<strong>de</strong>l (BCDM)wur<strong>de</strong> 1993 vom TSQL2 Language Design Commitee entworfen. Mitglie<strong>de</strong>r <strong><strong>de</strong>s</strong> Komiteeeswaren unter an<strong>de</strong>m R. Snodgrass, J. Clifford und C. Jensen. Zu <strong>de</strong>n Eigenschaften<strong><strong>de</strong>s</strong> BCDM gehören die bereits besprochenen Transaktions- und Gültigkeitszeiten,aber auch die Basierung auf <strong>de</strong>m Mo<strong>de</strong>ll <strong>de</strong>r diskreten Zeit mit <strong>de</strong>mChronon als kleinster Zeiteinheit [Sno95]. Von Vorteil ist, dass die Vorteile vonTransaktionszeit und Gültigkeitszeit bei diesem Mo<strong>de</strong>ll kombiniert wer<strong>de</strong>n. Es han<strong>de</strong>ltsich dann also nicht nur um eine Rollback-Relation (Transaktionszeit) o<strong>de</strong>r umeine Objekt-Historie (Gültigkeitszeit), son<strong>de</strong>rn um die Möglichkeit <strong>de</strong>r Rekonstruktion<strong>de</strong>r Objekt-Historie. Es kann so die Entwicklung <strong>de</strong>r Gültigkeit im Nachhineinbetrachtet wer<strong>de</strong>n. Wird die Gültigkeit eines Tupels nachträglich geän<strong>de</strong>rt, so wirddas in diesem Mo<strong>de</strong>ll festgehalten.Beispiel zum bitemporalen Mo<strong>de</strong>llDas folgen<strong>de</strong> Beispiel soll die Funktionsweise <strong><strong>de</strong>s</strong> BCDM ver<strong>de</strong>utlichen [Lan96]:Zum Zeitpunkt 5 wird vom Personalchef eines Kaufhauses festgelegt, dass Herr”Meier für das Zeitintervall 11-44 in <strong>de</strong>r Abteilung Spielzeuge arbeiten soll. ZumZeitpunkt 15 mel<strong>de</strong>t ein Mitarbeiter, dass Herr Meier nicht in <strong>de</strong>r Abteilung arbeitet.Der Personalchef verän<strong>de</strong>rt daraufhin seine Konzeption und teilt Herrn Meiernun im Zeitintervall 20-32 für die Spielzeugabteilung ein. Bei <strong>de</strong>r Feststellung <strong><strong>de</strong>s</strong>Mitarbeiters, dass Herr Meier zum Zeitpunkt 15 noch keine Spielzeuge verkaufte,han<strong>de</strong>lte es sich um jedoch um einen Irrtum. Deshalb übernimmt <strong>de</strong>r Personalchefzum Zeitpunkt 25 wie<strong>de</strong>r die ursprüngliche Arbeitseinteilung für Herrn Meier.“Abbildung 1: Grafische Darstellung <strong><strong>de</strong>s</strong> BCDM-Beispiels [Lan96]In <strong>de</strong>r Abbildung 1 sieht man, dass <strong>de</strong>r Graph die ursprünglichen Angaben <strong><strong>de</strong>s</strong>Personalchefs enthält. Auf <strong>de</strong>r Abszisse ist die Transaktionszeit und auf <strong>de</strong>r Ordinatedie Gültigkeitszeit zu sehen. Zum Zeitpunkt 5, zu <strong>de</strong>m <strong>de</strong>r Personalchef seinePlanung festgelegt, wird auf <strong>de</strong>r Abszisse die Transaktionszeit 5 und auf <strong>de</strong>r Ordinatedie dazugehörige Gültigkeitszeit 11 bis 44 eingetragen. Zum Zeitpunkt 15 kommtes nun zu einer Än<strong>de</strong>rung, die - so veranschaulicht es <strong>de</strong>r zweite Graph - erneutfestgehalten wird ohne die bisherigen Angaben zu überschreiben. Als <strong>de</strong>r Personalchefdie zuletzt gemachten Angaben korrigiert, verän<strong>de</strong>rn sich die in <strong>de</strong>r Datenbankgespeicherten Werte gemäß Graph 3. Wäre diese Relation nicht bitemporal, wür<strong>de</strong>entwe<strong>de</strong>r die Gültigkeitszeit o<strong>de</strong>r <strong>de</strong>r Verlauf <strong>de</strong>r Gültigkeitszeit nicht notiert wor<strong>de</strong>nsein. Der gleiche Vorgang ist noch einmal in einer Tabelle zu beobachten (sieheAbbildung 2). Es han<strong>de</strong>lt sich hier um eine Attributzeitstempelung.8


Abbildung 2: Tabellarische Darstellung <strong><strong>de</strong>s</strong> BCDM-Beispiels [Lan96]Beispiele für temporale Datenbanken In <strong>de</strong>r Praxis wer<strong>de</strong>n in temporalenDatenbanken zum Beispiel Point-Of-Sale-Daten, Inventar-Daten und Call-Center-Daten gespeichert. Bei Inventar-Daten ist es mit diesen temporalen Komponentenmöglich, Inventarverän<strong>de</strong>rungen, d.h. Abgänge und Zugänge zu protokollieren. ImPoint-Of-Sale-Bereich kann es wie<strong>de</strong>rum wichtig sein, fehlerhafte Buchungen und<strong>de</strong>ren Stornierungen nachzvollziehen zu können.3.2 ZeitreihenBei <strong>de</strong>n so genannten Zeitreihen, im Folgen<strong>de</strong>n ”Sequenzen“ genannt, han<strong>de</strong>lt essich um ”eine Folge von Werten, die sich auf aufeinan<strong>de</strong>r folgen<strong>de</strong> Zeitpunkte o<strong>de</strong>rZeiträume bezieht.“ Bei Sequenzen han<strong>de</strong>lt es sich nicht zwangsläufig um Relationen,son<strong>de</strong>rn vielmehr um eine Folge von Kombinationen aus (ggf. mehrdimensionalen)”Wert“ und ”Zeitpunkt“. Unabhängig davon können Sequenzen auch Relationengespeichert wer<strong>de</strong>n. Formal lässt sich eine Sequenz folgen<strong>de</strong>rmaßen darstellen:UnterI = {i 1 , i 2 , ..., i m } (1)versteht man eine Menge verschie<strong>de</strong>ner Attribute, die man Literale o<strong>de</strong>r Items (imFolgen<strong>de</strong>n Items) nennt [Zak97] [Hip01]. Eine nicht leere Menge von ItemsI = {i 1 , i 2 , ..., i k } = α j (2)mit i j als Item wird als Itemset bezeichnet. Eine Sequenz ist dann eine zeitlichgeordnete Liste von Itemsets. Gibt es ein Itemset mit k Items, so wird dieses alsk-Itemset“ bezeichnet und die Länge ist k. Eine Sequenz α wird mit”α = (α 1 ↦→ α 2 ↦→ ... ↦→ α q ) (3)bezeichnet. Bei je<strong>de</strong>m Element α j dieser Sequenz han<strong>de</strong>lt es sich um ein Itemset.Je<strong><strong>de</strong>s</strong> Item kann nur einmal in einem Itemset vorkommen. Unabhängig davon ist esnatürlich möglich, dass ein Item in mehreren Itemsets enthalten ist. Eine Sequenzmit k Itemsets (k = ∑ j |α j|) wird als ”k-Sequenz“ bezeichnet.3.2.1 SubsequenzenEine Sequenzα = (α 1 ↦→ α 2 ↦→ ... ↦→ α n ), N = {1, 2, ..., n} (4)wird als Subsequenz einer weiteren Sequenzβ = (β 1 ↦→ β 2 ↦→ ... ↦→ β m ), M = {1, 2, ..., m} (5)bezeichnet, wenn für alle x ∈ N ein In<strong>de</strong>x j x ∈ M existiert, so dass α x ⊆ β jx .Außer<strong>de</strong>m gilt für alle x, y ∈ N, dass wenn x > y auch j x > j y gilt [Zak97].9


Eine Subsequenz wird mit α ≼ β notiert.Beispiel: Im Folgen<strong>de</strong>n han<strong>de</strong>lt es sich beium eine Subsequenz vonα = (B ↦→ AC ↦→ D) (6)β = (AB ↦→ E ↦→ ACE ↦→ BE ↦→ DE), (7)also α ≼ β, da α vollständig in β enthalten ist.3.2.2 Beispiele für ZeitreihenB ⊆ AB, AC ⊆ ACE, D ⊆ DE (8)Zeitreihen erfassen in <strong>de</strong>r praktischen Anwendung beispielsweise Web-Visits proStun<strong>de</strong>, Verkäufe pro Monat, Anrufe pro Tag usw..3.3 Äquivalenz von Zeitreihen und temporalen DatenbankenLiegen die zu analysieren<strong>de</strong>n Daten innerhalb einer temporalen Datenbank vor, istes möglich diese in Sequenzen zu transformieren. Dazu benötigt man Snapshots (sieheKapitel 3.1), also Momentaufnahmen. Die Ausprägungen <strong>de</strong>r einzelnen Objektekönnen dann an Hand ihrer temporalen Attribute, d.h. Transaktions- und Gültigkeitszeit,in Zeitreihen umgewan<strong>de</strong>lt wer<strong>de</strong>n. Da eine Sequenz immer aus einemObjekt mit seinen Eigenschaften zu aufeinan<strong>de</strong>rfolgen<strong>de</strong>n Zeitpunkten besteht, isteine Transformation in diese Richtung möglich. Gibt es also in einer temporalenDatenbank ein Objekt ”Warenkorb“ kann anhand <strong>de</strong>r Transaktions- und Gültigkeitszeiteneine Schnappschussfolge gebil<strong>de</strong>t wer<strong>de</strong>n. So läßt sich dann <strong>de</strong>r Zustand<strong><strong>de</strong>s</strong> Warenkorbs zum Zeitpunkt 1,2,3,... bil<strong>de</strong>n. In <strong>de</strong>r Sequenz wer<strong>de</strong>n dann die jeweiligenWarenkörbe in zeitlicher Reihenfolge abgebil<strong>de</strong>t, die dazugehörigen Zeitengehen allerdings verloren [Zak97]. So ist es also möglich die Metho<strong>de</strong>n zur Analysevon Sequenzen zu verwen<strong>de</strong>n, wenn die Ursprungsdaten in temporalen Datenbankenvorliegen.Theoretisch ist auch ein umgekehrter Weg möglich. Man könnte die in <strong>de</strong>r Sequenzvorhan<strong>de</strong>nen Zustän<strong>de</strong> wie<strong>de</strong>r in eine temporale Datenbank schreiben. Dazuwür<strong>de</strong>n dann die Transaktionszeiten so gesetzt, dass die zweite Ausprägung <strong>de</strong>r Sequenzdort beginnt, wo die erste Ausprägung aufhört. Also ist die TZA <strong>de</strong>r zweitenAusprägung größer o<strong>de</strong>r gleich <strong>de</strong>r TZE <strong>de</strong>r ersten Ausprägung. Nach <strong>de</strong>m gleichenPrinzip müßte man dann die weiteren Tupel anlegen. Die Gültigkeitswerte in <strong>de</strong>rtemporalen Datenbank wür<strong>de</strong>n allerdings alle gleich gesetzt wer<strong>de</strong>n: gültig ab sofortbis eine Än<strong>de</strong>rung vorgenommen wird. Man kann also sagen, dass die Daten innerhalbeiner Sequenz nur <strong>de</strong>n Verlauf <strong>de</strong>r Daten innerhalb <strong>de</strong>r temporalen Datenbankwie<strong>de</strong>rgeben.Die Möglichkeit <strong>de</strong>r Umwandlung von temporalen Daten zu Sequenzen ist insofernvon Be<strong>de</strong>utung, da die im Verlauf dieser Ausarbeitung vorgestellten Technikenhauptsächlich auf <strong>de</strong>r Verwendung von Sequenzen basieren.4 <strong>Temporale</strong> MusterAufgrund <strong>de</strong>r Flut an Informationen, die die mo<strong>de</strong>rne Technik <strong>de</strong>r Informationsgesellschaftmit sich brachte, wur<strong>de</strong>n immer öfter Entscheidungen nicht auf Grundlage<strong>de</strong>r informationsreichen Datenbanken getroffen, son<strong>de</strong>rn überwiegend nach Intuition<strong><strong>de</strong>s</strong> Verantwortlichen. Kamber und Han [HK01] bezeichnen solche ungenutzten10


o<strong>de</strong>r falsch genutzten Datenbestän<strong>de</strong> als ”<strong>Data</strong> Tombs“, zu Deutsch Datengräber.Einen Ausweg aus dieser Misere versprechen <strong>Data</strong> <strong>Mining</strong>-Techniken wie sie in <strong>de</strong>nvorangegangenen Ausarbeitungen vorgestellt wur<strong>de</strong>n.<strong>Data</strong> <strong>Mining</strong>-Werkzeuge ent<strong>de</strong>cken Muster innerhalb großer Datenmengen, die für<strong>de</strong>n Benutzer von großem Nutzen sein können. Ähnlich wird auch bei temporalenDaten vorgegangen. Hier bemüht man sich temporale Muster zu ent<strong>de</strong>cken.Im folgen<strong>de</strong>n Abschnitt wer<strong>de</strong>n verschie<strong>de</strong>ne Formen von temporalen Mustern vorgestelltund teilweise vertieft beschrieben. Dazu gehören sequentielle Muster, zeitlicheAssoziationsregeln und kalendarische Muster sowie intervall-basieren<strong>de</strong> Ereignisse,Trends und ”unusual Movements“. Der Weg zu diesen Mustern, das heißt dieDatenanalyse wird im nächsten Kapitel dargestellt.4.1 Sequentielle MusterEin sequentielles Muster [Zak97] ist ein Muster, das beim ”mining“ über mehrereSequenzen ent<strong>de</strong>ckt wer<strong>de</strong>n kann. Mit Hilfe sequentieller Muster wer<strong>de</strong>n Regeln aufgestellt.Diese sind zu vergleichen mit Assoziationsregeln. Assoziationsregeln stellenRelationen und Zusammenhänge zwischen einzelnen Objekten o<strong>de</strong>r <strong>de</strong>ren Attributeher. Sequentielle Muster erfüllen eine ähnliche Aufgabe, doch in einem Punktunterschei<strong>de</strong>n sie sich von <strong>de</strong>n Assoziationsregeln gänzlich. Assoziationsregeln sindso genannte Intra-Transaktionsmuster, also Muster innerhalb einer Transaktion,beispielsweise innerhalb eines Warenkorbs. Sequentielle Muster dagegen sind Inter-Transaktionsmuster, das heißt, es wer<strong>de</strong>n Muster zwischen verschie<strong>de</strong>nen Transaktionenund nicht zwangsläufig innerhalb dieser untersucht (siehe Abbildung 3).Abbildung 3: Unterschied zwischen Intra- und Inter-TransaktionsmusterSo können beispielsweise Zusammenhänge bei verschie<strong>de</strong>nen Einkäufen übereinen Zeitraum von mehreren Wochen ent<strong>de</strong>ckt wer<strong>de</strong>n. Formal wird ein sequentiellesMuster wie folgt beschrieben:T ist <strong>de</strong>r ein<strong>de</strong>utige Bezeichner einer Transaktion, die eine Menge von Items I, alsoein so genanntes Itemset enthält.T ⊆ I (9)Mit C wird eine Kun<strong><strong>de</strong>s</strong>equenz bezeichnet, <strong>de</strong>r eine Liste von Transaktionen zugeordnetist. Die Transaktionen sind in <strong>de</strong>r Reihenfolge ihrer Transaktionszeit geordnet.C = T 1 ↦→ T 2 ↦→ · · · ↦→ T n (10)Eine Datenbank D enthält wie<strong>de</strong>rum eine Menge solcher Kun<strong>de</strong>nsequenzen.11


4.1.1 HäufigkeitAls Kriterium für die Qualität eines aufgestellten Musters gilt die Häufigkeit bzw.Frequenz (engl. frequency) o<strong>de</strong>r auch Unterstützung (engl. support) genannt. DieFrequenz einer Sequenz α ist die Anzahl ihres Vorkommen in <strong>de</strong>n Kun<strong>de</strong>nsequenzen<strong>de</strong>r Datenbank im Verhältnis zur Gesamtanzahl <strong>de</strong>r Kun<strong>de</strong>nsequenzen <strong>de</strong>r entsprechen<strong>de</strong>nDatenbank.|{C ∈ D|C ≽ α}|fr(α, D) = (11)|D|Nach <strong>de</strong>r Analyse <strong>de</strong>r vorhan<strong>de</strong>nen Kun<strong>de</strong>nsequenzen wird eine bestimmte Mengedas gefun<strong>de</strong>ne Muster unterstützen. Ist die relative Anzahl <strong>de</strong>r unterstützen<strong>de</strong>nKun<strong>de</strong>nsequenzen gleich o<strong>de</strong>r größer als ein zuvor genannter Min<strong><strong>de</strong>s</strong>twert ”min sup“,so wird die gefun<strong>de</strong>ne Regel akzeptiert.4.1.2 BeispielEin sequentielles Muster könnte z.B. ”(B) ↦→ (C) mit einer Unterstützung von 30%“lauten. In <strong>de</strong>r Praxis ergeben sich dann Zusammenhänge wie z.B. ”30% aller Käufervon Dieter Bohlens Buch ,Nichts als die Wahrheit’ (B) kaufen innerhalb eines Monatsauch die CD ’Greatest Hits’ (C) von Dieter Bohlen“.Das Aufstellen solcher Muster hat vielfältige Anwendungsgebiete. Es kann, wie dasobige Beispiel zeigt, einfach im Han<strong>de</strong>l eingesetzt wer<strong>de</strong>n, um Kun<strong>de</strong>n Vorschlägefür weitere Einkäufe zu unterbreiten. Im Bereich <strong>de</strong>r Telekommunikation ist es ebenso<strong>de</strong>nkbar wie in <strong>de</strong>r Medizin. In bei<strong>de</strong>n Bereichen sind Vorhersagen von großemNutzen. Wenn im medizinischen Bereich mit hoher Unterstützung festgestellt wer<strong>de</strong>nkann, dass für bestimmte Krankheiten immer wie<strong>de</strong>r die gleichen Symptomeauftreten, ist es möglich eine Krankheit frühzeitig zu erkennen und gezielt zu behan<strong>de</strong>ln.Bei all <strong>de</strong>n Möglichkeiten muss natürlich bedacht wer<strong>de</strong>n, dass für je<strong>de</strong> Aussageeine ausreichen<strong>de</strong> Datenmenge die Grundlage <strong>de</strong>r Analyse bil<strong>de</strong>n muss. Wennman Schlussfolgerungen in medizinischen Bereichen trifft ohne dabei qualitativ undquantitativ ausreichen<strong>de</strong> Daten untersucht zu haben, kann dies schwerwiegen<strong>de</strong> Folgenhaben. Gleiches gilt natürlich für die Unterstützung aufgestellter Muster. DasAuffin<strong>de</strong>n sequentieller Muster wird im Kapitel <strong>de</strong>r temporalen Datenanalyse, sieheKapitel 5, besprochen.4.2 Zeitliche AssoziationsregelnBei <strong>de</strong>n zeitlichen Assoziationsregeln (engl. temporal Association Rules) han<strong>de</strong>lt essich um ein weiteres Beispiel für temporale Muster. In einem Artikel von Wang,Yang und Muntz [WYM01] wer<strong>de</strong>n hierzu Entwicklungen bestimmter Attributemiteinan<strong>de</strong>r verglichen.Das Ziel <strong>de</strong>r zeitlichen Assoziationsregeln in diesem Artikel ist <strong>de</strong>r Nachweis vonZusammenhängen zwischen einzelnen Objekten an Hand <strong>de</strong>ren numerischen Attributen.Hierzu wird eine Sequenz mit unterschiedlichen Zustän<strong>de</strong>n dieser Attributebenötigt. Diese Sequenz könnte unter an<strong>de</strong>rem aus Schnappschüssen einer Datenbankbestehen. Die erste Sequenz enthält Zustandsverän<strong>de</strong>rungen <strong><strong>de</strong>s</strong> ersten Objektesund kann mit einer weiteren Sequenz verglichen wer<strong>de</strong>n, die ebenfalls Zustandsverän<strong>de</strong>rungeneines Objektes enthält. Natürlich müssen die zeitlichen Abstän<strong>de</strong>zwischen <strong>de</strong>n Zustän<strong>de</strong>n miteinan<strong>de</strong>r vergleichbar sein.Nimmt man beispielsweise das Objekt ”Angestellter“ mit seinem Attribut ”Gehalt“so wür<strong>de</strong> die dazugehörige Sequenz Aufschluss über die Gehaltsverän<strong>de</strong>rungen imLaufe <strong>de</strong>r Zeit geben. Existiert eine zweite Sequenz mit einem Attribut ”Wohnausgaben“lassen sich davon Regeln ableiten.12


ist eine Sequenz von Schnappschüssen. Die Stabilität selbst wird dann mitStabilität =Support(X ∩ Y, Ω)Support(X, Ω) × Support(Y, Ω)(15)berechnet [WYM01]. Die Stabilität ist also <strong>de</strong>r Quotient aus <strong>de</strong>n unterstütztenSequenzen Support(X ∩ Y, Ω) und <strong>de</strong>m Kreuzprodukt <strong>de</strong>r Sequenzen, die jeweilsnur einen Zustand <strong>de</strong>r Regel aufweisen.4.2.4 DichteDadurch, dass in diesem Falle numerische Attribute verglichen wer<strong>de</strong>n, ist es möglich,dass Regeln aufgestellt wer<strong>de</strong>n, die numerische Bereiche abzu<strong>de</strong>cken scheinen, in<strong>de</strong>nen es nicht ein tatsächliches Objekt gibt. In Bezug auf das oben gewählteBeispiel könnte man die Notwendigkeit eines Dichte-Parameters so erklären: Eswird von einem Gehalt im Intervall [40.000,55.000] auf Wohnausgaben im Intervall[10.000,15.000] geschlossen. Möglicherweise gibt es nun viele Objekte zu Beginnund En<strong>de</strong> <strong><strong>de</strong>s</strong> jeweiligen Intervalls, die dazu geführt haben, dass diese Regel aufgestelltwur<strong>de</strong>. Doch besagt diese Regel ja auch, dass beliebige Werte-Kombinationeninnerhalb dieses Intervalls möglich sind. Es kann also eine Kombination Gehalt-Wohnausgaben mit Werten von 50.000 bzw. 13.000 geben, obwohl es in <strong>de</strong>n analysiertenDaten nie solch eine Kombination gegeben hat. Es ist gut möglich, dass es sogarKombinationen gibt, die sehr unwahrscheinlich sind. Mit <strong>de</strong>m Dichte-Parameterwird nun bestimmt, wieviele Testdaten in einem Bereich liegen müssen, damit <strong>de</strong>rBereich als Teil eines umfassen<strong>de</strong>n Intervalls bezeichnet wer<strong>de</strong>n kann.4.2.5 Praktische BeispieleMit Hilfe einer temporalen Assoziationsregel lassen sich zum Beispiel folgen<strong>de</strong> Zusammenhängeformulieren: ”Wenn <strong>de</strong>r Preis von Produkt A unter 1 Euro fällt, dannsteigt <strong>de</strong>r monatliche Verkauf von Produkt B um 10.000 - 20.000. “ ”Neue Angestelltezwischen 20 und 30 Jahren starten mit einem Gehalt von 40.000 - 60.000Euro. Die jährliche Erhöhung beträgt min<strong><strong>de</strong>s</strong>tens 2.000 Euro.“4.3 Kalendarische MusterMuster, die in Anlehnung an ein kalendarisches Schema, z.B. einen Jahres-, Monatso<strong>de</strong>rWochenkalen<strong>de</strong>r gesucht wer<strong>de</strong>n, nennt man kalendarische Muster. Ein kalendarischesMuster wird ebenfalls mit temporalen Assoziationsregeln beschrieben. DerUnterschied zu <strong>de</strong>n zuvor vorgestellten Regeln ist, dass es sich hierbei um Regelnhan<strong>de</strong>lt, die zu bestimmten Zeitpunkten o<strong>de</strong>r in bestimmten Zeiträumen gelten. Dertemporale Aspekt einer solchen Regel könnte zum Beispiel je<strong>de</strong>n Dienstag“ o<strong>de</strong>r”je<strong>de</strong>n ersten Mai“ o<strong>de</strong>r ähnlich lauten.”Um eine Regel aufstellen zu können, wird ein relationales Kalen<strong>de</strong>rschemaR = (f n : D n , f n−1 : D n−1 , · · · , f 1 : D 1 ) (16)benötigt [LNWJ01]. Dabei han<strong>de</strong>lt es bei f i um ein Attribut, z.B. um das Jahr, <strong>de</strong>nMonat, <strong>de</strong>n Tag etc. und D als Zeit-Domäne. Die Gültigkeit dieses Schemas wirdmitD n × D n−1 × · · · × D 1 (17)festgelegt. Für je<strong><strong>de</strong>s</strong> Attribut kommen dann bestimmte Integerwerte in Frage, diedurch die obige Gültigkeit eingeschränkt sind. Auf diesem Weg wer<strong>de</strong>n bestimmteWertkombinationen ausgeschlossen. Es gibt dann beispielsweise keinen 32. Januaretc..14


Ein Muster ist dann ein Tupel in R mit <strong>de</strong>r Form 〈d n , d n−1 , . . . , d 1 〉. Haben wirein kalendarisches Schema bestehend aus Woche, Tag und Stun<strong>de</strong> wür<strong>de</strong> das Tupel〈1, 1, 10〉 für die Stun<strong>de</strong> 10 am ersten Tag in <strong>de</strong>r ersten Woche stehen. Darüberhinaus gibt es die Möglichkeit Wildcards zu verwen<strong>de</strong>n. Wildcards sind Platzhalter,die für je<strong>de</strong>n beliebigen, aber zulässigen Wert stehen. Ein Wildcard wird miteinem Stern ”∗“ gekennzeichnet. Das Tupel 〈1, ∗, 10〉 steht dann also für die Stun<strong>de</strong>10 an je<strong>de</strong>m Tag in <strong>de</strong>r ersten Woche. Eine temporale Assoziationsregel hat nundie Form (r, e) mit r als Assoziationsregel und e als kalendarischem Muster. Habenwir nun ein Kalen<strong>de</strong>r-Schema mit 〈Jahr, Monat, Donnerstag〉 könnten wir bei <strong>de</strong>rAnalyse von Transaktionen im amerikanischen Supermarkt folgen<strong>de</strong> Regel aufstellen:(T ruthahn ↦→ Kürbiskuchen, 〈∗, 11, 4〉). Diese Regel besagt schließlich, dass inje<strong>de</strong>m Jahr am vierten Donnerstag im November mit nach je<strong>de</strong>m Truthahn auchein Kürbiskuchen gekauft wird. Die Amerikaner feiern nämlich an je<strong>de</strong>m viertenDonnerstag im November ihr alljährliches Thanksgiving. Mit dieser Aussage wur<strong>de</strong>das ”Precise Match“-Verfahren angewandt, dass nur 100% gültige Regeln ermittelt.Eine Erweiterung ist das Fuzzy-Match-Verfahren. Dieses Verfahren fin<strong>de</strong>t Regeln,die min<strong><strong>de</strong>s</strong>tens einen bestimmten Prozentsatz an Gültigkeit aufweisen. Die ”MatchRatio“ m legt fest wie genau die Regeln sein müssen. Für m wird ein Wert mit(0 < m < 1) gewählt. Mit diesem Verfahren könnte dann die selbe Regel mit einemneuen kalendarischen Muster e = 〈∗, 11, ∗〉 aufgestellt wer<strong>de</strong>n. Die Regel wäre dannan min<strong><strong>de</strong>s</strong>tens 100m% Tagen gültig.Der zur Ermittlung dieser Regeln verwen<strong>de</strong>te Algorithmus ist ein Derivat <strong><strong>de</strong>s</strong> Apriori.Das Prinzip <strong><strong>de</strong>s</strong> Apriori wird weiter unten anhand <strong><strong>de</strong>s</strong> GSP-Algorithmus vorgestellt.Vorteil <strong>de</strong>r kalendarischen Muster Ein Vorteil <strong>de</strong>r Verwendung kalendarischerMuster ist, dass Zusammenhänge aufgestellt wer<strong>de</strong>n können, die ohne kalendarischeEinschränkungen nicht festgestellt wür<strong>de</strong>n. Ein Zusammenhang Ei ↦→ Kaffee istmit einer Unterstützung von 3% trotz hoher Konfi<strong>de</strong>nz relativ unbe<strong>de</strong>utend. Fügtman eine zeitliche Dimension hinzu und beschränkt die Regel auf die Tageszeit 7-11 Uhr vormittags erhöht sich die Unterstützung auf 40% (außerhalb dieser Zeit0,005%). Die neu entstan<strong>de</strong>ne Regel ist be<strong>de</strong>utend interessanter.4.4 Intervall-basieren<strong>de</strong> EreignisseBei <strong>de</strong>n bisherigen Mustern han<strong>de</strong>lte es sich um Zusammenhänge zwischen einzelnenEreignissen (Transaktionen, etc.), die meist als Zeitpunkte begriffen wur<strong>de</strong>n. Jetztsollen Ereignisse als Intervalle betrachtet wer<strong>de</strong>n [KF00]. Als Folge <strong><strong>de</strong>s</strong>sen lassensich dann neue Zusammenhänge aufzeigen, die zuvor nicht berücksichtigt wur<strong>de</strong>.Ein Beispiel ist folgen<strong><strong>de</strong>s</strong>: 75% <strong>de</strong>r Kun<strong>de</strong>n kaufen Erdnüsse, wenn Butter ins Son<strong>de</strong>rangebotkommt und bevor Brot ausverkauft ist.“”Es han<strong>de</strong>lt sich hierbei um drei intervall-basieren<strong>de</strong> Ereignisse Kun<strong>de</strong>n kaufen”Erdnüsse“, Butter kommt ins Son<strong>de</strong>rangebot“ und bevor Brot ausverkauft ist“.” ”Es lassen sich hierbei verschie<strong>de</strong>ne zeitliche Relationen aufstellen: Zwei Ereignissekönnen auf einan<strong>de</strong>r folgen (X vor Y), zur gleichen Zeit stattfin<strong>de</strong>n (X gleich Y),an einan<strong>de</strong>r anschließen (X trifft Y), sich überschnei<strong>de</strong>n (X überschnei<strong>de</strong>t Y), ineinem weiteren Ereignis enthalten sein (X während Y), zeitgleich beginnen (X startetmit Y) und zeitgleich en<strong>de</strong>n (X en<strong>de</strong>t mit Y). Zu je<strong>de</strong>r dieser Relationen gibtes eine inverse Relation, z.B. (Y nach X). Die Grafik, siehe Abbildung 4, zeigt dieTaxonomy of temporal Relationships“ nach Allen [All83].”Es ist dort gut zu sehen, dass es insgesamt dreizehn mögliche Beziehungen zwischenzwei Intervallen X und Y gibt.Zur praktischen Ver<strong>de</strong>utlichung wird jetzt eine Datenbank mit medizinischen Datensätzenangenommen [KF00]. Dabei wer<strong>de</strong>n Personendaten und die aufgetretenen15


Abbildung 4: Taxonomie zeitlicher Beziehungen[All83]Krankheiten festgehalten. Je<strong>de</strong> Krankheit wird als Intervall festgehalten. Für je<strong><strong>de</strong>s</strong>Intervall gibt es eine Startzeit t s und eine Endzeit t e , wobei gilt, dass t s ≤ t e . ZurVereinfachung wird nun je<strong>de</strong> Krankheit einer Person als Ereignis bezeichnet. Dabeiwird je<strong><strong>de</strong>s</strong> Ereignis einem Ereignistypen E zugeordnet. Ein Ereignis E besteht nunaus (A, t s , t e ) wobei A ∈ E ein Ereignistyp ist. Wird daraufhin eine Sequenz gebil<strong>de</strong>t,sind darin die Ereignisse einer einzelnen Person in chronologischer Reihenfolgemit ihren Start- und Endzeiten notiert. Die Sequenzs j = 〈(A 1 , t s1 , t e1 ), (A 2 , t s2 , t e2 ), · · · , (A n , t sn , t en )〉 (18)ist dann eine Sequenz für die Person j. Die einzelnen Ereignisse wer<strong>de</strong>n nach ihrenEndzeiten geordnet.t ei ≤ t ei+1 (19)Zwischen <strong>de</strong>n einzelnen Ereignissen dieser Sequenz können nun Relationen gemäß<strong>de</strong>r oben besprochenen Abbildung gebil<strong>de</strong>t wer<strong>de</strong>n. Diese Relationen wer<strong>de</strong>n durchdie Relationen zwischen <strong>de</strong>n Endpunkten <strong>de</strong>r Intervalle ausgedrückt, die als ”EndpunktBegrenzung“ bezeichnet wer<strong>de</strong>n. Die Sequenz〈E 1 = (A, 5, 10)〉 (20)zeigt, dass ”A überschnei<strong>de</strong>t B“. Die hierzu erfüllten Bedingungen sind folgen<strong>de</strong>:E 1 .t s < E 2 .t s (21)E 1 .t e > E 2 .t sE 1 .t e < E 2 .t eVon <strong>de</strong>n oben aufgeführten dreizehn Relationen wer<strong>de</strong>n effektiv nur sieben verwen<strong>de</strong>t,da es sich bei <strong>de</strong>n an<strong>de</strong>ren um Relationen mit <strong>de</strong>r gleichen Aussage han<strong>de</strong>lt. Obman nun sagt ”X überschnei<strong>de</strong>t Y“ o<strong>de</strong>r ”Y wird von X überschnitten“ ist lediglich16


von <strong>de</strong>r unterschiedlichen Beschreibung ein und <strong><strong>de</strong>s</strong>selben Vorgangs abhängig. Diesesieben zeitlichen Relationen wer<strong>de</strong>n mit Rel bezeichnet. Für das Fin<strong>de</strong>n von temporalenMustern wird zwischen atomaren Mustern, die aus einem einzelnen Ereignisbestehen und zusammengesetzten Mustern, die entsprechend aus min<strong><strong>de</strong>s</strong>tens zweiEreignissen bestehen, unterschie<strong>de</strong>n. Die Größe eines Musters gibt die Anzahl <strong>de</strong>renthaltenen atomaren Muster an.Gibt es ein Ereignis E vom Typ X innerhalb einer Sequenz S, so hat das atomareMuster X ein ”mapping“ in S [KF00].Die Dauer dieses ”mappings“ wird mitM(X, S) = {E} (22)M(X, S).t s = E.t s (23)M(X, S).t e = E.t eangegeben; X ist in S enthalten.Ein vergleichbares Mapping gibt es auch für die zusammengesetzten Muster. Umdie Intervalllänge zu begrenzen und nur Ereignisse zu fin<strong>de</strong>n, die dicht genug beieinan<strong>de</strong>rliegen, gibt es als Parameter die Fenstergröße. Es wer<strong>de</strong>n dann nur Intervallegefun<strong>de</strong>n, die innerhalb <strong><strong>de</strong>s</strong> spezifizierten Fensters liegen.Zu guter Letzt wird auch bei intervall-basieren<strong>de</strong>n Ereignissen die Häufigkeit gemessen.Dies geschieht wie auch bei <strong>de</strong>n an<strong>de</strong>ren Mustern durch das Verhältnis <strong>de</strong>runterstützten Sequenzen zu <strong>de</strong>n Sequenzen in <strong>de</strong>r Datenbank.4.5 TrendsEin Trend bezeichnet die Verän<strong>de</strong>rungen zwischen zwei Objekteigenschaften. DasBeispiel(SS#, =)(Rank, ≠) ↦→ Next (Sal, ≠) (24)sagt aus, dass mit einer Än<strong>de</strong>rung <strong><strong>de</strong>s</strong> Rangs auch eine Än<strong>de</strong>rung <strong><strong>de</strong>s</strong> Gehalts stattfin<strong>de</strong>t[Wij01]. Es han<strong>de</strong>lt sich dabei um eine zeitliche Abhängigkeit (engl. temporal<strong>de</strong>pen<strong>de</strong>ncy), die als Trendabhängigkeit bezeichnet wird. Dabei steht SS#für die Sozialversicherungsnummer, die unverän<strong>de</strong>rt bleibt (=). Rank kennzeichnet<strong>de</strong>n Rang innerhalb eines Unternehmens, <strong>de</strong>r beispielsweise durch eine Beför<strong>de</strong>rungverän<strong>de</strong>rt wird und Sal steht für das Gehalt (engl. salary). Bei bei<strong>de</strong>n fin<strong>de</strong>t eineÄn<strong>de</strong>rung statt (≠). In dieser Form können verschie<strong>de</strong>ne Trends angegeben wer<strong>de</strong>n.Beispiele für Trends sind: Gehälter von Angestellten sinken im Allgemeinen nicht.“”Eine Beför<strong>de</strong>rung schließt eine Gehaltsmin<strong>de</strong>rung aus.“”Weitere Anwendungsmöglichkeiten Das Ermitteln von Trends kann auch fürdie Datenverwaltung selbst von Vorteil sein. Man kann Trends verwen<strong>de</strong>n, um dieDatenintegrität zu verbessern. Unplausible Daten können aufgrund bestehen<strong>de</strong>rTrends ausgeschlossen wer<strong>de</strong>n. So können dann Restriktionen, so genannte Constraints[PAT99] für die Datenbank festgelegt wer<strong>de</strong>n, die aus Trend-Regeln bestehen.Besagt das obige Beispiel, dass eine Beför<strong>de</strong>rung eine Gehaltsmin<strong>de</strong>rung ausschließt,kann verhin<strong>de</strong>rt wer<strong>de</strong>n, dass eine Datenän<strong>de</strong>rung o<strong>de</strong>r ein neuer Datensatz,<strong>de</strong>r diesem Anspruch nicht genügt, auch nicht in die Datenbank aufgenommenwird. Selbstverständlich muss man sich bei dieser Vorgehensweise im Klaren sein,dass Unterstützung und Konfi<strong>de</strong>nz solcher Regel sehr hoch sein müssen, um sie alsRestriktion für Datenbanken verwen<strong>de</strong>n zu können. Eine Regel wie die obige, diebesagt, dass Gehälter im Allgemeinen nicht sinken, wäre hierfür ungeeignet. So istes <strong>de</strong>nkbar, dass ein Mitarbeiter beispielsweise auf Teilzeit umstellt und dadurchein geringeres Gehalt erhält.17


4.6 Unusual MovementsBei unusual Movements [MY01] han<strong>de</strong>lt es sich um ungewöhnliche Entwicklungen.Diese Entwicklungen sind als kurzfristige Ausnahmen aber auch langfristigeVerän<strong>de</strong>rungen zu verstehen, die bei einer entsprechend großen Datenbasis festgestelltwer<strong>de</strong>n können. Zu <strong>de</strong>n bekanntesten Erscheinungen, die im Folgen<strong>de</strong>n kurzvorgestellt wer<strong>de</strong>n, gehören ”isolated outliner“ und ”level shifts“.4.6.1 Isolated OutlinersWie die Grafik (siehe Abbildung 5) zeigt, han<strong>de</strong>lt es sich bei Outlinern um Ausreißer.Ausreißer sind starke, kurzfristige Verän<strong>de</strong>rungen, die durch ein außergewöhnlichesEreignis hervorgerufen wor<strong>de</strong>n sind. Ein solches Ereignis kann z.B. ein plötzlicherPreisnachlass innerhalb einer zeitlich begrenzten Werbeaktion sein. Denkbar istauch, dass es sich lediglich um einen Messfehler han<strong>de</strong>lt. Die Schreibweisey ∗ t 0= y t0 + c (25)zeigt, dass die Beobachtung y t zum Zeitpunkt t 0 um die Konstante c erhöht ist. DieseVerän<strong>de</strong>rung ist auf <strong>de</strong>n Zeitpunkt t 0 begrenzt, weshalb es sich um einen Ausreißerhan<strong>de</strong>lt.Abbildung 5: Unusual Movements: Isolated Outliner und Level Shifts [MY01]4.6.2 Level ShiftBei einem Level Shift han<strong>de</strong>lt es sich wie auch bei <strong>de</strong>n Ausreißern um eine Verän<strong>de</strong>runggegenüber <strong>de</strong>n Vergleichswerten. Doch in diesem Fall ist es keine kurzfristigeVerän<strong>de</strong>rung, son<strong>de</strong>rn ein Wechsel, <strong>de</strong>r andauert. Die Ursache für dieses Phänomenkönnte eine langfristige Steigerung <strong>de</strong>r Nachfrage durch Senkung <strong>de</strong>r Preise sein.Die Abbildung 5 zeigt zwei Level Shifts und es ist <strong>de</strong>utlich zu erkennen, dass dieWerte <strong>de</strong>r gezeigten Funktion für einen langen Zeitraum auf einer an<strong>de</strong>ren, höherenEbene liegen. Unabhängig <strong><strong>de</strong>s</strong> weiterhin ungleichmäßigem Kurvenverlauf kann <strong>de</strong>rAnstieg auf einer neuen Ebene abgelesen wer<strong>de</strong>n. Formal wird ein Level Shift mitiny ∗ t = y t0 + c (26)dargestellt. Diesmal ist die Beobachtung y t nicht nur für <strong>de</strong>n Zeitpunkt t 0 um dieKonstante c erhöht, son<strong>de</strong>rn auch darüber hinaus.18


5 <strong>Temporale</strong> DatenanalyseUm die zuvor vorgestellten temporalen Muster ausfindig zu machen, ist eine ausführlicheAnalyse <strong>de</strong>r Daten notwendig. In diesem Abschnitt wer<strong>de</strong>n <strong><strong>de</strong>s</strong>halb Verfahrenvorgestellt mit <strong>de</strong>ren Hilfe beispielsweise sequentielle Muster gefun<strong>de</strong>n wer<strong>de</strong>nkönnen.Zu Beginn wird Bezug zu <strong>de</strong>n gängigen Verfahren <strong>de</strong>r nicht-temporalen Datenanalysegenommen. Zu <strong>de</strong>n bekannten Verfahren gehören in <strong>de</strong>r Regel die Klassifikationund das Clustering. Im Anschluss wird <strong>de</strong>r sogenannte GSP-Algorithmus,<strong>de</strong>r sich mit sequentiellen Muster beschäftigt. Eine Optimierung <strong><strong>de</strong>s</strong> GSP stellt <strong>de</strong>rSPADE-Algorithmus“ dar, <strong>de</strong>r ebenfalls in diesem Kapitel ausgeführt wird. Abschließendwird dieses Kapitel noch einen kurzen Einblick in die Analyse temporaler”Assoziationsregeln geben.5.1 KlassifikationDie Klassifikation gehört zu <strong>de</strong>n bekanntesten Verfahren <strong>de</strong>r Datenanalyse. Währendsie in vielen Anwendungen <strong><strong>de</strong>s</strong> <strong>Data</strong> <strong>Mining</strong> erfolgreich ist, gibt es hierfür im Bereich<strong>de</strong>r temporalen Daten wenig Verwendung. Denn gera<strong>de</strong> die Kerni<strong>de</strong>e, das Einteilenin unterschiedliche Klassen stellt sich als schwierig dar. Dies bestätigt auch <strong>de</strong>rMangel an passen<strong>de</strong>r Literatur [AO01]. Die folgen<strong>de</strong>n Darstellungen sollen kurzaufzeigen, in welche Richtung es bereits Klassifikationsansätze gibt.5.1.1 VerschmelzungEin Ansatz probiert Sequenzen durch Verschmelzung (engl. to merge) zu klassifizieren[KP98]. Dabei wer<strong>de</strong>n zwei unterschiedliche Sequenzen mit einan<strong>de</strong>r verschmolzen,so dass das Ergebnis ein Kompromiss zwischen diesen bei<strong>de</strong>n Sequenzenist. Die wie<strong>de</strong>rholte Verwendung <strong><strong>de</strong>s</strong> so genannten Merge-Operators ermöglicht dieKombination mehrerer Sequenzen. Bei <strong>de</strong>r Verschmelzung wird ein so genannterEinflussfaktor benutzt, um <strong>de</strong>n Einfluss <strong>de</strong>r zu verschmelzen<strong>de</strong>n Sequenzen in dieneue Sequenz zu kontrollieren. Wer<strong>de</strong>n also zwei Sequenzen verschmolzen, gibt dieserFaktor für je<strong>de</strong> Ursprungssequenz an, ob die Sequenz im Vergleich zur neuenSequenz eine Verallgemeinerung o<strong>de</strong>r eine Spezialisierung darstellt. Je nach Ausprägungdieses Faktors entsteht eine generalisierte Klasse (positiver Faktor) o<strong>de</strong>reine spezialisierte Klasse (negativer Faktor). Dieses Verfahren wird entsprechend oftwie<strong>de</strong>rholt bis eine bestimmte Anzahl von Klassen entstan<strong>de</strong>n ist. Lei<strong>de</strong>r funktioniertdieser Vorgang nur mit wenigen Sequenzen, da sie für diesen Vorgang graphischdarstellbar sein müssen. Möglich ist die z.B. mit EKG-Daten, Aktienwerten etc..5.1.2 Weitere AnsätzeProblematisch bei <strong>de</strong>r Klassifizierung ist, dass Daten meist so hoch dimensioniertsind, dass eine Zuordnung zu bestimmten Klassen unter unterschiedlichen Gesichtspunktenmöglich ist. I<strong>de</strong>e ist nun, dass man einen Mechanismus verwen<strong>de</strong>t, <strong>de</strong>r dierelevanten Daten extrahiert und aufgrund dieser eine Klassifizierung vornimmt. Dabeisucht man innerhalb <strong>de</strong>r Sequenzen nach häufigen Subsequenzen und verwen<strong>de</strong>tdiese als relevante Kennzeichen. Steht fest wonach die Daten klassifiziert wer<strong>de</strong>n sollen,können die traditionellen Verfahren nach Bayes o<strong>de</strong>r Winnow verwen<strong>de</strong>t wer<strong>de</strong>n[LZO99].5.2 ClusteringDas grundsätzliche Problem beim Clustern von temporalen Daten ist die Ermittlung<strong>de</strong>r Anzahl von Clustern, um die unterschiedlichen Sequenzen darzustellen und19


GSP-AlgorithmusF k = {häufige 1er-Seq.};for (k = 2; F k−1 ≠ 0; k = k + 1) doC k =Menge <strong>de</strong>r Kandidaten <strong>de</strong>r k-Seq.;for alle Kun<strong>de</strong>n-Seq. S in <strong>de</strong>r DB doErhöhe Zähler für alle α ∈ C k enthalten in SF k = {α ∈ C k |α.sup ≥ min sup};Menge aller häufigen Sequenzen = ∪ k F k ;Abbildung 6: GSP-Algorithmusdie initialen Parameter festzulegen. Wie schon bei <strong>de</strong>r Klassifizierung ist es schwierig,Sequenzen mit einan<strong>de</strong>r zu vergleichen. Hier muss ein aussagekräftiger Maßstabgefun<strong>de</strong>n wer<strong>de</strong>n, an Hand <strong><strong>de</strong>s</strong>sen Sequenzen als ähnlich bezeichnet wer<strong>de</strong>n können.COBWEBEin Ansatz <strong><strong>de</strong>s</strong> Clustering von temporalen Daten ist die Verwendung einer hierarchischenClustering-Metho<strong>de</strong>. Der entsprechen<strong>de</strong> Algorithmus nennt sich COBWEB[Fis87]. COBWEB funktioniert in zwei Stufen. Zuerst wer<strong>de</strong>n die Elemente einerSequenz gruppiert und dann die Sequenzen selbst. In Bezug auf temporale Datenstellt <strong>de</strong>r erste Schritt kein größeres Problem dar. Ganz im Gegensatz dazu allerdings<strong>de</strong>r zweite Schritt: Hier ist es notwendig die Sequenzen zu generalisieren, waswie<strong>de</strong>rum voraussetzt, dass es einen gemeinsamen Nenner gibt, <strong>de</strong>r beschreibt, wasin verschie<strong>de</strong>nen Sequenzen gemeinsam ist.5.3 Analyse sequentieller Muster5.3.1 GSP-AlgorithmusGSP steht für ”Generalized Sequential Pattern“. Wie bereits oben erwähnt han<strong>de</strong>ltes sich bei diesem Algorithmus um eine Anlehnung an <strong>de</strong>n Apriori-Algorithmus.Laut Mohammed J. Zaki [Zak97] han<strong>de</strong>lt es sich bei diesem Algorithmus um <strong>de</strong>nbesten existieren<strong>de</strong>n Algorithmus für das Auffin<strong>de</strong>n sequentieller Muster. Apriori-Derivate gibt es mehrere. Zwei dieser Algorithmen, AprioriSome und DynamicSomegenerieren ausschließlich die maximalen sequentiellen Muster. Das heißt, sie fin<strong>de</strong>nnur die Muster mit <strong>de</strong>r maximalen Anzahl an Sequenzen. Oftmals wer<strong>de</strong>n aber alleMuster benötigt, das heißt, dass auch Muster, die nur aus zwei Sequenzen besteheninteressant sind. Diese Ansätze waren <strong><strong>de</strong>s</strong>halb unzureichend. Mit <strong>de</strong>r Veröffentlichungvon AprioriAll wur<strong>de</strong> dies geän<strong>de</strong>rt. Der im Folgen<strong>de</strong>n vorgestellte GSP setztauf <strong>de</strong>m AprioriAll auf und optimiert ihn hinsichtlich <strong>de</strong>r Geschwindigkeit um das20fache [Zak97].FunktionsweiseIm ersten Durchgang <strong><strong>de</strong>s</strong> Allgorithmus wer<strong>de</strong>n für k = 1 alle 1er-Sequenzen bzw. alleItems gezählt. Von <strong>de</strong>n Sequenzen, die abhängig von <strong>de</strong>r minimalen Unterstützungals häufig bestimmt wur<strong>de</strong>n, wer<strong>de</strong>n nun die die Kandidaten für die häufigen 2er-Sequenzen gebil<strong>de</strong>t (k = 2). Erneut wird die Unterstützung ermittelt und alle häufigenSequenzen wer<strong>de</strong>n Kandidaten für <strong>de</strong>n nächsten Durchgang. Dieser Vorgangwird so lange wie<strong>de</strong>rholt bis alle häufigen Sequenzen gefun<strong>de</strong>n wur<strong>de</strong>n. Der GSPmacht also für je<strong>de</strong>n Level (1er-/2er-/...-Sequenzen) eine Suche über die Datenbank(Scan).Der abgebil<strong>de</strong>te Algorithmus (siehe Abbildung 6) enthält in <strong>de</strong>r ersten Zeile alle 1er20


CID TT Items1 10 C D1 15 A B C1 20 A B F1 25 A C D F2 15 A B F2 20 E3 10 A B F4 10 D G H4 20 B F4 25 A G HTabelle 1: Tabellarische Darstellung <strong>de</strong>r Transaktionen [Zak97]Sequenzen. Die FOR-Schleife über die folgen<strong>de</strong>n vier Zeilen ermittelt die jeweiligenKandidaten während die innere FOR-Schleife in <strong>de</strong>r vierten Zeile die Unterstützungermittelt. Das Ergebnis in <strong>de</strong>r letzten Zeile ist die Menge aller häufigen Sequenzen.Im Detail funktioniert <strong>de</strong>r GSP folgen<strong>de</strong>rmaßen: Die Menge <strong>de</strong>r Sequenzen mitk = k − 1 wird mit sich selbst in einer JOIN-Operation verbun<strong>de</strong>n (Self-JOIN),die dann entstan<strong>de</strong>ne Menge bil<strong>de</strong>t die Kandidaten für <strong>de</strong>n nächsten Durchgang.In einer weiteren Phase wer<strong>de</strong>n alle Sequenzen entfernt, bei <strong>de</strong>nen min<strong><strong>de</strong>s</strong>tens eineSubsequenz nicht häufig (genug) ist. Die einzelnen Kandidaten-Sequenzen wer<strong>de</strong>nin einem Hash-Baum gespeichert. Das Zählen <strong>de</strong>r Unterstützung geschieht in einemweiteren Schritt. Um alle Kandidaten innerhalb <strong>de</strong>r Kun<strong>de</strong>nsequenz S (siehe Algorithmus)zu fin<strong>de</strong>n, bil<strong>de</strong>t man alle k-Subsequenzen von S. Stimmt ein Kandidatim Hash-Baum mit einer <strong>de</strong>r Subsequenzen überein, wird sein Zähler erhöht.Nachteil <strong><strong>de</strong>s</strong> GSPNachteilig ist, dass <strong>de</strong>r GSP für je<strong>de</strong>n Level einen Datebankscan macht. Wenn dielängste Sequenz k lang ist, wer<strong>de</strong>n k Datenbankdurchgänge benötigt. Dies erzeugthohe Input-Output-Kosten. Des Weiteren wer<strong>de</strong>n die einzelnen Sequenzen in komplexenHash-Strukturen gespeichert, was sich nachteilig auf die Performance auswirkt.Praktisches BeispielGegeben sind die acht Items A bis H, vier Kun<strong>de</strong>n und zehn Transaktionen. Dieminimale Häufigkeit soll 50% betragen und entspricht damit zwei Kun<strong>de</strong>n. Gegebenist außer<strong>de</strong>m die Tabelle 1, die in <strong>de</strong>r ersten Spalte <strong>de</strong>n Kun<strong>de</strong>nbezeichner CID(engl. Customer-ID), in <strong>de</strong>r zweiten Zeile die Transaktionszeit T T und in <strong>de</strong>r drittenZeile die gekauften Items enthält. Zu sehen ist, dass <strong>de</strong>r Kun<strong>de</strong> mit CID = 1 vierTransaktionen, Kun<strong>de</strong> 2 zwei Transaktionen, Kun<strong>de</strong> 3 eine Transaktion und Kun<strong>de</strong>4 drei Transaktionen tätigt.Der GSP wür<strong>de</strong> jetzt die einzelnen Kun<strong>de</strong>ntransaktionen mit <strong>de</strong>n vorhan<strong>de</strong>nenacht Items vergleichen und die entsprechen<strong>de</strong>n häufigen Sequenzen ermitteln. Diegefun<strong>de</strong>n Sequenzen sind in (27) zu sehen.F 1 = {(A)[4], (B)[4], (D)[2], (F )[4]} (27)F 2 = {(AB)[3], (AF )[3], (B ↦→ A)[2], (BF )[4],(D ↦→ A)[2], (D ↦→ B)[2], (D ↦→ F )[2], (F ↦→ A)[2]}F 3 = {(ABF )[3], (BF ↦→ A)[2], (D ↦→ BF )[2],(D ↦→ B ↦→ A)[2], (D ↦→ F ↦→ A)[2]}21


F 4 = {(D ↦→ BF ↦→ A)[2]}Zu <strong>de</strong>n 1er-Sequenzen gehören die Items A, B, D und F . Die Items C und E sindausgeschie<strong>de</strong>n, weil sie bei weniger als 50% <strong>de</strong>r Kun<strong>de</strong>n aufgetreten sind. Es folgendie 2er- und 3er-Sequenzen und zum Schluss eine vierer Sequenz. In <strong>de</strong>n rechteckigenKlammern wird die Häufigkeit <strong><strong>de</strong>s</strong> jeweiligen Items bzw. <strong>de</strong>r Subsequenz notiert.Aus <strong>de</strong>n gefun<strong>de</strong>nen Sequenzen lassen sich nun Regeln ableiten. BF“ beispielsweise”existiert viermal und ABF“ existiert dreimal. Eine Regel wäre nun, dass wenn”” BF“ auftritt zu 75% bzw. drei von vier Mal auch A“ eintritt. Man sagt, die Regel”(BF ) ↦→ (BF A) hat eine Konfi<strong>de</strong>nz von 75%. Dem zugrun<strong>de</strong> liegt folgen<strong>de</strong>r kleinerAlgorithmus:RegelAlg(F, min konf) :for alle häufigen Sequenzen β ∈ F dofor alle Subsequenzen α ≺ β dokonf = fr(β)/fr(α) :if (konf ≥ min konf) thenAusgabe <strong>de</strong>r Regel α ↦→ β und konfMan sieht, dass <strong>de</strong>m Algorithmus die Parameter ”F“ für die Sequenzen und ”min konf“für die Minimalkonfi<strong>de</strong>nz übergegeben wer<strong>de</strong>n. Für je<strong>de</strong> einzelne Sequenz β wirdnun geprüft ob es eine Sequenz α gibt, die in ihr enthalten ist bzw. die Subsequenzvon β ist. Für <strong>de</strong>n Fall, dass das zutrifft wird mitHäufigkeit(β)/Häufigkeit(α) (28)die Konfi<strong>de</strong>nz ermittelt. Ist diese Konfi<strong>de</strong>nz größer o<strong>de</strong>r gleich <strong>de</strong>r gewünschtenMinimalkonfi<strong>de</strong>nz, wur<strong>de</strong> eine neue Regel gefun<strong>de</strong>n, die im Format α ↦→ β und <strong>de</strong>rzugehörigen Konfi<strong>de</strong>nz ausgegeben wird.5.3.2 SPADESPADE be<strong>de</strong>utet Sequential PAttern Discovery using Equivalence classes [Zak97].Der SPADE-Algorithmus wur<strong>de</strong> entwickelt um <strong>de</strong>n vorangegangen GSP zu optimieren.Die Autoren kritisieren, wie schon oben erwähnt, die häufigen Datenbankoperationensowie die Speicherung in Hash-Strukturen. Deshalb macht SPADEgewöhnlich nur drei Datenbankscans und auch auf die kritisierten Hash-Strukturenwird verzichtet. Das Berechnen <strong>de</strong>r häufigen Sequenzen erfolgt mit einfachen JOIN-Operationen, weshalb sich dieser Algorithmus für eine direkte Integration mit einemDBMS anbietet.SPADE unterteilt das Problem in mehrere kleine Unterprobleme, die unabhängigvoneinan<strong>de</strong>r gelöst wer<strong>de</strong>n können. Zur Erklärung <strong>de</strong>r Funktionsweise wird das Beispielaus <strong>de</strong>m GSP übernommen. Dort gab es eine 1er-Sequenz mit A, B, D, F . Nunwer<strong>de</strong>n folgen<strong>de</strong> Definitionen vorgenommen: x ist <strong>de</strong>r Bezeichner für ein beliebiges,aber häufiges Item und B ist eine Menge häufiger Sequenzen. Das sogenannteTemplate x[B] bezeichnet die Menge {xβ|β ∈ B} und das Template x ↦→ [B] bezeichnetdie Menge {x ↦→ β|β ∈ B}. x ist also das Präfix für alle Sequenzen in B.Mit f(i)x wird nun die Menge aller i-Sequenzen bezeichnet, die das Präfix x habeno<strong>de</strong>r <strong>de</strong>ren Präfix lexikographisch gesehen größer ist als x. Für i = 1 wären das alsof1A = {ABDF }, f1B = {BDF }, f1D{DF } und f1F = {F }. Diese 1er-Sequenzensind in <strong>de</strong>r Darstellung, siehe Abbildung 7, ganz unten zu sehen. Mit je<strong>de</strong>r Zeilenach oben wer<strong>de</strong>n die Mengen aus <strong>de</strong>n vorangegangenen Zeilen übernommen.Die 2er-Sequenzen A[f1B] sind ausgeschrieben, gemäß obiger Definition, in (29)zu sehen.A[BDF ] (29)22


Abbildung 7: SPADE: Erstellung <strong>de</strong>r Subsequenzen [Zak97]o<strong>de</strong>r{(AB), (AD), (AF )}{(A ↦→ A), (A ↦→ B), (A ↦→ D), (A ↦→ F )} (30)Die Auflösung von A ↦→ [ABDF ] ist in (30) zu sehen. In <strong>de</strong>r nächsten Zeile stehennun alle 2er-Sequenzen, die jetzt nach <strong>de</strong>m selben Prinzip wie bei <strong>de</strong>n 1er-Sequenzenwie<strong>de</strong>r neu bezeichnet wer<strong>de</strong>n. Diese Blöcke dienen dann wie<strong>de</strong>rum als Quelle fürdie 3er-Sequenzen. Dieser Vorgang wird so lange wie<strong>de</strong>rholt bis alle Subsequenzenerstellt sind. Es gibt dann ein Gitter mit allen möglichen Subsequenzen.Das horizontale Schema <strong><strong>de</strong>s</strong> GSP benutzt eine Relation mit Kun<strong>de</strong>nbezeichner (cid),Transaktionsbezeichner (tid) und <strong>de</strong>n Items selbst (siehe Abbildung 1). SPADE verwen<strong>de</strong>tim Gegensatz dazu ein vertikales Datenbankschema. Hier wer<strong>de</strong>n je<strong>de</strong>m Item<strong>de</strong>r Kun<strong>de</strong>nbezeichner und <strong>de</strong>r Transaktionsbezeichner zugewiesen. Es han<strong>de</strong>lt sichdabei um die so genante ctid-Liste.Im Folgen<strong>de</strong>n wird nun für je<strong>de</strong> Sequenz solch eine Liste angelegt. Darüber hinausgehört zu je<strong>de</strong>r Sequenz ein Array mit <strong>de</strong>n Items dieser Sequzenz, ihre Unterstützungin Form eines Zählers und ein Integerwert, <strong>de</strong>r ihr Sequenz-Template bestimmt. Miteinem Bit-Wert wer<strong>de</strong>n in diesem Template die Relationen zwischen <strong>de</strong>n einzelnenItems vermerkt, 0 steht für keine Relation, entsprechend 1 für eine Relation. Damitlassen sich binäre Werte wie 111 ermitteln. Letzterer Wert steht für drei aufeinan<strong>de</strong>rfolgen<strong>de</strong> Relationen innerhalb einer Sequenz.23


Die Berechnung <strong>de</strong>r 1er-Sequenzen erfolgt mit einem Datenbankscan. Für je<strong><strong>de</strong>s</strong>Item wird die erwähnte ctid-Liste angelegt, in <strong>de</strong>n Speicher gela<strong>de</strong>n und die Unterstützunggezählt. Das Sequenz-Template hat logischerweise <strong>de</strong>n Wert 0. ZurErmittlung <strong>de</strong>r 2er-Sequenzen wird an Hand ihrer Schnittmengen die Häufigkeitberechnet. In diesem Falle wird kurzer Hand auch das horizontale Datenschemaverwen<strong>de</strong>t, um die Datenbankoperationen in diesem Schritt so gering wie möglichzu halten. Um nun die k-Sequenzen zu ermitteln, wer<strong>de</strong>n die häufigen Sequenzenauf Äquivalenz-Klassen verteilt, so dass die unterschiedlichen Klassen unabhängigvon einan<strong>de</strong>r verwen<strong>de</strong>t wer<strong>de</strong>n können. Die Klassen wer<strong>de</strong>n nun in absteigen<strong>de</strong>rReihenfolge bearbeitet, um das beschnei<strong>de</strong>n <strong>de</strong>r Kandidaten zu erleichtern. Zu Beginnenthält je<strong>de</strong> Klasse die 2er-Sequenzen bis dann im nächsten Schritt iterativdie Kandidaten für die nächste Stufe ermittelt wer<strong>de</strong>n. Je<strong>de</strong> Klasse erstellt dabeieine Menge neuer Klassen, die zum Schluss in eine Klasse mit <strong>de</strong>m neuen In<strong>de</strong>x kverschmolzen wer<strong>de</strong>n. Dieser Vorgang stoppt erst dann, wenn alle häufigen Klassen- und damit auch die Sequenzen - generiert wur<strong>de</strong>n.5.4 Analyse zeitlicher AssoziationsregelnZum Abschluss <strong>de</strong>r temporalen Datenanalyse soll noch kurz auf die Ermittlung temporalerAssoziationsregeln eingegangen wer<strong>de</strong>n. Die folgen<strong>de</strong>n Ausführungen orientierensich dabei an die Arbeit von Chris P. Rainsford [Rai99].Wie bereits im Kapitel <strong>de</strong>r zeitlichen Assoziationsregeln erläutert (siehe 4.2), han<strong>de</strong>ltes sich hierbei um eine Erweiterung <strong>de</strong>r bekannten Assoziationsregeln, die Zusammenhängezwischen Items innerhalb einer Transaktion beschreiben. Wenn mansich allerdings das praktische Beispiel eines Shops vor Augen führt, wo ein Kun<strong>de</strong> in<strong>de</strong>r Regel mehrere Transaktionen bzw. Einkäufe vornimmt, wird klar, dass Zusammenhängemit einem zeitlichen Horizont zusätzliche Informationen liefern können.Eine Regel wird mitX ⇒ Y ∧ P 1 ∧ P 2 · · · ∧ P n (31)notiert. X und Y sind bestimmte Attribute während P für ein Prädikat steht. DiePrädikate entsprechen Allens Taxonomie (siehe Abbildung 4) und können beliebigverknüpft wer<strong>de</strong>n. Rainsford verwen<strong>de</strong>t darüberhinaus Konfi<strong>de</strong>nzfaktoren c und tc,die für die Konfi<strong>de</strong>nz <strong>de</strong>r Regel bzw. <strong><strong>de</strong>s</strong> jeweiligen Prädikats gelten.Bei Allens Taxonomie gibt es dreizehn zeitliche Beziehungen, aber keine Verallgemeinerungen.In [Rai99] wird <strong><strong>de</strong>s</strong>halb darüberhinaus die Generalisierung von Freksa[Fre91] verwen<strong>de</strong>t, was <strong>de</strong>n Vorteil hat, dass zusätzliche, verallgemeinern<strong>de</strong> Regelngefun<strong>de</strong>n wer<strong>de</strong>n können.Der Vorgang <strong>de</strong>r Analyse wird in vier Phasen eingeteilt. In <strong>de</strong>r ersten Phase wer<strong>de</strong>nauf herkömmlichen Wege alle Assoziationsregeln in <strong>de</strong>n vorhan<strong>de</strong>n Daten gesucht.Um Zusammenhänge auch über <strong>de</strong>n Rahmen einer einzelnen Transaktion hinauszu fin<strong>de</strong>n, wer<strong>de</strong>n die Transaktionen eines je<strong>de</strong>n Kun<strong>de</strong>n dabei in ein gemeinsamesItemset überführt. Dies hat zur Folge, dass die 1. Normalform gebrochen wer<strong>de</strong>nmuß und in einem Tupel jeweils ein Kun<strong>de</strong> mit allen zugehörigen Items verbleibt.Dabei erhalten temporale Attribute eine beson<strong>de</strong>re Berücksichtigung in <strong>de</strong>m diedazugehörigen Zeitpunkte und Intervalle ebenfalls gespeichert wer<strong>de</strong>n.Nicht-temporale Items wer<strong>de</strong>n in dieser Phase entfernt, da sie nicht Teil einer zeitlichenBeziehung sein können.Erst wenn die nicht-temporalen Regeln aufgestellt sind, wird unter <strong>de</strong>nen, die diegewünschte Unterstützung erreichen, die Kandidatenliste für die temporalen Regelnerstellt.In <strong>de</strong>r zweiten Phase wer<strong>de</strong>n alle zeitlichen Beziehungen gesucht. Besteht eine Regeldabei aus z.B. drei Items müssen Beziehungen zwischen allen drei Items untersucht24


while not EOFread next itemset into current itemset;y = first candidateitem relationship;R y = rule associated with y;for x = 0 to candcount dobeginif (R y is a subset of the itemset)begin<strong>de</strong>termine relationship between the two items in y;increment the relationship count for this for thisrelationship for the candidate y;endy = next candidate item relationship;R y = rule associated with y;en<strong>de</strong>ndwhileAbbildung 8: Algorithmus <strong>de</strong>r dritten Phasewer<strong>de</strong>n. Tupel, die eine Regel unterstützen, wer<strong>de</strong>n mit Allens Taxonomie verglichen.Für je<strong>de</strong> <strong>de</strong>r dreizehn Beziehungen und je<strong><strong>de</strong>s</strong> Attributpaar wird ein Zählerangelegt. Diese Zähler wer<strong>de</strong>n beim nächsten Datenbankscan gepflegt und zeigendann an, ob zwischen <strong>de</strong>n einzelnen Elementen temporale Beziehungen bestehen.Zur Vereinfachung wird in dieser Phase davon ausgegangen, dass ein Item nur einmalin einem Itemset sein kann, ebenso wer<strong>de</strong>n die Generalisierungen von Freksa nochvernachlässigt. Der Algorithmus in Abbildung 8 soll die Funktionsweise dieser Phasever<strong>de</strong>utlichen. In <strong>de</strong>r letzten Phase geht es nun darum mit Hilfe <strong>de</strong>r Zähler die bestehen<strong>de</strong>nBeziehungen zu bestimmen. Sollte die Unterstützung für die Beziehungennach Allen nicht reichen, existieren vielleicht allgemeinere Beziehungen wie die nachFreksa. Die sogenannten ”Nachbarschaftsbeziehungen“ o<strong>de</strong>r auch ”Semi-Intervallbasieren<strong>de</strong>“-Beziehungenfassen jeweils einige von Allens Beziehungen zusammen.Das Ergebnis sind dann die bereits genannten Assoziationsregeln mit <strong>de</strong>n jeweiligenPrädikaten.6 AusblickJe besser man etwas personalisieren möchte, <strong><strong>de</strong>s</strong>to notwendiger sind temporale<strong>Aspekte</strong>. Im Rahmen <strong><strong>de</strong>s</strong> Projekts ”DIKO“ (<strong>Data</strong> in Knowlowdge out) wird es sichum einen Kartenanbieter han<strong>de</strong>ln, <strong>de</strong>r Händler unterschiedlicher Art bei <strong>de</strong>r Personalisierungihrer Angebote unterstützen will. Mit Hilfe von Kun<strong>de</strong>nkarten wer<strong>de</strong>n<strong>de</strong>mographische Daten erfasst, die mit <strong>de</strong>n getätigten Transaktionen <strong><strong>de</strong>s</strong> Karteninhabersin Verbindung gebracht wer<strong>de</strong>n können. Durch die Anwendung von <strong>Data</strong><strong>Mining</strong> und <strong>de</strong>n entsprechen<strong>de</strong>n Assoziationsregeln etc. wird es möglich sein, Vorhersagenüber das Einkaufsverhalten bestimmter Kun<strong>de</strong>n und Kun<strong>de</strong>ngruppen zutreffen. Man wird von Milch auf Brot und von Brot auf Butter schließen können undkann so <strong>de</strong>n Käufer bei seinem Einkauf ”unterstützen“. Diese Unterstützung durch<strong>de</strong>n Händler führt natürlich auch dazu, dass <strong>de</strong>r Umsatz zu gesteigert wird, aberobjektiv gesehen kann auch <strong>de</strong>r Kun<strong>de</strong> bei qualitativ hochwertiger Personalisierungseinen Nutzen haben.Das Thema ”<strong>Temporale</strong> <strong>Aspekte</strong>“ kann wie folgt von großem Vorteil für DIKOsein. In <strong>de</strong>r Mo<strong>de</strong>llierungsphase können alle Schmemata um temporale Attribute25


ergänzt wer<strong>de</strong>n. Durch diese, anfangs vielleicht mühsame Erweiterung besteht in einerspäteren Phase ein großes Potential für die Datenanalyse. Nur so können temporaleUntersuchungen vorgenommen wer<strong>de</strong>n. Die bekannten <strong>Data</strong> <strong>Mining</strong>-Metho<strong>de</strong>n,wie u.a. Clustering, Klassifikation und Assoziationsregeln können so mit temporalenMetho<strong>de</strong>n ergänzt wer<strong>de</strong>n. Es können zeitliche Verläufe beobachtet wer<strong>de</strong>n undauch zeitliche Muster o<strong>de</strong>r Assoziationen gefun<strong>de</strong>n wer<strong>de</strong>n, die unter Umstän<strong>de</strong>nvon beson<strong>de</strong>rer Be<strong>de</strong>utung sind.Beispiele für Ergebnisse einer temporalen Betrachtung, insbeson<strong>de</strong>re mögliche sequentielleMuster und zeitliche Assoziationsregeln wur<strong>de</strong>n im vorangegangenen Textausführlich beschrieben. Viele dieser Beispiele können 1:1 auf dieses Projekt übertragenwer<strong>de</strong>n. Dieser Beitrag kann im Projektgruppenkontext also dazu beitragen,dass sich die Projektgruppe gezielt um eine Personalisierung unter temporalen<strong>Aspekte</strong>n bemüht, um einerseits <strong>de</strong>m Konsumenten einen einfachen und zuvorkommen<strong>de</strong>nEinkauf zu ermöglichen und an<strong>de</strong>rerseits <strong>de</strong>n Umsatz <strong><strong>de</strong>s</strong> Händlers zusteigern.Mit Hilfe temporaler Daten kann ein Kun<strong>de</strong>nverhalten optimaler analysiert wer<strong>de</strong>n.Und je besser ein Kun<strong>de</strong>nverhalten vorausgesagt wer<strong>de</strong>n kann, <strong><strong>de</strong>s</strong>to gezielter kannein personalisiertes Angebot gerichtet sein.7 SchlussbetrachtungAuf <strong>de</strong>n vergangenen Seiten wur<strong>de</strong>n ausgewählte Techniken und Verfahren vorgestellt,die sich mit <strong>de</strong>r ”temporalen Seite“ <strong><strong>de</strong>s</strong> <strong>Data</strong> <strong>Mining</strong> beschäftigen. Im erstenKapitel wur<strong>de</strong>n die Repräsentationsformen dargestellt. Dazu gehören einerseits dietemporalen Datenbanken und an<strong>de</strong>rerseits die Zeitreihen. Je nach gewähltem Datenmo<strong>de</strong>lllassen sich hier enorme Vorteile bei <strong>de</strong>r Speicherung <strong>de</strong>r Daten gewinnen.Abhängig von <strong>de</strong>r zu benutzen<strong>de</strong>n Anwendung können Objekt-Historien, Rollback-Relationen o<strong>de</strong>r eine Kombination dieser eingesetzt wer<strong>de</strong>n. Bei <strong>de</strong>r Verwendung <strong>de</strong>rTupelzeitstempelung lassen sich konventionellen DBMS ebenfalls für die Speicherungtemporaler Daten nutzen. Die vorgestellten Zeitreihen bzw. Sequenzen zeigeneinen an<strong>de</strong>ren Weg <strong>de</strong>r Datenspeicherung auf. Ihr Verständnis ist wichtig für dasAnwen<strong>de</strong>n <strong>de</strong>r im dritten Kapitel vorgestellten Muster und ihren im vierten Teil gezeigtenAnalysemetho<strong>de</strong>n. Grundsätzlich lassen sich aus temporalen Datenbankenje<strong>de</strong>rzeit Sequenzen bil<strong>de</strong>n.Die vorgestellten Metho<strong>de</strong>n sind einer Auswahl zahlreicher Möglichkeiten. Das Auffin<strong>de</strong>nvon sequentiellen Mustern und zeitlichen Assoziationsregel kann als elementarfür das temporale <strong>Data</strong> <strong>Mining</strong> bezeichnet wer<strong>de</strong>n. Die meisten weiteren Ansätzelehnen sich oftmals an diese an o<strong>de</strong>r stellen Lösungen für sehr spezielle Anwendungendar.In <strong>de</strong>r Regel bringt je<strong><strong>de</strong>s</strong> temporale Muster seine eigenen Datenanalysetechnikenmit. Die hier vorgestellten Algorithmen fin<strong>de</strong>n allerdings so o<strong>de</strong>r in ähnlicher Formbei verschie<strong>de</strong>nen Mustern ihre Anwendung. Abschließend lässt sich sagen, dass essich bei <strong>de</strong>m temporalen <strong>Data</strong> <strong>Mining</strong> noch um ein relativ neues Gebiet han<strong>de</strong>lt, daserst seit 12-15 Jahren populär ist. Die praktische Anwendung ist über <strong>de</strong>n Bereichvon Forschung und Wissenschaft nur vereinzelt hinausgekommen. Auch die Dokumentationin Literatur und Internet weist Lücken auf, die darauf schließen lassen,dass temporale Datenhaltung längst nicht zum Alltag gehört. Insgesamt stellen gera<strong>de</strong>die temporalen <strong>Aspekte</strong> ein enormes Potential dar, dass sowohl in Forschungund Wissenschaft als auch im kommerziellen Bereich seine Anwendung fin<strong>de</strong>n wird.26


GlossarAttributzeitstempelung Je<strong><strong>de</strong>s</strong> Attribut einer Datenbank erhält eigene Temporalisierung.Je nach Mo<strong>de</strong>ll wer<strong>de</strong>n <strong>de</strong>n zeitabhängigen Attributen TransaktionsundGültigkeitszeit hinzugefügt, Seite 4.Bitemporales Mo<strong>de</strong>ll Beim bitemporalen Mo<strong>de</strong>ll wer<strong>de</strong>n sowohl Transaktionsalsauch Gültigkeitszeit gespeichert, Seite 5.Chronon Ein Chronon ist die kleinste, gewählte Zeiteinheit innerhalb eines Datenbankmo<strong>de</strong>lls,Seite 2.Granularität Die Granularität gibt die Einteilung <strong>de</strong>r Zeiteinheiten an. Eine hoheGranularität be<strong>de</strong>utet sehr kurze Zeitabschnitte, Seite 2.Gültigkeitszeit Die Gültigkeitszeit gibt <strong>de</strong>n Zeitraum an, zu <strong>de</strong>m ein Tupel in <strong>de</strong>rmo<strong>de</strong>llierten Welt wahr ist, Seite 4.ItemItems (o<strong>de</strong>r Literale) sind Elemente, <strong>de</strong>ren Mengen die Werte <strong>de</strong>r Sequenzenbil<strong>de</strong>n. Ein Item kann z.B. ein Element eines Warenkorbs sein, <strong>de</strong>r wie<strong>de</strong>rumfür eine Transaktion steht, Seite 6.Objekt-Historie Hier wer<strong>de</strong>n nur Gültigkeitszeiten verwaltet. Es kann für je<strong><strong>de</strong>s</strong>Objekt festgestellt wer<strong>de</strong>n, wann es in <strong>de</strong>r mo<strong>de</strong>llierten Welt wahr war,Seite 9.Rollback-Relation Hier wird die Transaktionszeit gespeichert. Transaktionen könnenso rückgängig gemacht wer<strong>de</strong>n, Seite 19.Schnappschuss-Datenbank Momentaufnahme einer temporalen Datenbank bzw.Bezeichnung einer konventionellen nicht-temporalen Datenbank, Seite 3.Sequenz Bei einer Sequenz han<strong>de</strong>lt es sich um eine Folge von Werten, die sich aufaufeinan<strong>de</strong>r folgen<strong>de</strong> Zeitpunkte o<strong>de</strong>r Zeiträume bezieht, Seite 6.Subsequenz Eine Subsequenz ist eine Folge von Werten, die in einer an<strong>de</strong>ren Sequenzenthalten ist. Dabei ist nicht die Übereinstimmung aller Werte entschei<strong>de</strong>nd,son<strong>de</strong>r die Reihenfolge selbiger, Seite 7.<strong>Temporale</strong> Datenbank Eine temporale Datenbank ist eine Datenbank, die umtemporale <strong>Aspekte</strong> wie Transaktions- und Gültigkeitszeit erweitert wur<strong>de</strong>,Seite 3.Transaction Time siehe Transaktionszeit, Seite 4.Transaktion Vorgang <strong><strong>de</strong>s</strong> Speicherns in die Datenbank bzw. Vornehmen einerÄn<strong>de</strong>rung in <strong>de</strong>r Datenbank, Seite 4.Transaktionszeit Zeitpunkt zu <strong>de</strong>m eine Transaktion geschieht, Seite 4.Tupelzeitstempelung Die Zeitstempelung erfolgt hier pro Tupel. Dabei kannnicht pro Attribut unterschie<strong>de</strong>n wer<strong>de</strong>n. Diese Zeitstempulng entspricht<strong>de</strong>r ersten Normalform und ist mit konventionellen DBMS konform, Seite 4.Valid Time siehe Gültigskeitszeit, Seite 4.Zeitreihe siehe Sequenz, Seite 6.Zeitstempelung siehe Attribut- bzw. Tupelzeistempelung, Seite 4.27


Literatur[All83] J .F. Allen. Maintaining Knowledge About Temporal Intervals, 1983[AO01][AS86][Fis87][FPSS96][Fre91][Goi]Cláudia M. Antunes und Arlindo L. Oliveira. Temporal <strong>Data</strong><strong>Mining</strong>: An Overview, 2001Ilsoo Ahn und Richard Snodgrass. Performance evaluation of atemporal database management system. International Conference onManagement of <strong>Data</strong> and Symposium on Principles of <strong>Data</strong>base Systems,Seiten 96–107, 1986D. Fisher. Knowledge Acquisition via incremental conceptual Clustering,1987Usama M. Fayyad, Gregory Piatetsky-Shapiro und PadhraicSmyth. Knowledge Discovery and <strong>Data</strong> <strong>Mining</strong>: Towards a UnifyingFramework. In Knowledge Discovery and <strong>Data</strong> <strong>Mining</strong>, Seiten 82–88.1996. URL citeseer.nj.nec.com/fayyad96knowledge.htmlC. Freksa. Conceptual Neighbourhood and its Role in Temporal andSpatial Reasoning. IMACS Workshop on Decision Support Systems andQualitative Reasoning, 1991Martin Goik. Datenbanken und ihre Anwendungen[Hip01] Hippner. <strong>Data</strong> <strong>Mining</strong> im Marketing, 2001[HK01] Jiawei Han und Micheline Kamber. <strong>Data</strong> <strong>Mining</strong>: Concepts andTechniques. Morgan Kaufmann Publishers, 2001[JCG + 92] Christian S. Jensen, James Clifford, Shashi K. Gadia, ArieSegev und Richard T. Snodgrass. A Glossary of Temporal<strong>Data</strong>base Concepts. SIGMOD Record, 21(3):35–43, 1992. URLciteseer.nj.nec.com/jensen92glossary.html[JDS98]Christian S. Jensen, Curtis Dyreson und Richard T. Snodgrass.The Consensus Glossary of Temporal <strong>Data</strong>base Concepts. Technicalreport, Timecenter, Feber, 1998[Kai00] Alexan<strong>de</strong>r Kaiser. Die Mo<strong>de</strong>llierung Zeitbezogener Daten. PeterLand Verlag, Frankfurt am Main, 2000[KF00][KM96][KP98]Po-Shan Kam und Ada Wai-Chee Fu. Discovering Temporal Patternsfor Interval-Based Events. In Yahiko Kambayashi, Mukesh K.Mohania und A. Min Tjoa, editors, Second International Conferenceon <strong>Data</strong> Warehousing and Knowledge Discovery (DaWaK 2000),volume 1874, Seiten 317–326. Springer, London, UK, 2000. URLciteseer.nj.nec.com/327404.htmlGerhard Knolmayer und Thomas Myrach. Zur Abbildung zeitbezogenerDaten in betrieblichen Informationssystemen. Wirtschaftsinformatik,38:63–74, 1996Eamonn Keogh und M. Pazzani. An enhanced representation of timeseries which allows fast and accurate classification, clustering andrelevance feedback. In R. Agrawal, P. Stolorz und G. Piatetsky-Shapiro, editors, Fourth International Conference on Knowledge Discoveryand <strong>Data</strong> <strong>Mining</strong> (KDD’98), Seiten 239–241. ACM Press, New YorkCity, NY, 1998. URL citeseer.nj.nec.com/keogh98enhanced.html28


[Lan96][Lit98]Arne Lange. Anbindung <strong>de</strong>r <strong>Temporale</strong>n Anfragesprache TSQL2 anein Objektorientiertes Datenbanksystem. Universität Rostock, 1996Hans Peter Litz. Statistische Metho<strong>de</strong>n in <strong>de</strong>n Wirtschafts- und Sozialwissenschaften.Ol<strong>de</strong>nbourg, 1998[LNWJ01] Yingjiu Li, Peng Ning, Xiaoyang Sean Wang und SushilJajodia. Discovering Calendar-based Temporal AssociationRules. In TIME, Seiten 111–118. 2001. URLciteseer.nj.nec.com/li01discovering.html[LZO99][M0101][Mar99][MY01][PAT99][Rai99][SH02][Sno95][Wij01]Neal Lesh, Mohammed J. Zaki und Mitsunori Ogihara. <strong>Mining</strong>Features for Sequence Classification. In S. Chaudhuri und D. Madigan,editors, Fifth ACM SIGKDD International Conference on KnowledgeDiscovery and <strong>Data</strong> <strong>Mining</strong>. ACM Press, San Diego, 1999. URLciteseer.nj.nec.com/lesh99mining.htmlMeyers grosses Taschenlexikon in 25 Bän<strong>de</strong>n. Standardausgabe.. BibliographischesInstitut, Mannheim, 2001Othmar Marti. Raum und Zeit: Eine Physikalische Zeitreise. AbteilungExperimentelle Physik, Universität Ulm, 1999R. Douglas Martin und Victor Yohai. <strong>Data</strong> <strong>Mining</strong> for UnusualMovements in Temporal <strong>Data</strong>. 7th ACM SIGKDD International Conferenceon Knowledge Discovery and <strong>Data</strong> <strong>Mining</strong> (KDD-2001), 2001Stefano Paraboschi Paolo Atzeni, Stefano Ceri und RiccardoTorlone. <strong>Data</strong>base Systems - Concepts, Languages and Architectures.McGraw-Hill, 1999Chris P. Rainsford. Accommodating Temporal Semantics in <strong>Data</strong><strong>Mining</strong> and Knowledge Discovery, 1999Peter Stahlknecht und Ulrich Hasenkamp. Einführung in DieWirtschaftsinformatik. Springer-Verlag, 2002Richard T. Snodgrass. The TSQL2 Temporal Query Language. KluwerAca<strong>de</strong>mic Publishers, Boston, 1995Jef Wijsen. Trends in <strong>Data</strong>bases: Reasoning and <strong>Mining</strong>. Ieee Trans.On Knowledge And <strong>Data</strong> Engineering, 13, 2001[WYM01] W. Wang, J. Yang und R. Muntz. Temporal association rules withnumerical attributes, 2001. URL citeseer.nj.nec.com/201771.html[Zak97] Mohammed Javeed Zaki. Fast <strong>Mining</strong> of Sequential Patternsin Very Large <strong>Data</strong>bases. Technical Report TR668, 1997. URLciteseer.nj.nec.com/zaki97fast.html29

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!