Blog

Data Science: Der Micromata Data Modelling Process

Daten sind heute omnipräsent. Sie werden fortlaufend in unterschiedlichsten Formen erfasst, verarbeitet und gespeichert. Dabei hat jedes Unternehmen seinen ganz eigenen Datenschatz, der relevante Informationen und Erkenntnisse bieten kann. Wie bereits Tim Berners-Lee sagte: “Data is a precious thing and will last longer than systems themselves.”

Bereits beim Sammeln der Daten können wichtige Einsichten gewonnen werden, wie auch schon Robert J. Shiller angemerkt hat: “Some of the best theorizings come after collecting data because then you become aware of another reality.”

Daten können dabei den eigenen Annahmen über Systeme durchaus widersprechen und so zu einem Überdenken der eigenen Wahrnehmung und Strategien führen. Häufig bleiben Datenschätze jedoch ungenutzt und verstauben in irgendwelchen Datenbanken, wodurch ungeahnte Potentiale einfach ungenutzt bleiben.

Hier setzt der Micromata Data Modelling Process  an, der es uns erlaubt, Data-Science-Projekte vollumfänglich zu begleiten und erfolgreich ins Ziel zu führen. Damit unsere Kunden den größtmöglichen Mehrwert aus ihren Daten ziehen können. Im Fokus steht die Entwicklung eines Modells – sei es ein statistisches oder ein maschinell trainiertes, das eine generalisierte Lösung für eine spezifische Aufgabenstellung ermöglicht und so einen messbaren Mehrwert erzeugt.

In den nächsten Abschnitten werden wir die acht Schritte unseres Modellierungsprozesses vorstellen und Fragen stellen, die wir dann in entsprechenden Schritten beantworten werden.

Zunächst der Micromata Data Modelling Process im schematischen Überblick:

Dr. Stefan Jakob

Data Science & Künstliche Intelligenz

Porträtfoto von Oliver Koch

Oliver Koch

Data Science & Softwareentwicklung

1. Business Understanding

Der erste Schritt jedes Data-Science-Projekts: das Verständnis der zu lösenden Aufgabe – und welchen Mehrwert sie für das jeweilige Unternehmen hat. Dabei entwickeln wir zusammen mit unseren Kunden ein gründliches Verständnis der Anwendung und ihrer Fachlichkeit. Außerdem essentiell: Ein tiefgreifendes Verständnis des Umfelds, der zugehörigen Prozesse und der Nutzungserwartungen.

Die zentrale Frage ist in diesem Stadium: Was soll durch das Data-Science-Projekt erreicht werden bzw. welchen Mehrwert soll das Projekt liefern? Diese Frage kann auf unzählige Weisen beantwortet werden, wir beleuchten hier beispielhaft nur drei häufige Ziele:

  1. Anomalieerkennung: Anomalien, im Allgemeinen, sind Abweichungen vom Normalzustand eines Systems. Dies kann beispielsweise eine Spitze (Peak) im Stromverbrauch, eine erhöhte Retourenquote bei einem Produkt oder eine erhöhte Menge an Log-Nachrichten sein. Je nach Art und Umfang der Anomalie kann ihr rechtzeitiges Entdecken zum Beispiel einen Imageschaden vom Unternehmen abwenden, der durch eine unerkannte Fehlfunktion sonst hätte entstehen können. Oder sie hilft Geld zu sparen, wenn etwa eine bestimmte Ressourcenverschwendung festgestellt und behoben werden kann.
  2. Klassifikation: Modelle werden in Klassifikationssaufgaben genutzt, um Daten anhand definierter Merkmale passenden Gruppen zuzuordnen. Ein Beispiel dafür ist das Aussortieren von fehlerhaften Teilen anhand der Merkmale Form, Gewicht oder Farbe. Diese Auslese trägt zur Qualitätserhöhung und zur Effizienzsteigerung bei, weil fehlerhafte Teile früh aussortiert werden können.
  3. Prognose: Eine Prognose nutzt Daten, um konkrete Aussagen über die Zukunft zu treffen. Klassische Aufgaben sind hier etwa die Berechnung von Preisentwicklungen anhand von Verkaufsdaten oder Nachfrage und das Erkennen von Reparaturbedarfen anhand von Maschinendaten, auch bekannt als Predictive Maintenance.

