Aggregatfunktion
Eine Aggregatfunktion ist eine Funktion, die gewisse Eigenschaften von Daten zusammenfasst.
Unterteilungen
Die bei einer Aggregation verwendeten Funktionen lassen sich unterteilen in
- Distributive Funktionen: Summe (SUM), Anzahl (COUNT), Maximum (MAX), Minimum (MIN), Top-N ...
Formal lässt sich eine distributive Funktion
wie folgt beschreiben: Man teilt den zu aggregierenden Datenbestand in
Partitionen
auf und es sei
das Attribut, welches aggregiert werden soll. Dann gibt es eine Funktion
,
die auf einer Menge derselben Ergebnisse wie
operiert, und
lässt sich darstellen als:
.
Dabei ist
die Gesamtheit aller Attributwerte im Datenbestand und
sind diejenigen Attributwerte, die in der Partition
liegen.
Beispielsweise gilt für die Funktion Anzahl (COUNT):
Man berechnet also erst die Kardinalität der einzelnen Partitionen und summiert dann die Einzelergebnisse auf.
- Algebraische Funktionen: Mittelwert (AVG), gestutzter Mittelwert (truncated AVG), Standardabweichung...
Ganz analog zu vorher werden algebraisch Funktionen definiert, jedoch hat man
hier größere Freiheit, was die Funktion betrifft, die auf den einzelnen
Partitionen arbeitet. Musste man hier zuvor dieselbe Funktion
anwenden, die auch auf dem gesamten Datenbestand angewendet wird, so kann man
hier eine andere Funktion
wählen. Damit besitzt eine algebraische Aggregationsfunktion
folgende Darstellung:
.
Dabei ist
eine Funktion, die auf einer Menge von Ergebnistupeln der Funktion
operiert.
und
sind definiert wie oben.
Beispielsweise gilt für die Funktion Durchschnitt (AVG):
Die Ausdrücke
und
bezeichnen dabei das erste beziehungsweise zweite Element eines 2-Tupels.
Anschaulich gesprochen wird also für jede Partition ein Tupel aus Gesamtsumme und Anzahl der Tupel dieser Partition berechnet. Anschließend errechnet sich der Gesamtdurchschnitt einfach aus der Gesamtsumme geteilt durch die Gesamtanzahl.
- Holistische Funktionen: Median, Rang, Percentile, häufigster Wert...
Holistische Funktionen sind Aggregationsfunktionen, für die keine der beiden vorhergehenden Definitionen zutrifft.
Berechnung
Distributive und algebraische Aggregatfunktion können aus einem oder einer festen Menge von Fakten aus tiefer liegenden Klassifikationsstufen berechnet werden, während bei holistischen Aggregatfunktionen auf die Grundgesamtheit aller Fakten zurückgegriffen werden muss. Distributive und algebraische Funktionen sind daher eher "gutmütig", d.h. man kann sie parallelisieren oder schrittweise ausführen (geringerer Speicherplatzbedarf!), wohingegen dies bei holistischen Funktionen nicht möglich ist.



© biancahoegel.de
Datum der letzten Änderung: Jena, den: 16.05. 2020