Optimale Histogramme Daniel Aigner [email protected].

33
Optimale Histogramme Daniel Aigner [email protected]

Transcript of Optimale Histogramme Daniel Aigner [email protected].

Page 1: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

Optimale Histogramme

Daniel [email protected]

Page 2: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

2Was sind Histogramme? (1)

Daten von 1500 Befragten in 6 BalkenWas, wenn man das Alter der Befragten in 6 Balken erfassen will? Grenzen einfach bei 15, 30, 45, 60, 75 ziehen?

Daniel
Grundgesamtheit: Wahlberechtigte Bevölkerung in Deutschland ab 18 JahrenStichprobe: Repräsentative Zufallsauswahl / RandomstichprobeErhebungsverfahren: Computergestützte TelefoninterviewsFallzahl: 1000 Befragte (700 West / 300 Ost)Sonntagsfrage: 1500 BefragteErhebungszeitraum: 7. bis 8. Januar 2008Sonntagsfrage: 7. bis 9. Januar 2008Fehlertoleranz: 1,4 bis 3,1 Prozentpunktehttp://www.tagesschau.de/inland/deutschlandtrend/deutschlandtrend90.html
Page 3: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

3Was sind Histogramme? (2)

Ein Histogramm fasst einen großen Datensatz zusammen und approximiert diesen.

Dabei entstehen Ungenauigkeiten/Fehler.

Die Anzahl der Container und die Wahl der Grenzen zwischen den Containern entscheiden über die Größe des Fehlers.

Optimale Histogramme berechnen bedeutet also, die Grenzen zwischen den Containern so aufzuteilen, dass der Fehler minimiert wird.

Page 4: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

4Praktische Verwendung von Histogrammen (1)

In der Informatik hauptsächlich im Bereich der Datenbanken bzw. Anfragenverarbeitung.

Kommt eine Anfrage wie “Gebe diejenigen Produkte aus, die mehr als 10€ kosten“, kann mit Hilfe der Histogramme abgeschätzt werden, wie viele Datensätze die Anfrage erfüllen.

Betrifft eine Anfrage weniger als 10% der gesamten Daten ist es am sinnvollsten, über eine Indexstruktur auf die Daten zuzugreifen.

Werden mehr als 10% abgefragt ist es günstiger, direkt auf die Datenbank zuzugreifen.

011010110

Page 5: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

5Praktische Verwendung von Histogrammen (2)

Dieses Verhältnis von den betroffenen Datensätzen zu den gesamten Daten heißt die Selektivität.

Selektivität = #Matches / #Datenbestände

Bei der Anfragenverarbeitung kommt der Typ derV-Optimalen Histogramme zum Einsatz.

Erfahrungswerte haben gezeigt, dass für den Einsatz in Datenbanksystemen besonders gute Abschätzungen liefern.

In anderen Einsatzgebieten könnten andere Histogramme bessere Abschätzungen liefern.

Page 6: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

6Weitere Eigenschaften von Histogrammen

Schön wäre es, zu einer Anfrage an ein Histogramm auch eine gute Fehlerschranke angeben zu können.

Qualitäts-Garantien die für das gesamte Histogramm gelten sind evtl. wichtige Anhaltspunkte für den Benutzer.

Das Histogramm soll möglichst auf den späteren Einsatzzweck hin optimiert werden.(So wie V-Optimale Histogramme für Datenbanksysteme)

Dazu müssen die Informationen über die spätere Arbeitslast in die Berechnung des Histogramms einfließen können.

Page 7: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

7Bisherige Algorithmen (1)

Es existieren bereits mehrere Algorithmen um Histogramme zu berechnen.

Diese sind meistens sehr schnell, dafür aber nicht besonders genau, geschweige denn optimal, liefern also große Fehler.

Page 8: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

8Bisherige Algorithmen (2)

MHIST: Eine Greedy Heuristik, die immer den Container mit dem höchsten Fehler aufteilt.

MaxDiff: Hierbei werden neue Grenzen immer zwischen die zwei Werte gesetzt, die die größte Differenz aufweisen.

