Quantitatives Frequent-Pattern Mining uber Datenstr omen

Die Seite wird erstellt Rory Schilling
 
WEITER LESEN
Quantitatives Frequent-Pattern Mining über Datenströmen

                                        Daniel Klan, Thomas Rohe
                                Department of Computer Science & Automation
                                           TU Ilmenau, Germany
                                         {first.last}@tu-ilmenau.de

                        Abstract                               tative Attribute vor. Die Anwendung der bekannten Fre-
                                                               quent Pattern Mining Verfahren führt hierbei oftmals nicht
     Das Aufdecken unbekannter Zusammenhänge                  zu den gewünschten Zielen bzw. der Berechnungsaufwand
     zählt zu einer der wichtigsten Aufgaben im Da-           ist nicht vertretbar. Basierend auf dieser Feststellung entwi-
     ta Mining. Für das Problem des Frequent Pat-             ckelten die Autoren in [11] erstmals ein Verfahren für das
     tern Mining über statischen Daten finden sich da-        Finden von Regeln, welche sowohl mit kategorischen Attri-
     her in der Literatur eine Vielzahl an Lösungen.          buten als auch mit quantitativen Attributen umgehen kann.
     Die Integration von Sensorik in nahezu jeden              Das vorgestellte Verfahren bildet dabei quantitative auf ka-
     Lebensbereich führt allerdings zu Datenmen-              tegorische Attribute ab. Die quantitativen Attribute wer-
     gen, welche mittels der klassischen Verfahren             den im wesentlichen durch Intervalle dargestellt, welche
     zumeist nicht mehr bewältigt werden können.             eine Menge von numerischen Werten aufnehmen können.
     Ein Paradigmenwechsel hin zur Datenstrom-                 Auf Basis dieser Definition präsentierten die Autoren einen
     Verarbeitung ist oftmals unumgänglich. Ein in-           angepassten Apriori-Algorithmus, welcher den Suchraum
     teressantes Problem, welches im Zusammenhang              zerlegt (diskretisiert) und anschließend durch Kombination
     mit der Verarbeitung von Sensordaten auftritt ist         der Teil-Intervalle Regeln findet.
     der prinzipiell stetige Wertebereich von Messun-             Es existieren eine Vielzahl von Anwendungsszenarien in
     gen. Die bekannten Lösungen sind für die Analy-         denen die Extraktion quantitativer Regeln bzw. das Finden
     se von kontinuierlichen Daten über stetigen Wer-         quantitativer Frequent Itemsets über Datenströmen von In-
     tebereichen nur bedingt geeignet. Im folgenden            teresse sind (z.B. Gebäudeüberwachung). Die in der Lite-
     soll mit dem F P 2 -Stream ein entsprechendes             ratur präsentierten Verfahren beziehen allerdings sich aus-
     Verfahren für die Analyse quantitativer häufiger        schließlich auf das Finden von Regeln über statischen Da-
     Muster über Datenströmen präsentiert werden.           tenbeständen. Für ein Verarbeitung von Datenströmen sind
                                                               diese ungeeignet. Zudem weisen die meisten Verfahren Be-
                                                               schränkungen auf, derart dass quantitative Attribute ledig-
1   Einleitung                                                 lich im Regel-Kopf auftreten dürfen.
Das Finden häufiger Muster (frequent pattern mining) ist         Die Arbeit ist im weiteren wie folgt aufgeteilt. Zunächst
Grundlage für eine Vielzahl von Data Mining Problemen         folgt in Abschnitt 2 ein kurzer Überblick über existieren-
(zum Beispiel der Korrelationsanalyse, oder dem Finden         de Arbeiten zum Thema. Anschließend wird in Abschnitt 3
von Sequenzen oder Perioden innerhalb des Datenstromes).       auf für das Verständnis notwendige Grundlagen eingegan-
Die populärste Anwendung für das Frequent Pattern Mi-        gen. In Abschnitt 4 folgt eine ausführliche Beschreibung
ning ist das Assoziation Rule Mining, bei welcher aus          des entwickelten Verfahrens, welche in Abschnitt 5 evalu-
Transaktionen Werte extrahiert und in Relation zueinander      iert werden soll.
gesetzt werden. Eine typische Anwendung ist die Analy-
se von Supermarkt-Transaktionen, bei welcher das Kauf-
verhalten der Kunden analysiert wird. Ziel ist dabei die
                                                               2   Verwandte Arbeiten
Detektion von Regeln, welche das Kaufverhalten einer re-       Eines der ersten Verfahren zum Finden von häufigen Mus-
präsentativen Menge von Kunden wiederspiegeln und an-         tern war das von Aggrawal et. al präsentierte Apriori-
hand derer anschließend die Verkaufsprozesse optimiert         Verfahren [1]. Die Grundlage des Ansatzes bildet die
werden können. Eine mögliche Regel ist “Bier → Chips         Annahme, dass sich häufige Muster ausschließlich aus
(10%)”, welche besagt, dass 10 Prozent aller Kunden, die       häufigen Teilmustern zusammensetzen können. Basierend
Bier gekauft haben auch Chips kaufen.                          auf dieser Heuristik erzeugt das Verfahren alle möglichen
   Wie die meisten Data Mining Verfahren, so wurde auch        k − itemset Kandidaten aus der Menge aller k − 1-itemset
das Frequent Pattern Mining ursprünglich für statische Da-   Kandidaten. Aufgrund der wiederholten Analyse der Daten
tenbestände entwickelt. In den letzten Jahren wurden die-     handelt es sich hierbei um ein multi-pass Verfahren, wel-
se Verfahren an das Datenstrom-Paradigma angepasst [5;         ches seine Anwendung insbesondere in der Verarbeitung
8]. In Interessantes Beispiel für die Anwendung der Asso-     von endlichen Datenmengen findet.
ziation Rule Mining über Datenströmen ist in [4] beschrie-      Auf Basis des Apriori-Algorithmus wurden eine Viel-
ben. Die Autoren ersetzen dabei fehlende Werte in einem        zahl an weiteren Algorithmen entwickelt, welche unter an-
WSN anhand zuvor abgeleiteter Assoziationsregeln.              derem die Performance-Steigerung oder die Adaption an
   In einer Vielzahl von Anwendungen liegen die Daten zur      Datenströme zum Ziel hatten. So stellen die Autoren in [3]
Analyse nicht in Form kategorischer, sondern als quanti-       ein effizientes Verfahren zum Finden von optimalen links-
seitigen quantitativen Regeln vor. Der Schwerpunkt ist da-                              a1    a2               a1      a2
bei die Entwicklung eines Verfahrens zur Berechnung der                         t1      22    100     t6      21.5      0
optimalen Bereiche in linearer Zeit unter der Annahme das                       t2     22.5    -      t7       21       -
                                                                                t3       -    100     t8        -      100
