Daten und Statistik

Was ein Data Scientist wirklich können muss



Benjamin Aunkofer ist Gründer von DATANOMIQ, einem Dienstleister für Data Science und Business Analytics, sowie Mitbegründer des Vereins für datengestützte Produktion und Logistik, Connected Industry e.V. Er ist Software-Entwickler (IHK) und Wirtschaftsingenieur (M. Sc.), steuert als Chief Data Scientist aktiv Data Science Teams und gilt als Spezialist für Big Data Analytics und Industrie 4.0.
Der Job des Data Scientist ist in der Wirtschaft gefragt wie nie. Doch was muss ein Data Scientist können? Natürlich gehört dazu Kenntnis über Datenverarbeitung und Statistik, doch war das alles?

Die Frage nach den SkillsSkills eines Data Scientists wurde bereits häufig gestellt und auch mindestens so häufig beantwortet. Mittlerweile sind sich führende Datenexperten und CIOs einig darüber, welche Aufgaben ein Data Scientist übernehmen soll und welche Fähigkeiten dafür notwendig sind. Ich möchte versuchen, diesen Konsens in eine Grafik zu bringen, in ein Schichten-Modell: dem Data Science Knowledge Stack Alles zu Skills auf CIO.de

Schichten-Modelle sind in der Informatik eine gern genommene Variante um Zusammenhänge zu erklären. Wer sich Data Science von einer einzelnen Person erläutern lässt, wird mit hoher Wahrscheinlichkeit von einer ganz bestimmten Richtung dieser Fachdisziplin erfahren. Beispielsweise könnte Ihnen ein Data Scientist ein Seminar für Data Science für Business Analytics mit Python geben, also nicht beispielsweise für medizinische Analysen und auch nicht mit R oder Julia. Jeder Data Scientist vermittelt eine ganz bestimmte Richtung.

Jedoch können wir die Fähigkeiten aller Data Scientists abstrahieren!

Ein Data Scientist muss bei jedem Data Science Vorhaben Probleme auf unterschiedlichen Ebenen bewältigen, beispielsweise klappt der Datenzugriff nicht wie geplant oder die Daten haben eine andere Struktur als erwartet. Ein Data Scientist kann Stunden damit verbringen, seinen eigenen Quellcode zu debuggen oder sich in neue Data-Science-Pakete für seine ausgewählte Programmiersprache einzuarbeiten.

Auch müssen die richtigen Algorithmen zur Datenauswertung ausgewählt, richtig parametrisiert und getestet werden, manchmal stellt sich dabei heraus, dass die ausgewählten Methoden nicht die optimalen waren. Letztendlich soll ein Mehrwert für den Fachbereich generiert werden und auch auf dieser Ebene wird ein Data Scientist vor besondere Herausforderungen gestellt. Und das alles völlig unabhängig von dem Fachbereich, in dem er sein Wissen und seine Tools anwendet.

Data Science Knowledge Stack

Der Data Science Knowledge Stack schafft einen strukturierten Einblick in die Aufgaben und Herausforderungen eines Data Scientists. Die Schichten des Stapels stellen zudem einen bidirektionalen Fluss dar, der von oben nach unten und von unten nach oben verläuft, denn Data Science als Disziplin ist ebenfalls bidirektional: Data Scientists versuchen gestellte Fragen mit Daten zu beantworten oder schauen, welche Potenziale in den Daten liegen, um bisher noch nicht gestellte Fragen zu beantworten.

Der Data Science Knowledge Stack mit Beispielen für jede Ebene.
Der Data Science Knowledge Stack mit Beispielen für jede Ebene.
Foto: Benjamin Aunkofer

1. Schicht: Database Technology Knowledge

Ein Data Scientist arbeitet im Schwerpunkt mit Daten und die liegen selten direkt in einer CSV-Datei strukturiert vor, sondern in einer oder in mehreren Datenbanken, die ihren eigenen Regeln unterliegen. Insbesondere Geschäftsdaten, beispielsweise aus dem ERP- oder CRM-System, liegen in relationalen Datenbanken vor, oftmals von Microsoft, Oracle, SAP oder eine Open-Source-Alternative. Ein guter Data Scientist beherrscht nicht nur die Structured Query Language (SQL), sondern ist sich auch der Bedeutung relationaler Beziehungen bewusst, kennt also auch das Prinzip der Normalisierung.

Andere Arten von Datenbanken, sogenannte NoSQL-Datenbanken (Not only SQL) beruhen auf Dateiformaten, einer Spalten- oder einer Graphenorientiertheit. Beispiele für verbreitete NoSQL-Datenbanken sind MongoDB, Cassandra oder Neo4J.

Ein Data Scientist muss demnach mit unterschiedlichen Datenbanksystemen zurechtkommen und mindestens SQL - den Quasi-Standard für Datenverarbeitung - sehr gut beherrschen.

2. Schicht: Data Access & Transformation Knowledge

