Update: Neun Möglichkeiten zur Reduktion der Datenmenge

Die Grundlage von statistikbasierter Auswertung und Automatisierung von Vorgängen ist das Vorhandensein entsprechender Datenmengen.

Auch im industriellen Umfeld fallen schnell Mengen an die nur schwer zu übertragen, handhaben und zu archivieren sind. Daher ist die Reduktion der Datenmenge von großer Wichtigkeit.

Wie hoch ist das Potenzial der Größenreduktion?

Die mögliche Reduktion einer binären Datei lässt sich über die Entropie S der Daten abschätzen:

S = −h_0 log2(h_0) – h_1 log2(h_1)

Mit

h_0:Häufigkeit Nullen (Anzahl Nullen / Gesamtanzahl an Zeichen)

h_1:Häufigkeit Einsen (Anzahl Einsen / Gesamtanzahl an Zeichen)

Für den Extremfall von ausschließlich Nullen (oder Einsen) in der Datenmenge ergibt sich S = 0.

Für den Extremfall einer gleichen Anzahl an Nullen und Einsen ergibt sich S = 1.

Je größer nun die Entropie der Daten ist, desto größer ist auch ihr Informationsgehalt und desto geringer ist das Potenzial zur Datenreduktion.

Verluste bei der Kompression

Es gibt verlustfreie und verlustbehaftete Kompressionsmethoden. Verluste sind nur dann zu akzeptieren, wenn die Information dennoch interpretiert werden kann. Das ist beispielweise bei Audio- oder Videokompression der Fall. Produktdaten sollten nicht verlustbehaftet komprimiert werden.

Bei S = 1 ist keine verlustfreie Kompression möglich.

Kenngröße – die Kompressionsrate

Als Maß für den Erfolg der Maßnahmen wird die Kompressionsrate herangezogen. Definiert als das Verhältnis der Größe der Daten auf dem jeweiligen Datenträger vor und nach der Maßnahme.

Da der Wert stark von den eingegeben Daten abhängt, kann sie empirisch ermittelt werden.

Sechs Möglichkeiten zur Reduktion der Datenmenge

1. Verwendung einer kommerziell verfügbaren Kompressionsmethode

Es gibt eine große Anzahl an Kompressionsverfahren, die angewandt werden können. Bekannt ist beispielsweis der LZW-Algorithmus, der bei Formaten wie .zip oder.rarverwendet wird. Dabei wird ein Wörterbuch mit aufgetretenenDatenketten aufgebaut und anstelle der Kette in der Datei auf den entsprechenden Eintrag im Wörterbuch verweisen. 

Sind beispielsweise wiederkehrende Bauteilnummern immer identisch aufgebaut so wird anstelle der wiederkehrenden Folge ein Verweis in das Wörterbuch gespeichert

Beispiel: Sagen wir die Bauteilnummer ist so aufgebaut

3001-001-xxxxxxx

Wobei sich die „3001-001-„ wiederholt und xxxxxxxindividuell ist, so wird der wiederholte Term aus dem Wörterbuch gelesen.

2. Speicherung in hexadezimal Werten

Zahlen können zu jeder beliebigen Basis angegeben werden. Im Binärsystem ist das die Zwei im Dezimalsystem die Zehn und Hexadezimalsystem die 16.

Je größer die Basis, desto kleiner die abzulegenden Werte.

Beispiel:

DezimalBinärHexadezimal
123456111100010010000001E240

3. Wählen der minimal möglichen Abtastrate

Die Abtastrate muss der Dynamik der Vorgänge entsprechen, die aufgezeichnet werden sollen. 

Eigentlich selbstverständlich, aber dennoch erlebt man immer wieder die Aufzeichnung von z.B. Kerntemperaturen mit 1000 Hz. Ein Bauteil kann seine Kerntemperatur unmöglich 1000-mal pro Sekunde ändern. 

Orientierung bei der Wahl einer geeigneten Abstastrate bietet das Nyquist-Shannon-Abtasttheorem.

Abtastrate >= 2 x maximale Frequenz des Messsignals