die Daten sortiert sind. Für denn Fall, dass eine Sortierung                   t4     22.5    -      t9       22       -
der Daten nicht möglich ist, wurde zusätzlich ein randomi-                    t5     21.5    0     t10      22.5     100
siertes Verfahren präsentiert, welches die Daten in Buckets
teilt und anschließend auf diesen die Suche durchführt. Die                   Abbildung 1: Beispiel Transaktionen
Autoren in [9] präsentierten mit dem DHP (Direct Hashing                   itemset                            f req     supp
and Pruning) ein Verfahren, dessen Ziel die Optimierung                     {ha1 (20, 21.5]i}                    3        0.3
der Anzahl an Kandidaten ist. Das Verfahren setzt dabei                     {ha1 (20, 23]i}                      8        0.8
auf eine Hash-Tabelle für die Identifikation von Kandida-                  {ha2 (0, 50]i}                       4        0.4
                                                                            {ha2 (50, 100]i}                     4        0.4
ten mit einem Support größer dem geforderten.                              {ha1 (20, 21.5]i, ha2 (0, 50]i}      2        0.2
   Han et. al präsentieren in [5] mit dem FP-Tree (frequent                {ha1 (20, 23]i, ha2 (0, 50]i}        2        0.2
pattern tree) einen Prefix-Baum zur effizienten Speiche-                    {ha1 (20, 23]i, ha2 (50, 100]i}      2        0.2
rung häufiger Muster. Zusätzlich zu dieser Datenstruktur
stellen sie mit dem FP-Growth Algorithmus ein Verfahren                              Abbildung 2: Beispiel Itemsets
zum Finden von häufigen Mustern auf Basis des FP-Tree
vor. Im Gegensatz zum Apriori Verfahren verzichtet das
FP-Growth Verfahren vollständig auf die Generierung von            l repräsentiert. Das Attribut ai (l, r) wird im folgenden als
Kandidaten. Auch sind lediglich zwei Durchläufe über die          Item bezeichnet. I bezeichnet die Menge aller Items. Die
zu prüfende Datenmenge ausreichend.                                Menge X = {a1 (l, r), ..., ak (l, r)} ⊆ I, with ai 6= aj
   FP-Mining über Datenströmen stellt eine besondere Her-         bezeichnet ein Itemset (oder auch k-Itemset).
ausforderung dar. Neben dem in [5] beschriebenen F P 2 -               D bezeichnet eine Menge von Transaktionen. Eine
Stream existieren auch eine Vielzahl weiterer Lösungen.            Transaktion d∆t ∈ D ist eine Menge von Attributwer-
Der in [12] vorgestellte Compact Pattern Tree (CPT) zum             ten ai hvi im Zeitintervall ∆t. Jede Transaktion d∆t =
Beispiel verwendet gleitende Fenster (analog dem F P 2 -            {ai hvi, ..., aj hvi} kann auf ein Itemset I abgebildet wer-
Stream und dem DSTree [7]). Die Effizienz des Verfahrens            den, d.h. für jeden Wert ai hvi existiert ein Item ai (l, r) in
wird dabei durch eine zusätzliche Restrukturierungs Phase          I mit ai hvi ∈ ai (l, r).
erreicht, während der der CPT in Abhängigkeit der Itemset-           Die Häufigkeit f req(X, D) eines Itemsets X bezeich-
Häufigkeiten mit dem Ziel einer hohen Kompaktheit um-              net die Anzahl der Transaktionen D im Zeitintervall
sortiert wird. In [8] beschreiben die Autoren neben dem             ∆t, die auf das Itemset abgebildet werden können. Der
Sticky-Sampling und Lossy-Counting mit BTS(Buffer-                  supp(X, D) eines Itemsets ist definiert als der prozentuale
Trie-SetGen) ein Verfahren, welches die Häufigkeiten von           Anteil an Transaktionen, welcher auf das Itemset entfällt.
Itemsets mittels einer Gitter-Strukur speichert.                    Üblicherweise sind nur häufige Itemsets von Interesse. Ein
   Die erste Arbeit die sich mit dem Problem der quantita-          Itemset wird als häufig bezeichnet, wenn dessen Häufigkeit
tiven Muster Erkennung beschäftigt stammt von Aggrawal             einen vordefinierten Schwellwert minsupp überschreitet.
[11]. Das vorgestellte Verfahren basierte dabei im wesent-
lichen auf einem Apriori-Verfahren, welches die partitio-
                                                                    Signifikanz und Informationsdichte Ziel des quantita-
nierten Wertebereiche der einzelnen Attribute in geeigneter
                                                                    tiven Frequent Itemset Mining ist das Finden von zusam-
Weise kombiniert.
                                                                    menhängenden Items, deren Informationsgehalt sich si-
   Die Autoren in [2] betrachten quantitativ/kategorische
                                                                    gnifikant von dem aller anderen Items unterscheidet. Ein
Assoziationsregeln. Eine Regel wird signifikant angese-
                                                                    quantitatives Item ist genau dann signifikant, wenn dessen
hen, wenn sich deren Mittelwert in Relation zur Menge
                                                                    Informationsdichte größer ist, als die Informationsdichte
aller Transaktionen ohne dieses Regel als signifikant her-
                                                                    der alternativen Items. Die Informationsdichte eines Items
ausstellt. Zur Berechnung des Signifikanzlevels ziehen sie
                                                                    ai (l, r) ist dabei wie folgt definiert
dabei den Steiger Z-Test heran. Als Null-Hypothese neh-
men sie an, das die Mittelwerte beider Teilmengen gleich                                             f req(ai (l, r))
sind. Wird diese Null-Hypothes abgelehnt (mit einer Konfi-                   density(ai (l, r)) =                               (1)
                                                                                                        dist(l, r)
denz von 95%), so wird die gefundene Regel als signifikant
unterschiedlich von der Restmenge der Transaktionen an-             wobei dist(l, r) = abs(l−r) die Distanz zwischen den bei-
genommen.                                                           den Intervallgrenzen des Items bezeichnet. Entsprechend
                                                                    dieser Definition wird ein Itemset I genau dann als signifi-
3   Vorbetrachtung                                                  kant bezeichnet, wenn alle Items dieses Itemsets signifikant
                                                                    sind.
Zunächst müssen verschiedene Begrifflichkeiten eingeführt
werden, welche für das Verständnis des im weiteren
präsentierte Verfahren notwendige sind.                            Generalisierung Ein Itemset X̂ wird genau dann als Ge-
   Im folgenden bezeichnet ai ein Attribut. ai hvi ent-             neralisierung von X bezeichnet, wenn X̂ aus den selben
spricht dem zum Attribut ai gehörender Wert v. Das Tripel          Items wie X besteht und es gilt
(ai , l, r) = ai (l, r) bezeichnet das quantitative Attribut ai ,
welches Werte v1 , v2 , ... im Intervall (l, r) aufnimmt (l be-     ∀ai (l, r) ∈ X : ai (l, r) ∈ X∧ai (l0 , r0 ) ∈ X̂ ⇒ l0 ≤ l ≤ r ≤ r0
zeichnte die linke und r die rechte Intervallgrenze). Ein ka-
tegorisches Attribut, d.h. ein einelementiges Attribut, kann        D.h. alle Transaktion, welche sich auf X abbilden lassen,
durch ein quantitatives Attribut repräsentiert werden, des-        können ebenso auf X̂ abgebildet werden. Im folgenden
sen linke und rechte Intervallgrenze gleich sind, d.h. ai (l, l)    soll ein kurzes Beispiel die eben beschriebenen Zusam-
bezeichnet das kategorische Attribut, welches nur den Wert          menhänge verdeutlichen.
Beispiel 1 Es wird ein Datenstrom angenommen be-                  Input: Menge von Transaktionen D
stehend aus zwei Attributen a1 (Temperatur) und a2 (Be-              Output: Menge von Häufigen Itemsets
wegung) angenommen. Im Zeitintervall ∆t wurden die in            1   Initialisiere F P 2 -Tree als leer;
Tabelle 3 dargestellten 10 Transaktionen festgestellt. Wei-      2   Stelle min und max für jedes Attribut ai fest und lege
terhin werden die folgenden Items angenommen:                        die entsprechenden knoten im F P 2 -Tree an;
                                                                 3   Füge die Transaktionen von Batch b0 in F P 2 -Tree ein;
      a1 (20, 21.5], a1 (20, 23], a2 (0, 50] und a2 (50, 100]
                                                                 4   Übernehme Knotengrenzen und Häufigkeiten aus dem