EquiDepth: Bei dieser Heuristik wird die Zuteilung so gewählt, dass die summierten Werte innerhalb eines Containers für jeden Container möglichst gleich sind.

EquiWidth: Die triviale Methode, bei der einfach immer gleich viele Elemente in einen Container kommen.

Daniel
Greedy-Algorithmen [...] zeichnen sich dadurch aus, dass sie schrittweise denjenigen Folgezustand auswählen, der zum Zeitpunkt der Wahl den größten Gewinn bzw. das beste Ergebnis verspricht.http://de.wikipedia.org/wiki/Greedy-Algorithmus
Page 9: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

9Die zwei Ansätze

Grundsätzlich zwei verschiedene Herangehensweisen, um ein optimales Histogramm zu berechnen:

– Bei einer festen Größe (Anzahl der Container) den Fehler minimieren:Space Bounded Histogram

– Bei gegebener Fehlerschranke die Anzahl der Container minimieren:Error Bounded Histogram

Der zweite Ansatz wird auch als Duales Problem bezeichnet.

Page 10: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

10Wichtige Definitionen (1)

Ausgehend von einer Relation R mit einem Attribut X:

Vektor V = die Menge aller Werte von X die in R auftreten, aufsteigend sortiert.

Frequenz f(v) = Anzahl der Elemente t є R mit t.X = v Frequenz-Vektor F = {f(v1), f(v2), f(v3), … , f(vN)}

mit N = |V| = Anzahl der verschiedenen Werte von X Histogramm H: Stellt die Verteilung der Werte von X da.

– Durch Partitionierung des Frequenz-Vektors Fin B disjunkte Intervalle,

– wobei B << N.– Das ist die Reduktion von N auf B Container.

Page 11: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

11Wichtige Definitionen (2)

Beispiel: Frequenz-Vektor mit 13 Elementen

F = {5, 4, 7, 10, 13, 17, 16, 17, 14, 9, 9, 2}soll aufgeteilt werden in ein Histogramm mit 5 Containern:

H = {(5, 4, 7), (10, 13), (17, 16, 17), (14, 9, 9), (4, 2)}– h1 = AVG(5, 4, 7) = 16/3– h2 = 23/2, h3 = 50/3, h4 = 32/3, h5 = 6/2

Der Wert hi jedes Intervalls ist der Durchschnitt der Werte in dem Intervall.

Andere Unterteilung von F auch möglich:H‘ = {(5), (4), (7), (10), (13, 17, 16, 17, 14, 9, 9, 4, 2)}

Wert des 6. Elements (=17):– Nach H: 16,667. Nach H‘: 11,222

Page 12: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

12Wichtige Definitionen (3)

Durch Unterteilung des Frequenzvektors in Intervalle definiert sich also das Histogramm.

Grenzen so wählen, dass der Fehler minimal ist.

Der Fehler wird berechnet über eine Fehlermetrik. Hier: summierter quadratischer Fehler,

Sum Squared Error = SSE. SSE kommt auch bei V-Optimalen Histogrammen zum

Einsatz. Für ein Intervall [a, b] wird der SSE wie folgt berechnet:

Page 13: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

13Lösungsmethode: dynamische Programmierung (1)

Dynamische Programmierung ist das Lösen eines Problems durch herunterbrechen auf und lösen von Teilproblemen.

Insbesondere ohne die kostenintensive Rekursion. Es wird Iterativ vorgegangen. Dabei werden die Lösungen der Teilprobleme für die

spätere Berechnung zwischengespeichert.

Beispiel: Fibonacci-Zahlen rekursivfib(0) = 0fib(1) = 1fib(n) = fib(n-1) + fib(n-2)

Daniel
Weiteres Beispiel: CYK-Algorithmus für kontextfreie Grammatiken.Mit ihm kann entschieden werden, ob ein Wort in einer Sprache enthalten ist oder nicht, indem das Wort in Teilworte aufgespalten wird und diese überprüft werden.
Page 14: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

