Data Science Buzzwords und was sie bedeuten

Das Journal “Harvard Business Review” kürte vor ein paar Jahren “Data Scientist“ zum “Sexiest Job” des 21. Jahrhunderts [1], nicht zuletzt, weil datengetriebene Unternehmen wie Google, Amazon und Facebook enorme Gewinne verzeichnen können. Seitdem basteln moderne Unternehmen an ihrer Daten-Infrastruktur, wodurch Begriffe wie Machine Learning, Data Science und Data Mining in aller Munde sind. Aber was genau steckt hinter diesen ganzen Begriffen? Was haben sie gemeinsam, was unterscheidet sie? Und was macht eigentlich ein Data Scientist? Diese Fragen sollen nachfolgend beantwortet werden.

Data Scientist vor drei Bildschirmen mit verschiedenen Graphen

Buzzwords

Zunächst wollen wir versuchen, die Bedeutung einiger Schlagworte zu klären. Doch vorher sei zu beachten: Da das Themengebiet noch im Entstehen ist und sich schnell weiterentwickelt, sind viele Begriffe noch im Fluss und werden manchmal unterschiedlich verwendet. Die Begriffe werden wir am Beispiel eines fiktiven, global agierenden Logistikunternehmens „OrderNow“ veranschaulichen.

Data Science versucht, Wissen aus Daten zu generieren. Das Vorgehen von Data Scientists ist vergleichbar mit dem von Naturwissenschaftlern, die aus vielen Messdaten allgemeine Erkenntnisse ableiten. Dazu benutzen sie verschiedene Algorithmen, die im akademischen Kontext entwickelt und im industriellen Umfeld angewendet werden.
Ein wichtiges Beispiel hierzu ist die Vorhersage von Bestellungen. Aus der Buchhaltung von OrderNow weiß man, zu welchem Zeitpunkt welche Kunden was und in welcher Stückzahl bestellt haben. Ein Algorithmus eines Data Scientists analysiert diese Bestelldaten statistisch und kann dann vorhersagen, wann in der Zukunft welche Produkte in welchen Stückzahlen nachgefragt werden. Darauf vorbereitet kann OrderNow schon frühzeitig bei seinen Lieferanten bestellen und dann die eigenen Kunden schneller beliefern.

Big Data sind Datenmengen, welche zu groß, zu komplex, zu schnelllebig oder zu schwach strukturiert sind, um sie mit manuellen, herkömmlichen Methoden der Datenverarbeitung auszuwerten.
In unserem Beispiel könnten das die ständig wachsenden Bestelldaten der Vergangenheit sein.

Data Lake ist ein System von Daten, die unstrukturiert im Rohdatenformat gespeichert sind. Es werden dabei mehr Daten gespeichert als akut benötigt. In anderen Worten: ein Data Lake ist ein „Big Data“-Repository.
OrderNow besteht aus vielen Subunternehmen mit gewachsenen Strukturen. Die Bestelldaten sind manchmal Excel-Dateien und manchmal Einträge in SQL-Datenbanken.

Machine-Learning-Algorithmen lernen, ähnlich wie der Mensch, anhand von Beispielen Muster in Daten zu erkennen. Nach Abschluss der Lernphase können diese Muster in neuen Daten erkannt werden. Man spricht dabei auch von der künstlichen Generierung von Wissen aus Erfahrung. Bei der Anwendung dieser Algorithmen werden oft neuronale Netze verwendet.
Bei OrderNow wird diese Technik in der Kunden-App eingesetzt. Der Nutzer kann Objekte fotografieren, die App erkennt, um welches Produkt es sich handelt und es kann direkt bestellt werden. Ein Machine-Learning-Algorithmus hat dazu aus unzähligen kategorisierten Bilddateien gelernt, wie ein bestimmtes Produkt aussieht und kann dieses in neuen Bildern wiedererkennen.  

Deep Learning ist eine spezielleMethode des Machine Learning, welche neuronale Netze mit vielen Zwischenschichten (Hidden Layers) benutzt.

Data Mining ist der Versuch, neue Querverbindungen und Trends in großen Datenbeständen zu finden. Dabei werden statistische Methoden benutzt. Aufgrund der verschiedenen Herangehensweise ist Data Mining komplementär zu Machine Learning.
Bei OrderNow nutzt man Data Mining, um seinen Kunden Produkte zu empfehlen.

Was macht ein Data Scientist?

Unter diesen Schlagworten kann Data Science als der umfassendste Begriff gesehen werden. Ein Data Scientist nutzt unter anderem Methoden wie Machine Learning oder Data Mining, um aus Daten Wissen zu generieren.