Basierend auf diesen (quantitativen) Items lassen sich über         F P 2 -Tree in den F P 2 -Stream;
den in Tabelle 3 abgebildeten Transaktionen die in Tabel-        5   while Batch bi , i > 0 do
le 3 dargestellten (quantitativen) Itemsets ermitteln. Die       6        Initialisiere F P 2 -Tree mit den Knoten und
Tabelle zeigt die entsprechenden Häufigkeiten und den                    Intervallgrenzen des F P 2 -Stream;
Support, den die einzelnen Itemsets aufweisen. Es las-           7        Sortiere alle Transaktionen aus aktuellem Batch in
sen sich die folgenden Dichten für die Items ermitteln:
                                                                          F P 2 -Tree ein (falls notwendig, füge neue Knoten
density(a1 (20, 21.5])) = 2, density(a1 (21.5, 23]) = 3.3
                                                                          hinzu bzw. erweitere existierende Knoten);
und density(a1 (20, 23]) = 2.7. Bei dem einelementigen
                                                                 8        Übertrage alle Knoten aus dem F P 2 -Tree in den
Itemset {ha1 (20, 23]i} handelt es sich um eine Generalisie-
rung der Itemsets {ha1 (20, 21.5]i} und {ha1 (21.5, 23]i}.                F P 2 -Stream;
                                                                 9        Führe eventuell notwendige Split Operationen auf
4          2
      F P -Stream                                                         dem F P 2 -Stream aus;
                                                                10        Führe eventuell notwendige Merge Operationen
Die meisten in der Literatur zu findenden Verfahren [11;                  auf dem F P 2 -Stream durch;
2], welche quantitative Attribute betrachten, zerlegen den      11        Lese alle häufigen Itemsets aus dem F P 2 -Stream
Wertebereich für ein Attribut in äquidistante Intervalle,
                                                                          aus (F P 2 -Growth);
welche anschließend derart miteinander kombiniert wer-
den, dass sie den geforderten Kriterien (minimaler Support                  Algorithm 1: F P 2 -Stream Algorithmus
und Signifikanz) genügen. Zu den wesentlichen Problemen
dieser bottom-up Strategie zählen dabei das Finden einer
geeignete Zerlegung [11] bzw. das möglichst effiziente ge-     Items gibt. Abbildung 3 zeigt einen Beispiel-F P 2 -Stream.
nerieren zusammenhängender Items.                              Dem Beispiel liegen die in Tabelle 3 beschriebenen Trans-
   Die Zerlegung gefolgt von einer kostenintensiven Item-       aktionen zugrunde. Das Attribut a2 wurde bereits einer Ver-
Rekonstruktion ist auf Datenströme nicht bzw. nur be-          feinerung unterzogen.
schränkt anwendbar. Alle Verfahren, welche das Prin-
zip der Kombination von Teilintervallen einsetzen, basie-       4.2     Einfügen neuer Transaktionen
ren dabei auf dem Apriori-Algorithmus, welcher mehrere          Das Einfügen neuer Transaktionen in den F P 2 -Stream er-
Durchläufe benötigt und daher für die Analyse über Daten-   folgt Batchweise (ein Batch b bezeichnte die Zusammen-
strömen nur bedingt geeignet ist.                              fassung einer Menge von |b| Transaktionen). Neue Trans-
   Im folgenden soll der F P 2 -Stream vorgestellt werden,      aktionen werden beim Einfügen nicht direkt in den F P 2 -
ein Speicher-effizientes Verfahren, welches für die Analyse    Stream integriert, sondern zuvor in einen F P 2 -Tree ein-
über Datenströmen geeignet ist. Die Itemsets werden beim      gefügt. Der F P 2 -Tree entspricht dabei im wesentlichen
F P 2 -Stream in einem Prefix-Baum (ähnlich dem FP-Tree        dem F P 2 -Stream, wobei die Knoten jedoch nicht über
von Han et al. [5]) verwaltet. Das Ziel des vorgestellten       Zeitfenster verfügen (der F P 2 -Tree verwaltet lediglich die
Verfahrens ist anschließend die kontinuierliche Verfeine-       zu einem Batch gehörenden Musterhäufigkeiten). Die Im-
rung der Items (top-down-Strategie) und den daraus aufge-       plementierung des F P 2 -Tree erfolgt in Form von ”Schat-
bauten Itemsets mit dem Eintreffen neuer Transaktionen,         tenknoten“, welche in die Knoten des F P 2 -Stream inte-
so dass diese den geforderten Kriterien genügen.               griert werden. Somit fallen für das Anlegen des F P 2 -Tree
   Im weiteren soll zunächst die Grundlegende Datenstruk-      keine zusätzliche Kosten an. Es muss lediglich beim ers-
tur beschrieben werden, anschließend folgt eine Beschrei-       ten Einfügen einer Transaktion in einen neuen Batch der
bung der Algorithmen zum Einfügen von Transaktionen            entsprechende ”Schattenknoten“ angelegt werden.
und zum Optimieren der Datenstruktur.                              Analog dem FP-Stream wird das Einfügen des ersten
                                                                Batches b0 getrennt von der Behandlung aller weiteren Bat-
4.1     Datenstruktur                                           ches betrachtet. Zum Zeitpunkt des Einfügens von b0 in den
Der F P 2 -Stream verwaltet die häufigsten Muster in ei-       F P 2 -Stream ist kein Wissen über die genaue Verteilung
nem Prefix-Baum. Eine Header-Tabelle enthält alle Item-        der Stromdaten vorhanden bzw. es stehen lediglich die In-
sets, welche sich gegenwärtig im Prefix-Baum befinden.         formationen aus dem ersten Batch zur Verfügung. Zunächst
Der Pfad von der Wurzel bis zu einem Knoten im Prefix-          wird daher für jedes Attribute i ein Item ai (min, max)
Baum repräsentiert ein Itemset. Zusätzlich ist in jedem       derart angelegt, dass min dem minimalen Wert in b0 und
Knoten des Baumes ein Zeitfenster eingebettet, welches          max dem maximalen Wert in b0 des Attributes ai im ers-
die Häufigkeiten in den letzten k Zeiträumen aufnimmt. Im     ten Batch entspricht. Die Items werden anschließend nach
F P 2 -Stream werden hierzu gleitende Fenster eingesetzt.       der Häufigkeit ihres Auftretens im ersten Batch sortiert und
   Weiterhin sind alle Knoten, welche das gleiche Item re-      in den F P 2 -Tree eingefügt. Häufige Items werden Wurzel-