14Lösungsmethode: dynamische Programmierung (2)

Fibonacci-Zahlen iterativ via dynamischer Programmierung:

f_vorletzte = 0f_letzte = 1for i = 2 to n do

f_aktuell = f_letzte + f_vorletztef_vorletzte = f_letztef_letzte = f_aktuelle

end forreturn f_aktuell

f_letzte und f_vorletzte müssen als Zwischenergebnisse gespeichert werden.

Diese Lösung ist wesentlich effizienter.

Page 15: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

15Space-Bounded Histogram

Zur Berechnung des optimalen Histogramms bei gegebener Anzahl an Containern werden im folgenden drei verschiedene Algorithmen vorgestellt:

1. Grundalgorithmus für das optimale Histogramm

2. Verbesserung des Grundalgorithmus

3. Approximationsverfahren

Page 16: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

16Grundalgorithmus (1)

Ziel ist es, den gesamten Frequenz-Vektor F = F[1, N] so in B Intervalle zu unterteilen, dass der gesamte Fehler des Histogramms minimal ist.Rekursiver Ansatz, dann via dynamischer Programmierung die Rekursion auflösen.

SSE([a, b]) hat den Fehler für das Intervall [a, b] berechnet.Definiere SSE*(i, k) als den minimalen Fehler für den Präfix-Vektor F[1, i] bei k Containern.Grundüberlegung hinter dem Algorithmus:

Page 17: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

17Grundalgorithmus (2)

Beispiel: Berechnung des SSE*(20, 5)– Also das Minimum des Präfix-Vektors F[1, 20],– aufgeteilt in 5 Container.

16 verschiedene Möglichkeiten die Grenze (j) zwischen den letzten zwei Containern zu setzen.Der linke Bereich SSE*(j, k-1) berechnet sich rekursiv.

Page 18: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

18Grundalgorithmus (3)

Die Unterteilung des Histogramms bekommt man dadurch, dass man für jeden Rekursionsschritt den Wert von j speichert.

Damit hat man alle Grenzen zwischen den Containern abgespeichert.

Als nächstes: Auflösen der Rekursion.

Page 19: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

19Grundalgorithmus (4)

Den SSE*(i, k) iterativ berechnen über 1≤k<B und für jedes feste k über 1≤i<N.

Mit SSE*(N, B) hat man den minimalen Fehler des gesamten Histograms (und damit auch die optimale Unterteilung in B Container) berechnet.

Aufwand für die Berechnung:– Zwei Schleifen über k und j: O(B·N)– SSE*(i, k) für jedes feste i und k: O(B)– Insgesamt: O(B2·N)

Page 20: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

20Verbesserung des Grundalgorithmus (1)

Beobachtung: SSE([j, i]) fällt monoton über j.

Damit ist es nicht nötig, die Schleife über j komplett zu durchlaufen:– j von oben nach unten durchlaufen.

– Das bisher gefundene Minimum S0 vonSSE*(j, k-1) + SSE([j+1, i]) wird gespeichert.

– Wird ein Wert von SSE([j+1, i]) > S0 berechnet kann abgebrochen werden.

Page 21: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

21Verbesserung des Grundalgorithmus (2)

Weitere Beobachtung: SSE*(j, k) wächst monoton über j. Über binäre Suche kann damit eine untere Grenze für j

gefunden werden, bei der die Schleife abgebrochen werden kann.

Näheres siehe Skript.

Aufwand des verbesserten Algorithmus:– Im Worst-Case hat auch der verbesserte Algorithmus

eine Laufzeit von O(B2·N).– Im allgemeinen Fall ist die Laufzeit deutlich besser.

Page 22: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

22Approximationsverfahren (1)

Vorheriges Aufteilen des Frequenzvektors F in L gleich große Bereiche.

Berechnung des optimalen Histogramms mit B/L Containern für jeden Bereich.

Insgesamt wieder B Container.

Laufzeit: O((N2·B)/L2)

Page 23: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

23Approximationsverfahren (2)