Abbildung 1: Einen Data Scientist zeichnen Wissen und Fertigkeiten aus den Bereichen Informatik, Mathematik und Projektmanagement aus.

Dazu bedarf es verschiedener Fähigkeiten, die in Abbildung 1 zusammengefasst sind. Data Scientists programmieren häufig in den Sprachen Python oder R, kennen sich mit Datenbanken aus und wissen, wie man effizient Daten verarbeitet. Sie haben ein gutes Verständnis von Mathematik und Statistik. Der wissenschaftliche Teil ihrer Arbeit besteht nicht nur im Vorgehen beim Generieren von Wissen, sondern auch darin, dass sie die Fragestellungen, die mit der Datenbasis beantwortet werden sollen, selbst formulieren. Data Scientists müssen sich außerdem mit Projektmanagement auskennen. Sie arbeiten im Team mit Experten aus der Daten-Domäne, müssen die Ergebnisse gut im Unternehmen kommunizieren und schließlich mithelfen, ihre Erkenntnisse in die Praxis zu überführen, um Mehrwerte zu schaffen.

Mit Daten Mehrwerte schaffen

Was können solche Mehrwerte sein? Erkenntnisse für Entscheidungen des Managements einerseits, Optimierungen von bestehenden Produkten anderseits – das eigentliche Ziel ist jedoch häufig die Entwicklung neuer Produkte. Damit das gelingt, müssen Softwareentwickler und Data Scientists eng zusammenarbeiten. Die Zukunft wird zeigen, wie gut es uns gelingt, dies in die Tat umzusetzen.

References

[1] Davenport and Patil, Havard Business Review, October 2012

IoT (und mehr) mit Azure Digital Twins

Im Zuge der Weiterentwicklung der Industrie 4.0-Konzepte werden wir uns mit der Azure-Ausgabe der Digital Twins (digitale Zwillinge) befassen. Die Definition von digitalen Zwillingen geht von der digitalen Darstellung der Eigenschaften von realen Dingen (oder Menschen) aus, entweder in Echtzeit (zur Steuerung und vorausschauenden Wartung) oder in Simulationen, um Verhaltensweisen vor dem tatsächlichen Einsatz zu erfassen und zu testen. Als solche sind Azure Digital Twins eng mit den Azure IoT-Diensten verwandt; sie könnten jedoch noch etwas mehr leisten, wie wir im Folgenden sehen werden.

Symbolbild: Ein Ingenieur und eine Ingenieurin stehen in einer modernen Fabrik, während der Ingenieur ein Tablet bedient, mit dem er eine Maschine in der Produktionslinie steuert.

Wie werden Modelle erstellt und eingesetzt ?

Azure Digital Twins stützt sich auf die Digital Twins Definition Language (DTDL), die der JavaScript Object Notation for Linked Data (JSON-LD) folgt, wodurch sie sprachenagnostisch und mit bestimmten Ontologie-Standards verbunden ist. Die Root-Struktur wird als Schnittstelle deklariert, die Eigenschaften, Beziehungen und Komponenten enthalten kann. Eigenschaften können Telemetriedaten (ereignisbasiert, wie z. B. Temperaturmessungen) oder Werte (z. B. Name oder Gesamtverbrauch) enthalten, Beziehungen beschreiben die Verbindung zwischen Zwillingen (z. B. Etage enthält Raum), und schließlich sind Komponenten auch Modelle, die in der Schnittstelle per Id referenziert werden (z. B. Telefon hat Kamera-Komponente).

Modelle unterstützen Vererbung, daher kann man sich diese Modelle bereits als serverlose (POCOs) Klassen vorstellen. In der Tat werden aus diesen Modellen Instanzen erstellt, die in Azure Digital Twins leben. Es stellt sich die logische Frage: Wenn es sich um Klassen handelt, was ist dann mit Methoden? Hier kommen die serverlosen Azure Functions sehr gut zum Einsatz, da alle Ereignisse von Digital Twins mit Azure Functions abgefangen und verarbeitet werden können. Somit schaffen Azure Digital Twins, gepaart mit Azure Functions, eine leistungsstarke serverlose Infrastruktur, die sehr komplexe ereignisgesteuerte Szenarien implementieren kann, indem sie die bereitgestellte REST-API für die Modell- und Datenmanipulation nutzt. Der Preis für diese Flexibilität ist eine ziemlich steile Lernkurve und man muss Funktionen für die Dateneingabe und -ausgabe von Grund auf neu schreiben.