präsentieren untereinander über Listen miteinander verbun-    nah eingefügt. Da im ersten Batch ein Attribut den kom-
den. Das entsprechende Item der Header-Tabelle verweist         pletten Wertebereich eines Datenstromes überdeckt, kann
dabei auf das erste Element dieser Liste. Jedes Item der        es ausschließlich durch das vollständige Fehlen von Wer-
Header-Tabelle enthält zusätzlich ein Equi-Width Histo-       ten innerhalb von Transaktionen zu Unterschieden in den
gramm, welches einen approximativen Überblick über die        Häufigkeiten der einzelnen Attribute kommen.
Häufigkeitsverteilung der zuletzt eingefügten Werte in die       Nachdem der erste Batch erfolgreich eingefügt wurde,
{}

                     Header Table
                                                               a1 (20, 23):4                                    a2 (50, 100):2
                     a1 (20, 23)
                                                                       b0 2                                             b0 1
                     a2 (50, 100)                                      b1 2                                             b1 1

                     a2 (0, 50]
                                        a2 (0, 50]:2                            a2 (50, 100):2
                                                 b0 1                                   b0 1
                                                 b1 1                                   b1 1

                                         next item item list                     next intervall neighbor list

                                               Abbildung 3: Beispiel F P 2 -Stream

werden alle weiteren Batches gleich behandelt und folgt                        4.3    Item-Split
nachstehendem Schema:                                                          Als wesentliches Kriterium für schlecht approximierte
   • Es existiert bereits ein Knoten, welcher das Itemset re-                  Items wird die Dichteverteilung innerhalb eines Items her-
      präsentiert. Die Frequenz des entsprechenden Knotens                    angezogen. Sind die in ein Item eingefügten Werte un-
      im F P 2 -Tree wird um 1 inkrementiert.                                  gleichmäßig verteilt, dann wurden die Grenzen für dieses
   • Es existiert kein Knoten, welcher das Itemset re-                         Item schlecht gewählt. Die Bestimmung der Ungleichver-
      präsentiert. Es muss ein neuer Knoten im F P 2 -Tree                    teilung erfolgt dabei über die Schiefe den in der Header Ta-
      angelegt werden:                                                         belle mitgeführten Equi-Width-Histogrammen. Die Schiefe
                                                                               eines Item ai (l, r) über einem Histogramm lässt sich wie
         – Der neu anzulegende Knoten wird sowohl auf der                      folgt bestimmen:
            linken, als auch auf der rechten Seite von exis-
            tierenden Knoten eingeschlossen: Als Intervall-                                    max{h(ai (l, r), j)}nj=1 − min{h(ai (l, r), j)}nj=1
                                                                               s(ai (l, r))n =                  Pn
            grenzen für den neuen Knoten werden die Gren-                                                        j=1 h(ai (l, r), j)
            zen der benachbarten Knoten gewählt. D.h. es                      wobei n die Anzahl der Buckets in den Histogrammen be-
            wird ein Knoten ai (r, l0 ) zwischen den beiden                    zeichnet. h(ai (l, r), j) bezeichnet die Häufigkeit im j-ten
            begrenzenden Knoten ai (l, r) und ai (l0 , r0 ) an-                Bucket des Histogramms für das Item ai (l, r).
            gelegt.                                                               Überschreitet die Schiefe innerhalb des Items ai (l, r)
         – Der einzufügende Wert über- bzw. unterschreitet                   einen vorab definierten Schwellwert maxskew, d.h.
            alle bisher eingefügten Werte: Existiert ein Kno-                 s(ai (l, r)) > maxskew, dann wird das Item in zwei
            ten im F P 2 -Tree, welches noch keinem Knoten                     disjunkte Items gesplittet. O.B.d.A. werden im folgenden
            im F P 2 -Stream entspricht und dessen Intervall-                  Items immer in Items mit links offenem Intervall zerlegt.
            grenzen sich derart erweitern lassen, dass es den                  Für den Split wird ein Median-basierter Ansatz verwen-
            Wert aufnehmen kann, dann werden die Grenzen                       dete, dessen Ziel die Berücksichtigung der realen Dich-
            dieses Knotens angepasst und die Frequenz ent-                     teverhältnisse innerhalb eines Items ist. Hierzu wird der
            sprechend inkrementiert. Andernfalls muss ein                      Median über die einzelnen Buckets der Histogramme be-
            neuer Knoten mit dem neuen Wert als Minimum                        stimmt. Der Split erfolgt anschließend auf Basis des Mittel-
            bzw. Maximum als Grenze angelegt werden.                           punktes des Median-Buckets, d.h. ai (l, r) wird in die bei-
Wurden ausreichend Transaktionen in den F P 2 -Tree ein-                       den Items ai (l, median/2] und ai (median/2, r) zerlegt,
gefügt, dann kann dieser in den F P 2 -Stream integriert                      wobei median den Median bezeichnet.
werden. Zunächst werden hierzu alle Knoten des F P 2 -                           Bei einem Itemsplit müssen alle Knoten im Baum, wel-
Tree entfernt, welche dem vorab definierten Schwellwert                        che dieses Item repräsentieren ebenfalls gesplittet wer-
 nicht genügen. Anschließend werden die Häufigkeiten                        den. Sind unterhalb eines Knotens, welcher ein Item re-
der einzelnen Knoten in den F P 2 -Stream übernommen.                         präsentiert das gesplitted wird, weitere Knoten, so werden
Hierzu werden in die Zeitfenster aller Knoten des F P 2 -                      diese Teilbäume kopiert und als neue Teilbäume in die neu
Stream neue Zeitslots eingeführt. Sollten im F P 2 -Stream                    entstehenden Knoten eingebunden. Die Häufigkeit des zu
Knoten vorhanden sein, welche durch die Integration des                        splittenden Items wird beim Überführen in die neuen Items
F P 2 -Tree keine Aktualisierung erfahren, so sind deren                       halbiert (die genaue Verteilung der Daten in den einzelnen
Häufigkeiten für diesen Zeitslot 0. Sind während der Ver-                   Knoten ist unbekannt, weswegen der Einfachheit halber ein
arbeitung eines Batches neue Knoten im F P 2 -Tree hinzu-                      Gleichverteilung angenommen wird). Ein Beispiel soll den
gekommen, so müssen diese ebenfalls in den F P 2 -Stream                      Itemsplit verdeutlichen.
übernommen werden.                                                               Beispiel 2       Die Häufigkeit des Items ha1 (20, 23]i
   Wurden die Transaktionen eines Batches erfolgreich                          aus dem vorigen Beispiel genügt den definierten Be-
