Daten-Information-Erkenntnis

Daten => Information => Wissen

Daten sind die Basis der Information. Aus Informationen kann Wissen erlangt werden. Gesammeltes Wissen führt "hoffentlich" zu Weisheit.

Daten ⇒ Information ⇒ Wissen ⇒ Weisheit

Datamining Grundkonzepte

Im folgende fasse ich ein paar Definitionen und Erfahrungswerte oder "Best Practices" zusammen, die für meine Arbeit Relevanz haben. Ich hoffe, dass diese Ihnen ebenfalls hilfreich sind.

Definitionen:

Strukturierte Daten:
sind alle Daten die in einer strukturierten Form abgelegt sind. Zum Beispiel als Key-Value-Paaren wie bei JSON, XML, …, sowie Tabellen, relationale Datenbanken, etc.
Strukturierte Daten haben den Vorteil, dass die Bedeutung über die Struktur eindeutig ist. So lassen sich Hypothesen leichter verifizieren bzw. falsifizieren. Unter Umständen müssen die Daten dazu vorbereitet werden (Normierung, Transformation und Filterung). Außerdem, muss die Abfrage in Bezug auf Eingabe- und Ausgabe Parameter vordefiniert werden (Early-Binding). Damit sind Abfragen "statisch". Eine nachträgliche Veränderung bedeutet zusätzlichen Aufwand.

Unstrukturierte Daten:
sind Daten, die i. d. R. in Texten eingebettet sind (DOC, PDF, Plain-HTML, …).
NoSQL (not only SQL) ist die Technik die auf dem Map-Reduce-Modell von Google basiert. Hier werden die Daten nach Ereignissen indiziert. Der Vorteil ist, dass Abfragen zur Laufzeit verändert werden können. Allerdings erfordern komplexere Analysen meist Programmierkenntnisse.

Semistrukturierte Daten:
sind eine Mischform in der meist wiederkehrende Strukturen innerhalb von Textdokumenten (z.B.: HTML in Bezug auf <tags> oder Tabellen).

ETL Extract, Transform (Normalize), Loading :
sind die üblichen Prozessschritte bei Data-Warehouse Anwendungen.

Vorgangsempfehlung bei Bearbeitung strukturierter Daten

Da es sich in meinen Domänen - der Netzwerktechnik und des Energie Managements - am häufigsten um strukturierte Daten wie Tabellen oder Comma-Separated-Values (CSV-Dateien) handelt, möchte ich ein paar Empfehlungen geben, die sich in der Praxis als hilfreich erwiesen haben.

1. Trennung von Daten und Report

der am häufigsten begangene Fehler ist m. E. n., dass die Datenhaltung, Analyse und Report in Excel einem einzigen Worksheet erfolgt. Dies hat einige entscheidende Nachteile:

  • Datenintegrität ist nur begrenzt sicherzustellen (insbesondere wenn die Daten Veränderungen unterworfen sind)
  • Analysen sind nicht wartbar und werden leicht inkonsistent
  • gleiches gilt für Reports die auch nicht auditierbar sind, weil Veränderungen oft nicht Dokumentiert werden und alte "Zwischen"-Stände so nicht wiederherstellbar sind.

Daten sollten daher in einer linearen Liste "gepflegt" werden, auf welche die Auswerte-Logik nur lesend zugreift. Unter lineare Liste verstehen wir eine Tabelle, die nur eine Kopfzeile mit den Attributs-namen enthält. Die Daten folgen darunter ab Zeile 2. Sie sollten möglichst vollständig gefüllt sein.

Es kann auch sinnvoll sein die Attribute zu erläutern und deren Datentyp und Wertebereiche separat zu dokumentieren. Dies erleichtert einen Austausch und eine spätere Automatisierung basierend auf Austauschformaten wie XML und JSON.

Die Auswertung sollte hiervon komplett getrennt sein.

  • erleichtert dies die Übersicht Auswertelogik
  • können verschieden Aspekte herausgearbeitet werden ohne die Daten zu verändern.

Aus den gleichen Gründen wie oben, sollten auch die Analyse Schritte erläutert werden. Dies gilt umso mehr, wenn Daten umfangreich gefiltert werden.