Beispiel:– Aus Frequenzvektor F mit 100 Elementen ein

Histogramm mit B=20 Containern berechnen.– Vorheriges Aufteilen von F in L=4 Bereiche zu je 25

Elementen.– Berechnung des opt. Histogramms für jeden Bereich mit

5 Containern.

Page 24: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

24Vergleich der Algorithmen (1)

Laufzeit

Vergleichsdaten sind Zipf-verteilt.B = 100 Container.Bei Approximationsverfahren L=20 Bereiche.

Bsp. für Zipf-Verteilung

Daniel
Grafik von "Language and the Book of Life"http://www.ucl.ac.uk/~ucbplrd/language_middle.htm
Page 25: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

25Vergleich der Algorithmen (2)

Laufzeiten der neuen Algorithmen

Page 26: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

26Vergleich der Algorithmen (3)

Eine Funktion über das dritte Attribut des „SGI adult data set“ mit 732 unterschiedlichen Werten.

Datensatz D1

Das Gehalt von Mitarbeitern von Census mit insgesamt 302000 unterschiedlichen Werten.

Datensatz D2

Daniel
erreichbar über www.kdnuggets.com
Page 27: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

27Vergleich der Algorithmen (4)

Auswirkung der Containergröße auf den Fehler

Datensatz D1 Datensatz D2

Page 28: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

28Vergleich der Algorithmen (5)

Auswirkung der Datengröße auf den Fehler

Datensatz D1

Page 29: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

29Error-Bounded Histogram

Zu einer gegebenen Fehlerschranke den Platzbedarf (Anzahl der Container) minimieren.

Der Primäre Ansatz– Iterativ über die Anzahl der Container das optimale

Histogramm berechnen.– Abbrechen sobald man ein Histogramm berechnet hat

das die Fehlerschranke erfüllt.

Approximationsverfahren– Siehe Skript.

Page 30: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

30Qualitätsgarantien

Generelle Fehlerschranke für das gesamte Histogramm ist ungenau.

Besser: Fehlerschranke eines jeden Containers einzeln zu dem Container abspeichern.

Nachteil: Speicherbedarf.

Evtl. auch nur Speichern eines binären Bitwertes „gut“ oder „schlecht“ zu jedem Container.

Page 31: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

31Arbeitslast-Informationen

Informationen über den Einsatzzweck des Histogramms nutzen.Den Fehler im praktischen Einsatz weiter verbessern.

Beispiel:– Daten: Umsätze eines Geschäfts mit Zeitangabe.– Anfragen beziehen sich häufig auf ganze Monate.– Fehlermetrik so wählen, dass sie einen großen Fehler erzeugt,

wenn Daten aus verschiedenen Monaten in einem Container liegen.

Beispiel für den Einfluss von Arbeitslast-Informationen

Page 32: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

32Resümee (1)

Effektive Berechnung eines optimalen Histogramms durch rekursive Herangehensweise und Auflösung durch dynamische Programmierung.

Aufwand kann durch Verbesserungen weiter reduziert werden. Approximationsverfahren verbessert die Laufzeit noch einmal

um zwei Größenordnungen. Trotzdem noch eine wesentlich bessere Genauigkeit als die

bisher bekannten Methoden.

Mit etwas zusätzlichen Speicherbedarf können gute Fehlerabschätzungen zu einer Anfrage gemacht werden.

Page 33: Optimale Histogramme Daniel Aigner aigner@mathematik.uni-marburg.de.

33Resümee (2) & Quellen

Arbeitslast-Informationen können in die Berechnung des Histogramms einfließen.Dadurch lässt sich das Histogramm noch besser an den späteren praktischen Einsatz anpassen.

H. V. Jagadish, Nick Koudas, S. Muthukrishnan, Viswanath Poosala, Ken Sevcik, Torsten Suel, Optimal Histograms with Quality Gurantees, 1998.Grafik zur Sonntagsfrage, www.tagesschau.deGrafik zu Zipf, www.ucl.ac.uk/~ucbplrd/language_middle.htm

Quellen