in den F P 2 -Stream eingefügt, dann wird anschließend                        dingungen. Beim Itemsplit auf Basis der Intervall-
geprüft, inwieweit sich Items verfeinern lassen um eine                       Halbierung wird das Item in die beiden Subitems
möglichst hohe Informationsdichte zu erhalten. Die Verfei-                    ha1 (20, 21.5]i und ha1 (21.5, 23]i geteilt. Es entstehen
nerung ist hierbei ein zweistufiger Prozess. In einem ersten                   somit die beiden Itemsets {ha1 (20, 21.5]i, ha2 (50, 100]i}
Schritt werden die Items verfeinert, wenn deren Füllgrad                      und {ha1 (21.5, 23]i, ha2 (20, 100]i} welche jeweils eine
zu hoch ist. Der zweite Schritt ist das Mischen von Items,                     geschätzte Häufigkeit von 2 besitzen. Abbildung 4 zeigt den
wenn sich diese generalisieren lassen. Beide Prozesse sol-                     entsprechenden F P 2 -Stream aus Abbildung 3 nach dem
len im weiteren beschrieben werden.                                            Split des Items ha1 (20, 23]i.
{}
         Header Table

         a1 (20, 21.5]
                                           a1 (20, 21.5]:2                                 a1 (21.5, 23):2                        a2 (50, 100):2
         a1 (21.5, 23)                               b0 1                                           b0 1                                  b0 1
         a2 (50, 100)                                b1 1                                           b1 1                                  b1 1

         a2 (0, 50]
                         a2 (0, 50]:1                  a2 (50, 100):1      a2 (0, 50]:1                          a2 (50, 100):1
                                  b0 0.5                         b0 0.5             b0 0.5                               b0 0.5
                                  b1 0.5                         b1 0.5             b1 0.5                               b1 0.5

                                                     next item item list              next intervall neighbor list

                                                    Abbildung 4: Split node a1 (20, 23]

   Eine beliebige Verfeinerung der Intervalle ist aus                      fasst werden, wenn für alle Knoten die diese Items re-
Gründen einer effizienten Datenhaltung nicht sinnvoll. So-                präsentieren folgenden Bedingungen erfüllt werden:
mit ergibt sich die Fragestellung inwieweit Intervalle ver-                  1. Die Items ai (l, r) und ai (l0 , r0 ) sind direkte Nachbarn,
feinert werden. In [11] präsentieren die Autoren eine Un-                      d.h. es gilt r = l0 .
tersuchung zur Anzahl an maximal notwendige Partitio-
nen (Basisintervallen), welche für die anschließende Re-                    2. Benachbarte Knoten, welche die Items ai (l, r) und
kombination zu erzeugen sind und dabei einen möglichst                         ai (l0 , r0 ) repräsentieren besitzen den gleichen Präfix,
geringen Informationsverlust aufweisen. Als Maß für den                        d.h. sie verfügen über den gleichen Elternknoten im
durch die Generalisierung entstehenden Informationsver-                         F P 2 -Stream.
lust führen sie die Partial-Completeness ein. Als K-Partial-                3. density(ai (l, r)) ∼ density(ai (l0 , r0 ))
Completeness wird dabei der maximale Support bezeichnet
(als K-vielfaches des minimalen Support), den ein Itemset                  1. stellt sicher, dass es sich bei den Verbundkandidaten um
aufweisen darf. Basierend auf der Partial-Completeness ha-                 Intervallnachbarn handelt. Ausschließlich direkte Nach-
ben die Autoren gezeigt, dass im Fall einer Partitionierung                barn können miteinander verbunden werden. 2. garantiert,
                                                   2·α
in Basisintervalle gleicher Größe, maximal minsupp·(K−1)   .              dass alle von dem Item-Merge betroffenen Itemsets eben-
                                                                           falls verbunden werden können. 3. stellt sicher, dass die zu
Intervalle notwendig sind. α bezeichnet dabei die Anzahl                   verbindenden Items über nahezu den gleichen Informati-
an quantitativen Attributen. Daraus lässt sich die mini-                  onsgehalt verfügen, d.h. das es durch die Generalisierung
male Intervallgröße für jedes Datenstromattribut ai ab-                  zu keinem Informationsverlust kommt.
leiten. Zum Zeitpunkt des ersten Erstellens des F P 2 -                       Algorithmus 1 führt den Merge umgehend nach dem
Stream (Batch b0 ) wird für jedes Attribut ai (min, max)                  Split aus. Wurde ein Split auf einem Item durchgeführt,
bestimmt. Damit ergibt sich die minimale Intervallgröße                   dann verfügen die beiden resultierenden Items über die
minIntSize entsprechend                                                    gleiche Dichte. Erst durch das Einfügen neuer Batches setzt
                              |max − min|                                  sich die Schiefe, welche zuvor für den Split notwendiger-
           minIntSize =           2·α           .                    (2)   weise festgestellt wurde, auch in den neuen Items durch.
                             minsupp·(K−1)                                 Aus diesem Grund ist eine sofortige Rekombination zuvor
Beim späteren Eintreffen von Transaktionen mit Werten,                    erst geteilter Items für die nächsten k Batches nicht sinn-
welche das rechts- bzw. linkseitige Extrema erweitern muss                 voll.
das minimale Intervall entsprechend angepasst werden.
                                                                           4.5     Prunning und Reorganisation
   Zusätzlich zu den Knoten müssen auch die in den Kno-
ten eingebetteten Fenster angepasst werden. Jeder der bei-                 Durch das Splitten von Items wird der F P 2 -Stream kon-
den durch den Split neu entstandenen Knoten erhält hier-                  tinuierlich vergrößert. So resultiert zum Beispiel der Split
zu die Hälfte der Häufigkeitswerte des Original-Items. Um                des Wurzelknotens in einer Verdoppelung aller Knoten im
später beim F P 2 -Growth auf einfache Weise das bisherige                Baum. Um diesen dennoch möglichst klein und damit die
Split-Verhalten von Items nachvollziehen zu können wird                   Verarbeitung effizient zu gestalten werden zwei verschie-
bei einem Split in jedem Zeitfensterslot ein Verweis auf                   dene Ansätze verfolgt:
das Fenster angelegt, das bei dem Split abgeteilt wurde.                      • (i) Itemsets, welche nicht mehr häufig sind und in den
Um weitere Splits bzw. Merges möglichst effizient gestal-                      nächsten Zeitschritten auch nicht mehr häufig werden
ten zu können verweist das letzte Fenster in der Liste auf                     können, werden aus der Datenstruktur entfernt wer-
das erste Listenelement, so dass ein Ring entsteht. Der Ring                    den.
ermöglicht anschließend eine schnelle Suche auch ohne die
                                                                              • (ii) Es erfolgt eine Reorganisation der Baumstruktur
Verwendung einer doppelt verketteten Liste.
                                                                                um eine möglichst hohe Kompaktheit zu gewähren
4.4   Item-Merge                                                                (ähnlich dem CPT [12]).
Items, welche nahezu die gleiche Informationsdichte auf-                   Item-Rekonstruktion und Itemset Exktraktion
weisen, können ohne weiteren Informationsverlust kombi-                   Zwar werden im F P 2 -Stream häufige Itemsets in einer
niert (generalisiert) werden. Die Generalisierung von Items                kompakten Darstellung gespeichert, es wird aber nicht ga-
führt somit zu einer kompakteren Datenstruktur.                           rantiert, dass die Extraktion der häufigen Muster effizient
   Zwei Items im F P 2 -Stream ai (l, r) und ai (l0 , r0 )                 geschieht. Das Herauslösen der Frequent Pattern stellt da-