2. Prüfen der Datenqualität

Es hat sich als sinnvoll erwiesen, vor der Datenanalyse eine Kontrolle der Daten vorzunehmen.

  • Es lässt sich Zeit für Fehlersuche einsparen
  • Inplausibilitäten können vermieden werden
  • bekannte Qualitätsmängel lassen sich in die Bewertung mit einbeziehen
  • insgesamt sinkt das Risiko zu falschen Ergebnissen zu kommen.
  • Systematische Häufungen falscher Daten können verwendet werden, um den Datenerfassungsprozess zu optimieren

Es empfiehlt sich einfache Prüfverfahren zu verwenden. Hierzu zählen unter anderem:

  • Zählen der Elemente einer Spalte
  • Vollständigkeit der Datensätze
  • Wertebereiche einzelner Attribute
  • ...

3. Auswahl der Tools

in der Praxis werden Daten oft mit Excel bearbeitet. Das ist – aus meiner Sicht - ein sehr gutes Werkzeug um:

  • Daten zu normieren,
  • zu transformieren (sofern die Anzahl der Zellen und die Querverweise nicht Ausufern)
  • und ganz besonders zu visualisieren
  • zudem lassen sich viele Analysen mit Pivot-Tabellen elegant durchführen.

Allerdings sind verschachtelte Analysen nur sehr begrenzt durchführbar, daher bietet es sich bei komplexen Analysen an eine SQL-basierte Datenbank einzusetzen. Dies gilt besonders bei größeren Datenmengen. Oft reicht Access aus und es ermöglicht schnell zu Ergebnissen zu kommen. Handelt es sich aber um noch größere Datenmengen oder geht es um Prozesse, die regelmäßig Daten liefern (z. B. Messungen), dann bevorzuge ich ein UNIX-System z. B. mit einer MySQL Datenbank. Diese ist über eine ODBC-Schnittstelle sehr gut nutzbar und mit der MySQL-Workbench wartbar und analysierbar. Zudem können Lese- und Schreib-Operationen z. B. über ein REST-Interface implementiert werden.
Die Ergebnisse können dann zum Beispiel wieder mit Excel aufbereitet werden.
Für statistische Analysen bieten sich zudem Spezialwerkzeuge wie Minitab, Matlab, o. ä. an.

4. Planung der Analyse

In vielen Fällen fehlen Erfahrungswerte was die Ergebnisse betrifft, es kann also leicht vorkommen, dass durch unvollständige Daten oder fehlerhafte Auswertelogik falsche erzeugt werden. Um dies zu vermeiden, sollten:

  • die Integrität der Daten sichergestellt werden
  • die Daten geeignet normiert werden
  • Die Fragen festgehalten werden, die die Analysen beantworten sollen
  • Wenn klar ist welche Attribute benötigt werden, kann der Datenraum reduziert werden, doch Vorsicht, oft fällt bei Analysen auf, dass weitere Attribute berücksichtigt werden müssen.

5. Verfeinern

In den seltensten Fällen, genügt das erste Ergebnis den Erwartungen und meist regen die ersten Ergebnisse weitere Denkprozesse mit erweitertem Blickwinkel an. Es besteht also der Bedarf, die Logik zu erweitern und eine nächste Iterationsstufe zu beginnen. Hierzu sollten Sie sich die Zeit nehmen, die bisherigen Schritte zu dokumentieren, und eine Sicherheitskopie anzulegen.

6. Automtisieren

Um regelmäßig standardisierte Reports zu erzeugen, empfehle ich wieder die unter 2. beschriebene UNIX-Plattform. Die Verbindung eines Webservers (Apache) mit der Datenbank (MySQL) und der Server-seitigen Skriptsprache (PHP) liefert eine sehr flexible Platform. Mit einem eMail Server können so Reports in einem ansprechenden HTML/PDF-Format erzeugt und per Email versandt werden. Das LAMP-Paket liefert hierfür eine Komplett-Lösung.

LAMP: Linux Apache MySQL PHP auch als LAMP-Stack bezeichnet ist ein Paket aus Webserver, Datenbank und Programiersprache derim Internet weitverbreitet ist.