4. Nur sinnvolle Nachkommastellen ablegen – Runden

Jeder Messwert kann auf beliebig viele Nachkommastellen angegeben werden, jedoch bestehen die hintern Werte lediglich aus Rauschen. 

Als Anhaltspunkt kann die Genauigkeitsklasse des Sensors herangezogen werden. 

Auch diese muss jedoch nicht vollständig ausgeschöpft werden, wenn es technisch nicht sinnvoll ist. Also rundet man auf die benötigte Anzahl an Stellen und kann dadurch unter Umständen weniger Speicher je Wert reservieren. Selbst wenn das nicht der Fall ist und im Vorgegebenen Speicherbereich mit Nullen aufgefüllt wird, so hilft diese Maßnahmen, wenn eine Kompression angewendet wird.

5. Relative Angabe von Werten

Wird ein Wert nur innerhalb eines bestimmten Bereiches erwartet, so kann auf die Ablage der vollständigen Zahl verzichtet werden. Stattdessen wird relativ zu einer Basis angegeben.

Beispiel:

Wir erwarten Werte zwischen 2000 und 2500. 

Wir wählen die Basis B = 2000.

Der Messwert sei M= 2200.

Dann legen wir wie folgt ab:

Ablage = M-B = 2000 – 2200 = 200

Für die spätere Decodierung muss die Basis entsprechend wieder addiert werden.

6. Verwendung komprimierter Laufwerke

Wir ein ganzes Laufwerk komprimiert, so kann wie gewohnt auf die Daten zugegriffen werden. Die Kompression wirdpermanent im Hintergrund ausgeführt, sobald neue Daten auf dem Datenträgen abgelegt werden.

Aus diesem Grund wird die zur Verfügung stehende Leistung des Systems durch den Einsatz dieses Verfahren eingeschränkt. Ein zusätzliches Archivieren über ZIP oder RAR bringt in der Regel keinen Zusatznutzen.

7. Speicherung von Änderungen anstelle von absoluten Werten

Fallen in direkter Folge identische an, so wird für jedem Datum ein Speichereintrag benötigt. Wenn die Werte identisch sind, wird damit eine redundante Information abgelegt.

Daraus ergibt sich die Möglich anstelle jedes Werte nur dann einen Speichereintrag vorzusehen, wenn auch eine Änderung stattgefunden hat. Andere Werte werden verworfen. Es kommt somit zu einer über der Zeit variablen Abtastrate. Somit ist bei Zeitreihen wichtig die Timing-Information zum Wert abzulegen, da eine spätere Rekonstruktion nicht mehr möglich ist.

Um diese Möglichkeit voll auszunutzen sollten als Vorverarbeitung Werte in Klassen zusammengefasst werden oder ein Filterung erfolgen, die hochfrequente Anteile entfernt.

8. Blockweise Speicherung

Eine Methode, die hier außer Konkurrenz läuft, da sie große Verluste mitbringt. Dabei wird statt einer durchgehenden Speicherung nur die einzelne Blöcke abgelegt. Die Daten zwischen den Blöcken werden verworfen bzw. gar nicht erst aufgezeichnet.
Die Reduktionsrate kann somit nahezu beliebig gewählt werden. Die Gefahr einen Effekt zu übersehen ist jedoch immer gegeben.

Wie immer ist hat das keinen Anspruch auf Vollständigkeit. Fehlt etwas? Kommentar!

9. Ringspeicher

Es gibt Fälle in denen kann man zunächst nicht auf eine Reduktion zurückgreifen kann. Hier bieter sich an erst nach Ablauf einer Zeitspanne oder bei einem Trigger (z.B. das Ende eines Projektes, die Abgabe eines Reports) die Reduktion durchzuführen.Die vollständigen Daten befinden sich bis zu diesem Zeitpunkt auf dem Ringspeicher und werden dann reduziert. Die Maßnahmen zur Reduktion können den oben genannten Punkten entsprechen.

Update: In der Überarbeitung wurden die Ansätze 7 bis 9 neu aufgenommen.

Schreibe einen Kommentar