Liegen Daten in einer Datenbank vor, können Data Scientists einfache Analysen bereits direkt auf der Datenbank ausführen. Doch wie bekommen wir die Daten in unsere speziellen Analyse-Tools? Hierfür muss ein Data Scientist wissen, wie Daten aus der Datenbank exportiert werden können. Für einmalige Aktionen kann ein Export als CSV-Datei reichen, doch bereits hier sind Parameter zu berücksichtigen, beispielsweise sinnvolle Trennzeichen, Encoding, Textqualifier oder Splits bei besonders großen Daten.

Bei direkten Datenanbindungen kommen Schnittstellen wie REST, ODBC oder JDBC ins Spiel. Etwas Kenntnis über Socket-Verbindungen und Client-Server-Architekturen zahlt sich dabei manchmal aus. Ferner sollte jeder Data Scientist mit synchronen und asynchronen Verschlüsselungsverfahren vertraut sein, denn nicht selten wird mit vertraulichen Daten gearbeitet und ein Mindeststandard an Sicherheit ist zumindest bei geschäftlichen oder medizinischen Anwendungen stets einzuhalten.

Viele Daten liegen nicht strukturiert in einer Datenbank vor, sondern sind sogenannte unstrukturierte oder semi-strukturierte Daten aus Dokumenten oder aus Internetquellen. Auch hier sehen sich Analysten mit Schnittstellen konfrontiert, beispielsweise zu Social-Media-Kanälen. Manchmal sollen Daten in nahezu Echtzeit analysiert werden, wie es oft bei Maschinen- oder Finanzdaten der Fall ist. Data Streaming ist zwar eine eigene Disziplin, doch jeder Data Scientist kann mit dieser schnell in Berührung kommen.

3. Schicht: Programming Language Knowledge

Programmiersprachen sind für Data Scientists Werkzeuge, um Daten zu verarbeiten und die Verarbeitung zu automatisieren. Data Scientists sind in der Regel keine richtigen Software-Entwickler und tatsächlich müssen sie sich nicht um Software-Sicherheit oder -Ergonomie kümmern.

Ein gewisses Basiswissen über Software-Architekturen kann allerdings hilfreich sein, denn immerhin sollen manche Programme der statistischen Auswertung oder des maschinellen Lernens in eine IT-Landschaft integriert werden. Unverzichtbar ist hingegen das Verständnis für objektorientierte Programmierung und die gute Kenntnis der Syntax der Programmiersprache, die für die Data Science Vorhaben ausgewählt wurde, in der Regel sind das gegenwärtig R oder Python.

Auf dem Level der Programmiersprache gibt es beim Arbeitsalltag eines Data Scientists bereits viele Fallstricke, die in der Programmiersprache selbst begründet sind, denn jede hat ihre eigenen Tücken. Details entscheiden darüber, ob eine Analyse richtig oder falsch abläuft: Beispielsweise ob Datenobjekte als Kopie oder als Referenz übergeben oder wie NULL-Werte behandelt werden.

4. Schicht: Data Science Tool & Library Knowledge

Hat ein Data Scientist seine Daten erstmal in sein favorisiertes Tool geladen, beispielsweise in eines von IBM, SAS oder in eine Open-Source-Alternative wie Octave, fängt seine Kernarbeit gerade erst an. Diese Tools sind nicht unbedingt selbsterklärend und auch deshalb gibt es ein vielfältiges Zertifizierungsangebot für diverse Data Science Tools.

Viele (wenn nicht die meisten) Data Scientists arbeiten lieber direkt mit einer Programmiersprache, doch reicht diese alleine nicht aus, um effizient statistische Datenanalysen oder Machine LearningMachine Learning zu betreiben: Wir verwenden Data-Science-Bibliotheken, also Pakete (Packages), die uns Datenstrukturen und Methoden als Vorgabe bereitstellen und die Programmiersprache somit erweitern, damit allerdings oftmals auch neue Tücken erzeugen. Alles zu Machine Learning auf CIO.de

Eine solche Bibliothek, beispielsweise Scikit-Learn für Python, ist eine in der Programmiersprache umgesetzte Methodensammlung und somit ein Data Science Tool. Die Verwendung derartiger Bibliotheken will jedoch gelernt sein und erfordert für die zuverlässige Anwendung daher Einarbeitung und Praxiserfahrung.

Geht es um Big DataBig Data Analytics, also die Analyse von besonders großen Daten, betreten wir das Feld von Distributed Computing (Verteiltes Rechnen). Tools (bzw. Frameworks) wie Apache Hadoop, Apache Spark oder Apache Flink ermöglichen es, Daten zeitlich parallel auf mehren Servern zu verarbeiten und auszuwerten. Auch stellen diese Tools wiederum eigene Bibliotheken mit ihren Eigenheiten bereit, für Machine Learning z. B. Mahout, MLlib und FlinkML. Alles zu Big Data auf CIO.de

5. Schicht: Data Science Method Knowledge