Es gibt unzählige weitere Ziele und eine Kombination von Zielen ist ebenfalls möglich.

Neben den konkreten Zielen ist eine klare Definition der Erwartungen an das Projekt extrem wichtig. Was anhand der Daten herausgefunden werden soll, ist zumeist allen Stakeholdern klar. Drei zentrale Fragen, lassen sich jedoch oft erst im weiteren Verlauf des Projektes klären:

  • Was kann sonst noch durch die Daten gefunden werden?
  • Welche Kennzahlen (KPIs) muss das Ergebnis erreichen?
  • Welcher Aufwand muss betrieben werden, um die gewünschte Qualität der Ergebnisse zu erzielen?

Erste Abschätzungen lassen sich zwar schon früh in der Projektlaufzeit treffen, doch erst ein tieferer Einblick in die Daten erlaubt eine wirklich fundierte Antwort auf diese Fragen. Unser Modellierungsprozess stellt deshalb diese Fragen in den Fokus und liefert über die gesamte Projektlaufzeit hinweg alle nötigen Informationen, um diese Fragen vollumfänglich zu beantworten. Aus der Erfahrung heraus können wir sagen, dass im Verlauf dieses Prozesses häufig ganz neue Erkenntnisse auftreten, mit denen zu Beginn des Projekts noch nicht zu rechnen war und die ganz neue Fragen aufwerfen können.

2. Data Generation

Der zweite Schritt fokussiert auf die Erzeugung bzw. Aufzeichnung von Daten. Wenn ausreichend Daten und alle nötigen Datenobjekte vorhanden sind, kann dieser Schritt übersprungen werden. Sollten keine oder nur ungenügend Daten vorhanden sein, wird zunächst ein geeignetes Konzept zum Erfassen der Daten benötigt.

Basierend auf den Ergebnissen des Business Understanding leiten wir in diesem Schritt die nötigen Daten ab und erstellen zusammen mit den Kunden ein Konzept zum Sammeln der Daten. Sehr häufig ist dieser Schritt sehr zeitaufwändig, daher ist es sinnvoll, bei der Entwicklung eines neuen Softwaresystems diesen Schritt von Anfang an mitzudenken und Data Scientists so früh wie möglich zu involvieren.

3. Data Understanding

Ein tiefgreifendes Verständnis aller relevanten Daten ist unabdingbar für ein zielführendes Data-Science-Projekt. Gleichzeitig sind Zusammenhänge in Daten häufig sehr komplex und können oft nur von fachlichen Experten aufgeschlüsselt werden. Data Understanding ist daher ein unverzichtbarer Teil im iterativen Entstehungsprozess eines ersten PoC (Proof of Concept).

Das umfasst, unter anderem, eine erste Interaktion mit den Daten. Hierzu zählen Datenplots, einfache statistische Werte bei numerischen Daten oder die Bestimmung der Auftrittshäufigkeiten bei kategorischen Daten. Dies liefert uns ein erstes Gefühl für diese Daten und zeigt Unklarheiten, Fragen, aber auch erste Ergebnisse auf.

Unser Modellierungsprozess setzt hier auf die Interaktion mit dem Kunden. Erste Ergebnisse wie z. B. Datenkorrelationen können wichtige Erkenntnisse für den Kunden liefern und bereits erste Entscheidungsprozesse beeinflussen.

Fast noch wichtiger ist jedoch die Klärung von Unklarheiten und Fragen. Hierbei kann es sich z. B. um nicht eindeutige Zusammenhänge, fehlende Fachbegriffe oder auch Fehler in den Daten handeln, die ohne fachliche Expertise nur schwer lösbar sind.

Ein gutes Beispiel hierfür ist die Überwachung von Stückzahlen in der Produktion. Dazu werden historische Daten verwendet, um ein Modell der Produktion zu erstellen.