können genau dann zu dem Item ai (l, r0 ) zusammenge-                     bei ein kombinatorisches Problem dar. Mit der Entwick-
lung des FP-Tee präsentierten Han et al. in [5] den FP-        den erzeugten Datenstrom für ein Attribut.
Growth, ein Verfahren zur Extraktion aller im FP-Tree ge-          Aus diesen drei Datenströmen sollen nun zusam-
speicherten häufigen Muster. Im Folgenden wird ein für        menhängende Itemsets extrahiert werden, wobei pro At-
den F P 2 -Stream angepasstes Growth-Verfahren zum ex-          tribut ein Item erzeugt werden soll. Im ersten Test sol-
trahieren der häufigen Muster beschrieben.                     len Items bzw. Itemsets extrahiert werden, deren Support
   Bevor die häufigen Itemsets extrahiert werden können       minsupp mindesten 0.25 ist. Es wurde mit einer Batch-
sind zwei wesentliche Verarbeitungsschritte notwendig. In       größe |b| = 100, einer Fenstergröße N von 5, sowie Histo-
einem ersten Schritt wird aus dem F P 2 -Stream ein F P 2 -     grammen mit 10 Buckets d und einer maximalen Schiefe
Tree extrahiert. Hierzu wird die Summe über alle in dem        maxskew von 0.2 getestet. Abbildung 5(b) zeigt beispiel-
Fenster eines Knotens enthaltenen Häufigkeiten als aktu-       haft die zeitliche Entwicklung des über dem Datenstrom
eller Wert für einen Knoten des F P 2 -Tree herangezogen.      aus Abbildung 5(a) entwickelten Items. Graue Buckets
Aufgrund des kontinuierlichen Teilens der Knoten, unter         repräsentieren Items (pro Zeitschritt jeweils eine zusam-
Annahme einer Gleichverteilung der einzelnen Werte in           menhängende Box). Die schwarzen Rahmen entsprechen
den Intervallen, handelt es sich bei den Häufigkeiten in       den Knoten im F P 2 -Stream, die über diesem Attribut
den Knoten des F P 2 -Stream zumeist nur um approximier-        existieren. Weiß gerahmte Buckets sind somit Knoten im
te Werte. Lediglich Knoten, welche zuvor nicht gesplit-         F P 2 -Stream, welche nicht häufig sind. Graue Balken, die
tet wurden, weißen genaue Häufigkeitswerte auf. Um dies        aus mehreren Buckets bestehen sind im F P 2 -Stream über
auch für zuvor geteilte Knoten zu erreichen sind die Fens-     mehrere Knoten verteilt.
terslots aller Knoten, welche ursprünglich von dem sel-           Abbildung 5(b) zeigt sehr gut, dass zu Beginn der Analy-
ben Knoten abstammen untereinander über Ringlisten mit-        se der vollständige Wertebereich durch das Item überdeckt
einander verbunden (siehe Item-Split). Unter Verwendung         wird. Anschließend fängt der Algorithmus an, den alles
dieser kann die genaue Häufigkeit für den ursprünglichen     überdeckenden Knoten in mehrere Teilknoten zu zerlegen.
Knoten wiederhergestellt werden (die Summe über alle           Aufgrund des Zeitfensters von 5 Batches setzt sich diese
Knoten einer Ringliste).                                        Verfeinerung allerdings erst nach 600 Zeiteinheiten durch.
   Der durch den Extraktionsprozess erzeugte F P 2 -Tree        Anschließend schwankt das erzeugte Item um den Mittel-
enthält im allgemeinen quantitative Items, deren Support       wert der Standardnormalverteilten Daten.
nicht minsupp genügt. Im nächsten Schritt werden durch           Elementar für die Menge an Knoten im F P 2 -Stream
die Rekombination von benachbarten Intervallen Items er-        und für die Konstruktion der Items bzw. Itemsets ist das
zeugt, welche minsupp genügen. DIn der Literatur las-          Maß der Informationsdichte. Abbildung 5(c) zeigt für den
sen sich verschiedene Interessantheitsmaße für das Erzeu-      betrachteten Beispieldatenstrom die Dichte der einzelnen
gen der Items finden [10; 13]. Beim F P 2 -Stream bzw.          Buckets. Die Bucketgrenzen entsprechen denen aus Abbil-
F P 2 -Tree findet die Informationsdichte der Items Verwen-     dung 5(b). Die Abbildung zeigt die mit steigender Knoten-
dung. D.h. das Item mit der höchsten Informationsdichte        verfeinerung zunehmende Informationsdichte.
wird so lange mit benachbarten Items (dem jeweils dich-
                                                                   Die Synopse des F P 2 -Stream ist eine Datenstruktur zur
testen direkt benachbarten Item) verbunden, bis der gefor-
                                                                effizienten Speicherung von Transaktionen. Das kontinu-
derte minimale Support erreicht wird. Werden per Defini-
                                                                ierliche Verfeinern von Knoten hat allerdings starken Ein-
tion mehr als ein häufiges Item pro Datenstromattribut ge-
                                                                fluss auf die Größe der Baumstruktur. So führt zum Bei-
fordert, dann wird dieses Verfahren auf die verbliebenen
                                                                spiel ein Splitt in der Wurzel zu einer Verdoppelung aller
nicht-häufigen Items angewandt.
                                                                abhängigen Knoten. Während der initialen Phase muss sich
   Nachdem der F P 2 -Tree erzeugt wurde und die Items
                                                                das Verfahren erst an die Daten anpassen. Dies kann eine
den definierten Bedingungen genügen, können aus diesem
                                                                Vielzahl an Split und Merge Operationen zur Folge haben.
häufige Itemsets extrahiert werden. Aus Gründen der effizi-
                                                                In Abbildung 5(d) ist die Zeitliche Entwicklung zu obigen
enten Auswertung wird hierzu auf das Top-Down Verfahren
                                                                Beispiel dargestellt. Sehr gut zu erkennen ist die Spitze zu
nach [14] zurückgegriffen.
                                                                Beginn des Verarbeitungsprozesses.
                                                                   Abbildung 5(d) zeigt außerdem die Anzahl an Knoten
5   Evaluierung                                                 pro Attribut im Baum. Erwartungsgemäß steigt diese Zahl
Im folgenden soll die Funktionsweise des vorgestellten          mit der Tiefe des Baumes, so dass das Attribut, welches
Verfahrens gezeigt werden. Zu diesem Zweck wurde das            sich auf Blattebene befindet (im Beispiel Attribut 3) durch
Verfahren in Form eines Operators in das Datenstrom-            die höchste Anzahl an Knoten repräsentiert wird.
Managementsystem AnduIN [6] integriert. Neben einer                Durch das Rekombinieren von Items innerhalb des F P 2 -
Vielzahl an einfachen Operationen (Filter, Projektion, Ver-     Stream werden automatisch auch die entsprechenden Item-
bund, Aggregation) unterstützt AnduIN zusätzlich auch die     sets zusammengeführt. Während der Itemset-Exktraktion
Integration komplexer Operatoren in Form von Synopsen-          werden alle Items aus der Datenstruktur herausgelöst, wel-
Operatoren. Unter einem Synopsen-Operator wird dabei            che dem minimalen Support genügen. Im Beispiel der
ein Operator verstanden, welcher sowohl über eine In-          standardnormalverteilten Daten sind hierbei zusätzlich 2-
Memory Datenzusammenfassung, als auch über notwen-             Itemsets bzw. vereinzelt auch 3-Itemsets extrahiert wurden.
dige Algorithmen für das Einfügen von Daten und deren         Die Bilder in Abbildung 6 zeigen die zeitliche Entwicklung
Auswertung verfügt. Das hier präsentierte Verfahren wur-      des 2-Itemsets über den Attributen 0 und 2. Jedes der ein-
de als ein solcher Synopsenoperator integriert.                 zelnen Bilder entspricht dabei dem am Ende eines Batches
   Zunächst soll die grundlegende Funktion des Verfahrens      extrahiertem Itemset. Wiederum sehr gut zu erkennen ist