Ein Data Scientist ist nicht einfach nur ein Bediener von Tools, sondern nutzt die Tools, um seine Analyse-Methoden auf Daten anzuwenden, die er für die festgelegten Ziele ausgewählt hat. Diese Analyse-Methoden sind beispielweise Auswertungen der beschreibenden Statistik, Schätzverfahren oder Hypothesen-Tests. Etwas mathematischer sind Verfahren des maschinellen Lernens zum Data Mining, beispielsweise Clusterung oder Dimensionsreduktion oder solche in Richtung automatisierter Entscheidungsfindung durch Klassifikation oder Regression.

Maschinelle Lernverfahren funktionieren in der Regel nicht auf Anhieb, sie müssen unter Einsatz von Optimierungsverfahren verbessert werden. Ein Data Scientist muss Unter- und Überanpassung erkennen können und er muss beweisen, dass die Vorhersageergebnisse für den geplanten Einsatz akkurat genug sind.

Spezielle Anwendungen bedingen spezielles Wissen über Machine Learning bzw. Deep Learning, was beispielsweise für die Themengebiete der Bilderkennung (Visual Computing) oder der Verarbeitung von menschlicher Sprache (Natural Language Processiong) zutrifft.

6. Schicht: Fachexpertise

Data Science ist kein Selbstzweck, sondern eine Disziplin, die Fragen aus anderen Fachgebieten mit Daten beantworten möchte. Aus diesem Grund ist Data Science so vielfältig. Betriebswirtschaftler brauchen Data Scientists um Finanztransaktionen, Kundenverhalten oder Lieferantensituationen zu analysieren. Naturwissenschaftler wie Geologen, Biologen oder Experimental-Physiker nutzen ebenfalls Data Science, um ihre Beobachtungen mit dem Ziel der Erkenntnisgewinnung zu machen. Ingenieure möchten die Situation und Zusammenhänge von Maschinenanlagen oder Fahrzeugen besser verstehen und Mediziner interessieren sich für die bessere Diagnostik und Medikation bei ihren Patienten.

Damit ein Data Scientist einen bestimmten Fachbereich mit seinem Wissen über Daten, Tools und Analyse-Methoden ergebnisorientiert unterstützen kann, benötigt er selbst ein Mindestmaß an der entsprechenden Fachexpertise. Wer Analysen für Kaufleute, Ingenieure, Naturwissenschaftler, Mediziner, Juristen oder andere Interessenten machen möchte, muss sie auch fachlich verstehen können.

Engere Data Science Definition

Während die Data Science Pioniere längst hochgradig spezialisierte Teams aufgebaut haben, suchen beispielsweise kleinere Unternehmen eher den Data-Science-Allrounder, der vom Zugriff auf die Datenbank bis hin zur Implementierung der analytischen Anwendung das volle Aufgabenspektrum unter Abstrichen beim Spezialwissen übernehmen kann.

Unternehmen mit spezialisierten Data Labs, das sind Data Science Abteilungen als Stabstelle bzw. Shared Service Center, unterscheiden ihre Datenexperten jedoch längst relativ genau in Data Scientists, Data Engineers und Business Analysten. Die Definition für Data Science und die Abgrenzung der Fähigkeiten, die ein Data Scientist haben sollte, schwankt daher zwischen der breiteren und einer engeren Abgrenzung.

Data Science wird in der Lehre meistens etwas enger gefasst. In der Praxis grenzen nur hochspezialisierte Abteilungen, sogenannte Data Labs, entsprechend eng ab. Mittelständische Unternehmen suchen hingegen meistens den Allrounder.
Data Science wird in der Lehre meistens etwas enger gefasst. In der Praxis grenzen nur hochspezialisierte Abteilungen, sogenannte Data Labs, entsprechend eng ab. Mittelständische Unternehmen suchen hingegen meistens den Allrounder.
Foto: Benjamin Aunkofer

Die engere Betrachtung sieht vor, dass ein Data Engineer die Datenbereitstellung übernimmt, der Data Scientist diese in seine Tools lädt und gemeinsam mit den Kollegen aus dem Fachbereich die Datenanalyse betreibt. Demnach bräuchte ein Data Scientist wenig bis kein Wissen über Datenbanken oder APIs und auch die Fachexpertise wäre eigentlich nicht in ausgeprägter Form notwendig.

Wie Data Science in der beruflichen Praxis aussieht, hängt sicherlich sehr davon ab, ob es dabei um die Anwendung im Unternehmen oder in der Wissenschaft geht. Das Aufgabenspektrum eines Data-Science-Allrounders umfasst mehr als nur den Kernbereich. Der Irrtum, Data Science auf diese engere Sicht zu beschränken, entsteht sicherlich auch in Data-Science-Kursen und -Seminaren, denn dort wird sich - verständlicherweise - auf Data Science als Disziplin konzentriert: Programmierung, Tools und Methoden aus der Mathematik & Statistik.

Links zum Artikel

Kommentare zum Artikel

comments powered by Disqus
Zur Startseite