Wird hier etwa ein Einbruch in den Stückzahlen über einen längeren Zeitraum erkennbar, handelt es sich um eine Anomalie in den historischen Daten und sollte nachverfolgt werden. Ohne fachliche Expertise ist dieser Einbruch nur schwer interpretierbar und könnte viele Ursachen haben. Eine mögliche Ursache könnte etwa eine defekte Maschine sein. Grundsätzlich sollte das System eine solche Anomalie dann erkennen und den Nutzer benachrichtigen. Eine weitere denkbare Ursache könnte außerdem ein planmäßiger Produktionsstop sein (z. B. bei einem Betriebsurlaub). Ist das der Fall, sind die Daten aus diesem Zeitraum wenig relevant und dürfen im Datenmodell ignoriert werden. So sind noch zahlreiche weitere Ursachen für mögliche Anomalien denkbar.

Die Einbindung von fachlichen Experten kann hier Transparenz in die Daten bringen und zur Verbesserung des Systems beitragen. Dafür ist es entscheidend, dass Data Scientists und technische Fachleute eng zusammenarbeiten.

4. Data Preparation

In einem perfekten Data-Science-Projekt ist der nun folgende Schritt nicht nötig, da alle Daten fehlerfrei und alle Datenbanktabellen und -spalten in allen Quellsystemen einheitlich sind. Leider entspricht dies in den meisten Fällen nicht der Realität. Und da die Qualität der Ergebnisse eines Data-Science-Projektes stark von der Qualität der Daten abhängt, ist der Data-Preparation-Schritt einer der wichtigsten Schritte im Modellierungsprozess und zielt darauf ab, die Datenqualität soweit wie möglich anzuheben. Dafür stehen uns unterschiedliche Methoden zur Verfügung. In den folgenden Absätzen stellen wir einige dieser Ansätze vor. Diese können sich je nach Projekt unterscheiden und hängen von der Art der zu verarbeitenden Daten ab.

Harmonisierung der Daten

Die Daten, die für ein Data-Science-Projekt benötigt werden, kommen in den seltensten Fällen aus nur einer Datenquelle. Sind mehrere Quellen, zum Beispiel von mehreren Standorten involviert, können schnell Diskrepanzen in den Daten auftauchen.

Ein einfaches Beispiel hierfür ist die Wahl von Einheiten. Während Standort A Werte von Stromzählern umrechnet und für alle Zähler einheitlich in kWh speichert, spart sich ein Standort B diesen Schritt und speichert die Werte ohne Umrechnung. Hier kann es sehr schnell zu Fehlinterpretationen der Daten kommen. Werden beispielsweise MWh-Werte als kWh-Werte genutzt, können Verbrauchswerte entstehen, die um den Faktor 1000 zu klein sind und somit leicht zu falschen Entscheidungen führen. Sollten diese Werte unbereinigt zum Training eines Modells genutzt werden, kann dieser Faktor zu einer Verschlechterung der Performance des Modells führen.

Neben einheitlichen Einheiten ist ein gemeinsames Datenbankschema sehr hilfreich. Dieses übernimmt die Übersetzung von Spalten aus unterschiedlichen Quellen und erleichtert somit den Umgang mit den Daten, ohne bestehende Quellsysteme anpassen zu müssen.

Behandlung fehlender und fehlerhafter Daten

Neben der Harmonisierung von Daten sieht die Data Preparation weitere Schritte vor, um die Datenqualität zu erhöhen. Ein wichtiger davon ist der Umgang mit fehlenden oder fehlerhaften Daten.

Bei fehlerhaften Daten wird grob zwischen zwei Vorgehensweisen unterschieden: Markierung von Fehlern und Behebung fehlerhafter Daten.

Bei der Markierung von Fehlern werden Datenpunkte mit Fehlerkategorien versehen. Verfahren wie der Kolmogorov-Smirnov Test bestimmen die Verteilung der Daten und überprüfen, ob Datenpunkte zu dieser Verteilung passen. Ist dies nicht der Fall, wird der Datenpunkt mit einer Fehlerart markiert. Im Fall von Stromzählerwerten könnten dies Ausreißer, Nullungen oder eine falsche Zählrichtung sein. Die Werte an sich werden in diesem Vorgehen nicht verändert und jede Anwendung kann ein eigenes Vorgehen nutzen, um markierte Werte zu beheben.