Json-Modelle können manuell erstellt werden, oder noch einfacher, Microsoft stellt Beispiel-Ontologien (vorgefertigte Domänenmodelle) in Excel zur Verfügung, die erweitert oder angepasst werden können. Mit dem Digital Twins Explorer (derzeit in der Vorschau im Azure-Portal) können diese Modelle in Azure hochgeladen werden, wobei die Erstellung von Instanzen und Beziehungen bereits automatisiert ist. Unter dem Azure Digital Twins Explorer befindet sich eine REST API, sodass man diese auch programmieren kann.

In unserer Beispielimplementierung eines intelligenten Gebäudes (siehe Abbildung 1) haben wir Modelle (links) und Instanzen mit Beziehungen (rechts) erstellt und hochgeladen. Es gibt eine Unternehmensmodellinstanz für ZEISS Digital Innovation (ZDI), die zwei Gebäude in Dresden und München hat, die jeweils Stockwerke, Räume und Aufzüge enthalten.

Screenshot aus einem Programm zur Modellierung von Azure Digital Twins
Abbildung 1: Modellierung

Wie kommen die Daten in das System?

In unserer Smart-Building-Implementierung (siehe Abbildung 2) verwenden wir den IoT-Hub, um Sensordaten aus Räumen (Temperatur, Energieverbrauch, Anzahl der Personen in den Räumen, usw.), sowie OPC-UA-konvertierte Daten aus Aufzügen, zu sammeln.

Schematische Darstellung der Architektur einer Smart-Building-Implementierung
Abbildung 2: Architektur

Normalerweise lässt sich IoT Hub mit ein paar Klicks problemlos in Insight Time Series integrieren, aber es sind einige Funktionen erforderlich, um diese Daten mit Digital Twins abzufangen. Die erste Funktion reagiert auf Änderungen im IoT Hub Event Grid und gibt Aktualisierungen an Digital Twins weiter, die dann andere Funktionen auslösen können, z. B. die Berechnung und Aktualisierung des Gesamtenergieverbrauchs im Raum und die Weitergabe an alle Eltern. Alle diese Änderungen in den Digital Twins werden in einem Update-Patch-Format an den Event Hub weitergeleitet, das von Insight Time Series nicht gelesen werden kann. Hier kommt eine weitere Funktion ins Spiel, die diese Patch-Änderungen umwandelt und sie an einen anderen Event Hub weiterleitet, den Insight Time Series abonnieren und die Daten speichern kann. Klingt über-technisch? Ist es auch! Wie bereits erwähnt, muss eine Menge Arbeit von Grund auf geleistet werden, aber wenn man sich erst einmal mit den Konzepten vertraut gemacht hat, ist der Preis die Flexibilität bei der Implementierung fast aller Szenarien. Von vertikalen Hierarchien mit Datenvermehrung (z. B. Aggregationen des Wärmeverbrauchs) bis hin zu horizontalen Interaktionen zwischen Zwillingen auf der Grundlage von Beziehungen (z. B. wenn ein Aufzug spricht und die Leistung der anderen Aufzüge im selben Gebäude auf der Grundlage eines KI-Modells beeinflusst) kann alles implementiert werden.

Eine weitere leistungsstarke Funktion besteht darin, dass wir Daten aus praktisch jeder Quelle in Digital Twins streamen und mischen können, um ihre Nutzung für Business Intelligence zu erweitern. Von ERP- und Buchhaltungssystemen bis hin zu Sensoren und OPC-UA-Servern können Daten in Echtzeit eingespeist und mit Querverweisen versehen werden, um nützliche Informationsströme zu erzeugen – von Teebeuteln, die an einem verschneiten Wintertag in der Küche ausgehen, bis hin zu der Frage, ob der monetäre Aufwand für die Aufzugswartung proportional zur Anzahl der Fahrten im Jahr ist.

Wie werden die Daten analysiert und berichtet?

In vielen industriellen Systemen und dank der immer preiswerteren Speicherung landen alle Telemetriedaten in der Regel in einer Zeitreihe zur Analyse und Archivierung.

Datenalarme, Durchschnittswerte und Aggregationen können jedoch ein echter Gewinn für die Berichterstattung in Echtzeit sein. Digitale Zwillinge bieten eine vollständige REST-API, über die Zwillinge auf der Grundlage von Beziehungen, Hierarchien oder Werten abgefragt werden können. Diese APIs können auch komponiert und in API Management Services für Echtzeitaufrufe an Dritte weitergegeben werden.

Eine andere Möglichkeit ist die Nutzung von Time Series Insights für eine umfassende Analyse kompletter Datensätze oder die Verwendung von Abfragen aus Time Series zur Erstellung interaktiver Berichte mit Power BI.