präsentiert werden. Hierzu wurden 3 Datenströme zu je         die initiale Phase. Außerdem sehr gut zu erkennen ist das
5000 Datenpunkten erzeugt. Ein Datenstrom entspricht da-        entfernen von Buckets am Rand infolge zu weniger Wer-
bei den Daten eines Attributes, d.h. die Analyse erfolgt im     te in diesen Regionen. Das entfernen von uninteressanten
weiteren über Attributen. Die erzeugten Werte sind dabei       Knoten ist einer der Gründe, warum sich die Anzahl an
standardnormalverteilt. Abbildung 5(a) zeigt exemplarisch       Knoten im F P 2 -Stream nach dem initialen Anstieg auf ei-
4                                                                                                                       4

                                            3                                                                                                                       3

                                            2                                                                                                                       2

                                            1                                                                                                                       1

                                                                                                                                                       Wert
                                   Wert
                                            0                                                                                                                       0

                                           -1                                                                                                                       -1

                                           -2                                                                                                                       -2

                                           -3                                                                                                                       -3

                                           -4                                                                                                                       -4
                                                0    500       1000   1500          2000       2500    3000    3500   4000   4500       5000                             0         500     1000     1500    2000    2500    3000              3500     4000   4500     5000
                                                                                               Zeit                                                                                                                 Zeit

                                                                             (a) Daten                                                                                                                     (b) Item
                                            4                                                                                                                       1200
                                                                                                                                                                                                                            Anzahl Knoten gesamt
                                                                                                                                                                                                                                    Knoten Attr 1
                                            3                                                                                                                                                                                       Knoten Attr 2
                                                                                                                                                                    1000                                                            Knoten Attr 3

                                            2
                                                                                                                                                                        800
                                            1

                                                                                                                                                   Anzahl Knoten
                                   Wert

                                            0                                                                                                                           600

                                           -1
                                                                                                                                                                        400
                                           -2
                                                                                                                                                                        200
                                           -3

                                           -4                                                                                                                            0
                                                0    500       1000   1500        2000         2500    3000    3500   4000   4500   5000                                      0      500     1000    1500    2000    2500    3000               3500   4000   4500    5000
                                                                                               Zeit                                                                                                                  Zeit

                                                                 (c) Dichteverteilung                                                                                                        (d) Anzahl Knoten

                                                                                               Abbildung 5: Standardnormalverteilte Daten

                                          Zeit 100                                                              Zeit 200                                                                     Zeit 500                                                                  Zeit 600
                     3                                                                     3                                                                        3                                                                             3
                     2                                                                     2                                                                        2                                                                             2
                     1                                                                     1                                                                        1                                                                             1
         AttrID 2

                                                                               AttrID 2

                                                                                                                                                 AttrID 2

                                                                                                                                                                                                                                     AttrID 2
                     0                                                                     0                                                                        0                                                                             0
                    -1                                                                    -1                                                                       -1                                                                            -1
                    -2                                                                    -2                                                                       -2                                                                            -2
                    -3                                                                    -3                                                                       -3                                                                            -3
                         -3   -2   -1     0   1            2     3                                -3    -2    -1     0   1    2     3                                         -3     -2     -1     0   1      2      3                                  -3    -2     -1     0   1   2   3
                                     AttrID 0                                                                   AttrID 0                                                                      AttrID 0                                                                 AttrID 0

                                     Zeit 700                                                                  Zeit 800                                                                      Zeit 900                                                                Zeit 1000
                     3                                                                     3                                                                        3                                                                             3
                     2                                                                     2                                                                        2                                                                             2
                     1                                                                     1                                                                        1                                                                             1
       AttrID 2

                                                                             AttrID 2

                                                                                                                                               AttrID 2

                                                                                                                                                                                                                                   AttrID 2

                     0                                                                     0                                                                        0                                                                             0
                    -1                                                                    -1                                                                       -1                                                                            -1
                    -2                                                                    -2                                                                       -2                                                                            -2
                    -3                                                                    -3                                                                       -3                                                                            -3
                         -3   -2   -1     0   1            2    3                                -3    -2     -1     0   1   2      3                                         -3    -2     -1     0   1       2     3                                   -3    -2     -1     0   1   2   3
                                     AttrID 0                                                                   AttrID 0                                                                     AttrID 0                                                                  AttrID 0

                                                                                          Abbildung 6: Entwicklung des Itemsets s1 und s2

nem deutlich niedrigeren Level einpendelt.                                                                                                                Entwicklung des entsprechenden Attributes dargestellt
   Für den nächsten Test wurden wiederum drei Daten-                                                                                                    und Abbildung 7(d) zeigt zeitliche Entwicklung der
ströme erzeugt. Jeder Datenstrom umfasst dabei 5000 Da-                                                                                                  Knotenanzahl im F P 2 -Stream. Trotz des kontinuierlichen
tenpunkte und folgt einem Trend. Zusätzlich wurden die                                                                                                   Trends entwickelt sich die Gesamtknotenanzahl anschlie-
Daten mit normalverteiltem Rauschen überlagert. Abbil-                                                                                                   ßend relativ konstant bei ca. 200 Knoten. Beginnend ab
dung 7(a) zeigt den zeitlichen Verlauf der drei Datensätze.                                                                                              Zeitpunkt 3300 wächst die Knotenanzahl erneut drastisch
                                                                                                                                                          an. Die Ursache hierfür liegt offensichtlich in einer
   Das Experiment wurde wiederum mit |b| = 100, N = 5                                                                                                     Änderung der Datencharakteristik während dieser Zeit
und einer maximalen Schiefe maxskew von 0.2 bei 10                                                                                                        bei Attribut 3. Trotz dem, dass es sich um trenbehaftet
Histogrammbuckets durchgeführt. Der geforderte Support                                                                                                   Daten mit normalverteiltem Rauschen handelt, scheint
betrug 0.15. Abbildung 7(b) zeigt exemplarisch die Ent-                                                                                                   zwischen den Zeitpunkten 3000 und 3500 eine weitere
wicklung der Items für ein Attribut. Die notwendige Ein-                                                                                                 Überlagerung (ähnlich einem Burst) aufzutreten. Diese
schwingphase ist deutlich zu erkennen. Im weiteren Ver-                                                                                                   plötzliche Veränderung hat entsprechend Auswirkungen
lauf entwickelt sich das Item mit dem Trend, wobei für den                                                                                               auf die Knoten und deren Dichten (siehe Abbildung 7(c)),
geforderten minimalen Support mehr oder weniger viele                                                                                                     welche Attribut 3 repräsentieren und führen vermutlich zu
Knoten kombiniert werden müssen. Interessant ist die Ent-                                                                                                dem Peak.
wicklung des Items um den Zeitpunkt 1000. Hier sorgen
die neu eintreffenden Werte offensichtlich für ein oszillie-                                                                                                Diese ersten Ergebnisse zeigen, dass das Verfahren des
ren zwischen zwei Items, welches sich erst mit dem Teit-                                                                                                  quantitativen FP-Mining für die Analyse von Datenströmen
punkt 1300 durchsetzen kann.                                                                                                                              prinzipiell geeignet ist. Es wurde gezeigt, dass das ein-
   In Abbildung 7(c) ist die Informationsdichte-                                                                                                          geführte Maß der Informationsdichte ist für Erzeugen in-