Ein weiteres Vorgehen ist die Behebung von fehlenden Daten. Das einfachste Vorgehen ist das Auffüllen mit Default-Werten: z. B. mit “null” bei numerischen Werten, oder einer speziellen Kategorie bei kategorischen Daten. Bei numerischen Werten kann zusätzlich eine Interpolation genutzt werden, um die fehlenden Daten mathematisch zu bestimmen. Bei dieser Vorgehensweise muss jedoch beachtet werden, dass die originalen Werte angepasst werden. Eine Behandlung auf Anwendungsebene ist dann nur schwer möglich.

Nutzung kategorischer Daten

Kategorische Daten stellen häufig eine Herausforderung dar. Es gibt nur einige Herangehensweisen und Algorithmen, die auf kategorische Daten ausgelegt sind, die Auswahl für numerische Daten ist deutlich größer. Daher wird in vielen Data-Science-Projekten eine Abbildung der kategorischen Daten in einem numerischen Raum vorgenommen (Encoding). Hierbei muss jedoch darauf geachtet werden, dass das Encoding nicht die Realität verzerrt, indem es Ähnlichkeiten erzeugt, die nicht vorhanden sind. Die Wahl des passenden Encodings ist in jedem Data-Science-Projekt eine Herausforderung und kann immer nur in Verbindung mit den Daten und einem empirischen Ansatz beantwortet werden.

Unausgewogene Datensätze

In einem unausgewogenen Datensatz kommen Ausprägungen einer Kategorie in stark unterschiedlicher Häufigkeit vor. Teilweise dominieren einige wenige Ausprägungen den gesamten Datensatz.

Betrachten wir dazu das folgende Beispiel: die Ausprägung Apfel kommt bei 48 %, die Ausprägung Birne bei 35 %, die Ausprägung Orange bei 9 %, die Ausprägung Kiwi bei 5 % und die Ausprägung Melone bei 3 % der Datenpunkte vor. Trainieren wir ein Modell zur Klassifikation der Datenpunkte auf einem solchen Datensatz, erhalten wir bereits 83 % Genauigkeit, wenn Apfel, Birne und Orange gut vorhergesagt werden können.

Das Vorgehen hängt hier wieder stark vom Projekt selbst ab: Ist die Klassifikation der seltenen Ausprägungen relevant? Wenn nein, kann auch ein unausgewogener Datensatz genutzt werden. Wenn ja, müssen zusätzliche Schritte vorgenommen werden, um mit dem unausgewogenen Datensatz arbeiten zu können.

Ein Beispiel ist die Erzeugung von zusätzlichen Datenpunkten, welche die seltene Ausprägung besitzen. Dies kann unter anderem durch Duplizieren oder durch Kombination der Datenpunkte geschehen.

Eine weitere Möglichkeit ist die Aufteilung der Klassifikation in mehrere Schritte: Im ersten Schritt wird bestimmt, ob ein Datenpunkt zur dominierenden Klasse gehört. Ist dies nicht der Fall, wird überprüft, welche der verbleibenden Klassen am besten zum betrachteten Datenpunkt passt.

5. Statistic and Modelling

Nach den Schritten Data Understanding und Data Preparation sind nun alle wichtigen Informationen vorhanden, um eine fundierte Auswahl an Algorithmen zur Modellbildung (Machine Learning) zu treffen.