Sowohl Echtzeit- als auch historische Berichte haben ihre Berechtigung, und die optimale Nutzung sollte auf der Grundlage konkreter Szenarien bestimmt werden.

Zusammenfassung

Azure Digital Twins bieten eine sprachenagnostische Modellierung, die eine Vielzahl von Datentypen akzeptieren und verschiedene Ontologien unterstützen kann. In Verbindung mit serverlosen Funktionen können sehr komplexe und leistungsstarke interaktive Lösungen erstellt werden. Diese Flexibilität ist jedoch mit hohen Kosten für die manuelle Implementierung in den Datenfluss mittels Events und Funktionen verbunden. Aus diesem Grund ist zu erwarten, dass Microsoft (oder ein Open-Source-Anbieter) in Zukunft Middleware mit generischen Funktionen und Bibliotheken für Standarddatenflüsse bereitstellen wird.

AWS Athena: SQL – nur ohne Datenbank

Eine besondere Herausforderung vieler Unternehmen besteht darin, dass Daten oft noch Jahre später für neue Anwendungsfälle von Interesse sein können, jedoch zu diesem Zeitpunkt bereits längst entsorgt wurden oder sich deren Schemata in der Zwischenzeit mehrfach geändert haben. Auch kommt es oft vor, dass Daten bereits vor dem ersten Speichern selektiert, aggregiert oder transformiert wurden und somit für die spätere Verwendung nicht mehr komplett vorliegen.

Gerade für datenintensive Vorhaben im Bereich von Data Science oder KI müssten passende Daten daher erst neu gesammelt werden, was eine starke Verzögerung in den geplanten Vorhaben verursacht.

Wie können Data Lakes helfen?

Data Lakes sind ein Architekturpattern, welches darauf abzielt, Daten aus verschiedenen Applikationen in einem zentralen Ökosystem langfristig verfügbar zu machen. Daten möglichst aller Bereiche und Abteilungen eines Unternehmens werden an einer zentralen Stelle vorgehalten. Im Gegensatz zu klassischen Data Warehouses werden dabei jedoch immer auch die Rohdaten gespeichert, oft in Objektspeichern wie S3.

Der Vorteil dabei ist, dass die Informationen in vollem Umfang zur Verfügung stehen und nicht wie in klassischen Data Warehouses bei der ersten Speicherung bereits reduziert oder transformiert werden. Dadurch gibt es in dem zentralen Datenpool kein an spezielle Nutzerbedürfnisse angepasstes Schema, sodass sich die Konsumenten die Bedeutung der Daten in diesem Fall selbst herleiten müssen.

Um den Vorteil von Data Lakes effizient nutzen zu können, sollten diese bereichsübergreifend zur Verfügung gestellt werden. Dadurch können die Daten an allen Stellen abgerufen werden, an denen sie benötigt werden.

Dabei gibt es die Möglichkeit, die Daten in verschiedenen Zonen abzulegen. Dies ermöglicht den Zugriff für verschiedene Abstraktionslevel. So dienen bspw. für Data Scientists Low-Level-Tools wie Athena dazu, einen sehr tiefen und detaillierten Einblick in den Datenpool zu bekommen, während für Fachabteilungen eher spezialisierte Data Marts bereitgestellt werden sollten.

Was bietet Amazon Athena?

Mit Amazon Athena lassen sich SQL-Abfragen direkt auf (semi-) strukturierten Daten in S3-Buckets ausführen – ohne die Notwendigkeit einer Datenbank mit einem festen Schema. Auch vorbereitende ETL-Prozesse (Extract Transform Load), wie aus dem Bereich klassischer Data Warehouses bekannt, sind für die Arbeit mit den Rohdaten nicht notwendig.

Da Amazon Athena in den Bereich der Serverless-Dienste fällt, ist keinerlei Provision von Infrastruktur erforderlich. Dies geschieht automatisiert und für den Nutzer transparent im Hintergrund. Das spart zum einen Aufwand und Spezialwissen, zum anderen fallen bei der Nutzung des Dienstes nur Kosten pro Gigabyte der aus S3 gelesenen Daten an.

Vortrag zum Online-Campus

Einen tieferen Einblick zu den technischen Hintergründen sowie den Einsatz- und Optimierungsmöglichkeiten gibt es im nachfolgender Aufzeichnung von unserem ersten Online-Campus. In diesem Video werden Erfahrungen aus der Praxis diskutiert und eine kurze Live-Demo in der AWS-Konsole gezeigt.