30                                                                                                     30
                                     Attribut 1
                                     Attribut 2
                                     Attribut 3                                                                                    28
                            25
                                                                                                                                   26

                            20                                                                                                     24

                                                                                                                                   22
                            15
                                                                                                                                   20

                                                                                                                       Wert
                     Wert
                                                                                                                                   18
                            10
                                                                                                                                   16

                            5                                                                                                      14

                                                                                                                                   12
                            0
                                                                                                                                   10

                            -5                                                                                                      8
                                 0    500         1000   1500    2000   2500   3000   3500   4000   4500    5000                        0       500    1000    1500    2000   2500    3000   3500   4000     4500   5000
                                                                        Zeit                                                                                                  Zeit

                                                                (a) Daten                                                                                             (b) Item
                            30                                                                                                     3500
                                                                                                                                                                                     Anzahl Knoten gesamt
                            28                                                                                                                                                               Knoten Attr 1
                                                                                                                                                                                             Knoten Attr 2
                                                                                                                                   3000                                                      Knoten Attr 3
                            26

                            24                                                                                                     2500
                            22

                                                                                                                   Anzahl Knoten
                                                                                                                                   2000
                            20
                    Wert

                            18
                                                                                                                                   1500
                            16

                            14                                                                                                     1000

                            12
                                                                                                                                   500
                            10

                             8                                                                                                          0
                                 0    500         1000   1500    2000   2500   3000   3500   4000   4500   5000                             0    500    1000   1500    2000   2500    3000   3500   4000     4500   5000
                                                                        Zeit                                                                                                  Zeit

                                                   (c) Dichteverteilung                                                                                 (d) Anzahl Knoten

                                                                               Abbildung 7: Trendbehaftete Daten

teressanter Itemsets. Erst dieses ermöglicht die Analyse                                                                 [3]               T. Fukuda, Y. Morimoto, Sh. Morishita, and T. Tokuyama.
über Datenströmen, da es sowohl für das Teilen und Ver-                                                                                  Mining optimized association rules for numeric attributes.
binden von Intervallen, als auch für die Rekombination als                                                                                 In PODS ’96, pages 182–191. ACM, 1996.
Schritt der Itemsetextraktion herangezogen wird. Mit dem                                                                  [4]               M. Halatchev and Le Gruenwald. Estimating missing values
präsentierten Maß kann auch das Testen aller möglichen In-                                                                                in related sensor data streams. In COMAD, pages 83–94,
tervallkombinationen verzichtet werden, was einer der we-                                                                                   2005.
sentlichen Gründe für die Eignung zur Analyse von Daten-                                                                [5]               J. Han, J. Pei, and Y. Yin. Mining Frequent Patterns without
strömen ist.                                                                                                                               Candidate Generation. In 2000, Dallas, USA, pages 1–12,
                                                                                                                                            2000.
6     Zusammenfassung                                                                                                     [6]               D. Klan, K. Hose, M. Karnstedt, and K. Sattler. Power-
                                                                                                                                            aware data analysis in sensor networks. In ICDE ’10, Long
Das FP-Mining über statischen Daten mit kategorischen                                                                                      Beach, California, USA, 2010. IEEE, IEEE.
Werte zählt heute zu den klassischen Data Mining Verfah-                                                                 [7]               C. K.-S. Leung and Q. I. Khan. Dstree: A tree structure for
ren, für welches eine Vielzahl an Lösungen in der Literatur                                                                               the mining of frequent sets from data streams. In ICDM ’06,
zu finden sind. In der hier vorgestellten Arbeit wurde ein                                                                                  pages 928–932, Washington, DC, USA, 2006. IEEE Com-
neuer Ansatz für die Identifikation von häufigen Mustern                                                                                  puter Society.
über quantitative Attribute aus Datenströmen präsentiert.                                                              [8]               G. S. Manku and R. Motwani. Approximate Frequency
Das präsentierte Verfahren kombiniert hierzu bekannte                                                                                      Counts over Data Streams. In 2002, Hong Kong, China,
Techniken aus dem Data Mining Bereich mit Verfahren der                                                                                     pages 346–357, 2002.
mehrdimensionalen Indexstrukturen. Neben den notwendi-                                                                    [9]               J. S. Park, M.-S. Chen, and P. S. Yu. An effective hash-
gen Verarbeitungsschritten wurde die prinzipielle Funktion                                                                                  based algorithm for mining association rules. In SIGMOD
anhand von Beispielen gezeigt. In weiteren Arbeiten soll                                                                                    ’95, pages 175–186, New York, NY, USA, 1995. ACM.
die Funktion des Verfahrens mit realen Szenarien unter-                                                                   [10]              G. Piatetsky-Shapiro. Discovery, analysis and presentation
sucht und evaluiert werden. Das DSMS AnduIN erlaubt                                                                                         of strong rules. 1991.
die Teilweise Auslagerung von Funktionalität in Wireless                                                                 [11]              R. Srikant and R. Agrawal. Mining quantitative association
Sensor Netzwerke. Eine der zukünftigen Arbeiten ist da-                                                                                    rules in large relational tables. SIGMOD Rec., 25(2):1–12,
her die Migration des vorgestellten Verfahrens hin zu ei-                                                                                   1996.
nem In-Network-Operator von AnduIN mit dem Ziel einer                                                                     [12]              S. K. Tanbeer, Ch. F. Ahmed, B.-S. Jeong, and Y.-K. Lee.
möglichst effizienten Verarbeitung.                                                                                                        Efficient frequent pattern mining over data streams. In
                                                                                                                                            CIKM ’08, pages 1447–1448, New York, NY, USA, 2008.
Literatur                                                                                                                                   ACM.
[1]                                                                                                                       [13]              A. Tuzhilin. On subjective measures of interestingness in
      R. Agrawal, T. Imielinski, and A. N. Swami. Mining Asso-
      ciation Rules between Sets of Items in Large Databases. In                                                                            knowledge discovery. In KDD ’95, pages 275–281. AAAI
      ’93, Washington, D.C., USA, pages 207–216, 1993.                                                                                      Press, 1995.
                                                                                                                          [14]              K. Wang, L. Tang, J. Han, and J. Liu. Top down fp-growth
[2]   Y. Aumann and Y. Lindell. A statistical theory for quantita-                                                                          for association rule mining. In PAKDD ’02, pages 334–340,
      tive association rules. In Journal of Intelligent Information                                                                         London, UK, 2002. Springer-Verlag.
      Systems, pages 261–270, 1999.
Sie können auch lesen