Typischerweise beginnen wir mit sehr einfachen Algorithmen. Ein Beispiel für Klassifikationsaufgaben ist zum Beispiel kNN (k Nearest Neighbor). Dieser Algorithmus vergleicht einen neuen Datenpunkt mit den k nächsten Nachbarn und wählt die Klasse, die am häufigsten vorkommt. Dieser Algorithmus ist sehr einfach, hat jedoch eine hohe Laufzeit, da alle Datenpunkte betrachtet werden müssen. Die Nutzung solcher Algorithmen liefert weitere Erkenntnisse über die Daten und bildet eine erste Basis für die Qualität der Ergebnisse (KPIs, siehe Evaluation). Komplexe Ansätze sollten dann eine deutlich höhere Qualität erreichen, um den zusätzlichen Aufwand zu rechtfertigen.

Nach der Umsetzung einfacher Algorithmen können bei Bedarf komplexere Verfahren eingesetzt werden. Hierzu zählen unter anderem Neuronale Netze (Deep Learning), Entscheidungsbäume oder eine Kombination aus mehreren unterschiedlichen Verfahren. Die Auswahl hängt dabei stark von der eigentlichen Aufgabe und dem vorhandenen Datensatz ab.

Die Wahl der besten Algorithmen findet wieder durch einen empirischen (experimentellen) Ansatz statt. Denn häufig ist es nicht möglich, vor dem Ausprobieren eines Algorithmus zu sagen, welcher Algorithmus für die konkrete Aufgabe am besten funktioniert. Es können lediglich Algorithmen ausgeschlossen werden, die für diese von vornherein ungeeignet sind.

6. Evaluation

Kommen wir nun zu einer Frage, die sich in jedem Data-Science-Projekt irgendwann stellt: Liefern die ausgewählten Algorithmen und Modelle denn das gewünschte Ergebnis? Für die Antwort werden verschiedene Metriken genutzt, um die Qualität der Ergebnisse zu messen. Diese Metriken sind dabei wie üblich abhängig von der Aufgabe, die vom Modell gelöst werden soll.

Eine Klassifikationsaufgabe nutzt zum Beispiel andere Metriken als eine Prognoseaufgabe. Einige dieser Metriken stellen wir im Folgenden kurz vor. Zum besseren Verständnis betrachten wir diese einfache Klassifikationsaufgabe: Eine Maschine soll mithilfe einer Kamera zwischen reifen (roten) und unreifen (grünen) Tomaten unterscheiden. Dazu wurde ein Neuronales Netz trainiert, das mittels eines Fotos den Zustand der Tomate bestimmen soll. Als Ergebnis liefert das Netz entweder “reif” oder “unreif”. Zur näheren Bestimmung der Qualität benötigen wir dann zunächst fünf Werte, mit denen wir weitere Metriken bestimmen können:

  • True Positive (TP): Tomaten, die reif sind und als reif erkannt wurden
  • False Positive (FP): Tomaten, die unreif sind und als reif erkannt wurden
  • False Negative (FN): Tomaten, die reif sind und als unreif erkannt wurden
  • True Negative (TN): Tomaten, die unreif sind und als unreif erkannt wurden
  • Anzahl der Datenpunkte (P + N), P ist die Anzahl der reifen Tomaten und N die Anzahl der unreifen Tomaten

Eine dieser Metriken ist die Treffergenauigkeit (Accuracy, ACC). Die Accuracy wird dabei folgendermaßen bestimmt und gibt an, wie gut das Netz den Reifegrad vorhersagen kann: TP+TN/P+N

Der positive Vorhersagewert (Precision, PPV) gibt den Anteil der korrekt als reif klassifizierten Daten in der Menge der als reif klassifizierten Datenpunkte an: T/TP+FP

Die Sensitivität (Recall, TPR) bestimmt die Wahrscheinlichkeit, dass eine reife Tomate auch als reif klassifiziert wird: T/P

Zu guter Letzt ergibt sich aus Precision und Recall das F-Maß (F1-score): 2·PPV·TPR/PPV+TPR

Dies ermöglicht uns eine Aussage über die Qualität der Klassifikation des Netzes. Die hier genannten Metriken haben Werte im Bereich zwischen 0.0 und 1.0. Grundsätzlich gilt, je näher das F-Maß an dem Wert 1.0 liegt, desto besser ist die Performance und die Qualität des Modells.

Neben diesen Metriken gibt es noch zahlreiche weitere Metriken, die den Rahmen dieses Blogs jedoch sprengen würden.

Liefern die Metriken vielversprechende Kennzahlen für das Modell, kann mit der eigentlichen Implementierung auf dem Zielsystem begonnen werden. Ist dies nicht der Fall, ist eine Anpassung des Ansatzes und der ausgewählten Algorithmen nötig.

Die Ursache hierfür ist indes oft nicht leicht zu finden. Daher empfehlen wir, die Schritte Data Understanding, Data Preparation und Statistic and Modelling unter Berücksichtigung der aktuellen Ergebnisse zu wiederholen. Durch die neu gewonnenen Erkenntnisse können dann bessere Entscheidungen getroffen werden, die sich positiv auf die Modelle auswirken. Dieser Prozess ist gerade bei komplexen Daten üblich und sollte immer von einem/einer Data Scientist:in und fachlichen Expert:in begleitet werden, um bestmögliche Ergebnisse zu erzielen.

7. Implementation

Sobald dieses Stadium im Modellierungsprozesses erreicht ist, findet die eigentliche Implementierung im Zielsystem bzw. in einer bestehenden Softwareapplikation statt. Dies ist eine klassische Softwareentwicklungsaufgabe.

Typischerweise wird das Backend eines Data-Science-Projektes in Python umgesetzt. Python bietet zahlreiche Bibliotheken, die essentielle Algorithmen und Methoden zur Datenverarbeitung, zum Anwenden von statistischen Methoden und zur Nutzung von maschinellem Lernen bereitstellen. Dadurch ist Python aktuell Standard in Forschung und Industrie. Zusätzlich erlaubt es eine freie Wahl des Zielsystems. Hier kann je nach bestehenden Systemen die beste Wahl getroffen werden, sei es On-premise oder in der Cloud.

8. Deployment

Der letzte Schritt im Modellierungsprozess ist das Deployment auf das Zielsystem. Data-Science-Projekte können sich hier von klassischen IT-Projekten unterscheiden. Neben Continuous Integration / Continuous Delivery (CI/CD) benötigen besonders Projekte, in denen maschinelles Lernen angewendet wird, zusätzliche Pipelines.

Diese Pipepelines werden im Allgemeinen unter Machine Learning Operations (ML-Ops) zusammengefasst. ML-Ops fokussiert sich dabei auf die Nutzung von Machine-Learning-Modellen in produktiven Umgebungen, die Wartung der Modelle und eine kontinuierliche Überwachung der Qualität der Modellergebnisse.

Sollten die Qualitätskennzahlen nicht mehr den Erwartungen entsprechen, ist eine Anpassung des Modells notwendig. Dies ist häufig der Fall, wenn sich die Daten grundlegend ändern.

Ein Beispiel ist das Auftreten einer neuen Klasse bei einer Klassifikationsaufgabe. Das Modell kennt diese Klasse noch nicht und kann entsprechende Daten nicht zuweisen. Eine enge Zusammenarbeit von Data Scientist:innen mit technischen und fachlichen Expert:innen ist hier erneut besonders wichtig, um die reibungslose Nutzung eines neuen Modells sicherzustellen und gegebenenfalls Anpassungen vorzunehmen.

Fazit

In diesem Blogbeitrag haben wir einen Überblick über den Micromata Modelling Process gegeben und die einzelnen Schritte detailliert beleuchtet. Der Prozess bietet einen klaren, strukturierten Ansatz, um Data-Science-Projekte von der Problemdefinition bis zur produktiven Anwendung erfolgreich ins Ziel zu führen. Durch die gezielte Zusammenarbeit aller genannten Stakeholder sorgen wir dafür, dass alle relevanten Fragen frühzeitig geklärt sowie die Daten- und die Ergebnisqualität maximiert werden.

Unsere iterative Vorgehensweise erlaubt es uns, flexibel auf neue Erkenntnisse zu reagieren und Modelle kontinuierlich zu optimieren. So können Unternehmen das volle Potenzial ihrer Daten nutzen und langfristig Mehrwerte schaffen.