Wissensvorsprung durch Datenhoheit – den Wandel zulassen

Wissen- das wertvollste Gut

Die Rede von der Wissensgesellschaft ist schon längst ein alter Hut. Der Begriff geht auf Daniel Bell zurück, der bereits 1973 im Rahmen seiner Studie „The Coming of Post-Industrial Society: A Venture in Social Forecasting“ zeigte, dass Wissen eine der wichtigsten Ressourcen in der Gesellschaft darstellt. Bell bezog sich hier primär auf theoretisches Wissen als strategische Ressource und dessen effektive Nutzung als Wettbewerbsvorteil. Längst ist klar geworden, dass Gleiches auch für digitales Wissen gilt. Immer mehr digitale Technologien durchziehen in ständig wachsendem Tempo unseren Alltag und bestimmen unser Leben. Durch die Digitalisierung des Wissens verändert sich die Welt des Wissens radikal. Read more

Top 10 der Python Bibliotheken für Data Science

Python gilt unter Data Scientists als Alternative zu R Statistics. Ich bevorzuge Python auf Grund seiner Syntax und Einfachheit gegenüber R, komme hinsichtlich der vielen Module jedoch häufig etwas durcheinander. Aus diesem Grund liste ich hier die – meiner Einschätzung nach – zehn nützlichsten Bibliotheken für Python, um einfache Datenanalysen, aber auch semantische Textanalysen, Predictive Analytics und Machine Learning in die Tat umzusetzen.

NumPy – Numerische Analyse

NumPy ist eine Open Source Erweiterung für Python. Das Modul stellt vorkompilierte Funktionen für die numerische Analyse zur Verfügung. Insbesondere ermöglicht es den einfachen Umgang mit sehr großen, multidimensionalen Arrays (Listen) und Matrizen, bietet jedoch auch viele weitere grundlegende Features (z. B. Funktionen der Zufallszahlenbildung, Fourier Transformation, linearen Algebra). Ferner stellt das NumPy sehr viele Funktionen mathematische Funktionen für das Arbeiten mit den Arrays und Matrizen bereit.

matplotlib – 2D/3D Datenvisualisierung

Die matplotlib erweitert NumPy um grafische Darstellungsmöglichkeiten in 2D und 3D. Das Modul ist in Kombination mit NumPy wohl die am häufigsten eingesetzte Visualisierungsbibliothek für Python.

Die matplotlib bietet eine objektorientierte API, um die dynamischen Grafiken in Pyhton GUI-Toolkits einbinden zu können (z. B. GTL+ oder wxPython).

NumPy und matplotlib werden auch mit den nachfolgenden Bibliotheken kombiniert.

Bokeh – Interaktive Datenvisualisierung

Während die Plot-Funktionen von matplotlib statisch angezeigt werden, kann in den Visualsierungsplots von Bokeh der Anwender interaktiv im Chart klicken und es verändern. Bokeh ist besonders dann geeignet, wenn die Datenvisualisierung als Dashboard im Webbrowser erfolgen soll.

Das Bild über diesen Artikel zeigt Visualiserungen mit dem Python Package Bokeh.

Pandas – Komplexe Datenanalyse

Pandas ist eine Bibliothek für die Datenverarbeitung und Datenanalyse mit Python. Es erweitert Python um Datenstrukturen und Funktionen zur Verarbeitung von Datentabellen. Eine besondere Stärke von Pandas ist die Zeitreihenanalyse. Pandas ist freie Software (BSD License).

Statsmodels – Statistische Datenanalyse

Statsmodels is a Python module that allows users to explore data, estimate statistical models, and perform statistical tests. An extensive list of descriptive statistics, statistical tests, plotting functions, and result statistics are available for different types of data and each estimator.

Die explorative Datenanalyse, statistische Modellierung und statistische Tests ermöglicht das Modul Statsmodels. Das Modul bringt neben vielen statistischen Funktionen auch eigene Plots (Visualisierungen) mit. Mit dem Modul wird Predictive Analytics möglich. Statsmodels wird häufig mit NumPy, matplotlib und Pandas kombiniert.

SciPy – Lineare Optimierung

SciPy ist ein sehr verbreitetes Mathematik-Modul für Python, welches den Schwerpunkt auf die mathematische Optimierung legt. Funktionen der linearen Algebra, Differenzialrechnung, Interpolation, Signal- und Bildverarbeitung sind in SciPy enthalten.

scikit-learn – Machine Learning

scikit-learn ist eine Framework für Python, das auf NumPy, matplotlob und SciPy aufsetzt, dieses jedoch um Funktionen für das maschinelle Lernen (Machine Learning) erweitert. Das Modul umfasst für das maschinelle Lernen notwendige Algorithmen für Klassifikationen, Regressionen, Clustering und Dimensionsreduktion.

Mlpy – Machine Learning

Alternativ zu scikit-learn, bietet auch Mlpy eine mächtige Bibliothek an Funktionen für Machine Learning. Mlpy setzt ebenfalls auf NumPy und SciPy, auf, erweitert den Funktionsumfang jedoch um Methoden des überwachten und unüberwachten maschinellen Lernens.

NLTK – Text Mining

NLTK steht für Natural Language Toolkit und ermöglicht den effektiven Einstieg ins Text Mining mit Python. Das Modul beinhaltet eigene (eher einfache) Visualisierungsmöglichkeiten zur Darstellung von Textmuster-Zusammenhängen, z. B. in Baumstrukturen. Für Text Mining und semantische Textanalysen mit Python gibt es wohl nichts besseres als NLTK.

Theano – Multidimensionale Berechnungen & GPU-Processing

Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently

Für multidimensionale Datenanalysen bzw. die Verarbeitung und Auswertung von multidimensionalen Arrays gibt es wohl nichts schnelleres als die Bibliothek Theano. Theano ist dabei eng mit NumPy verbunden.

Theano ermöglicht die Auslagerung der Berechnung auf die GPU (Grafikprozessor), was bis zu 140 mal schneller als auf der CPU sein soll. Getestet habe ich es zwar nicht, aber grundsätzlich ist es wahr, dass die GPU multidimensionale Arrays schneller verarbeiten kann, als die CPU. Zwar ist die CPU universeller (kann quasi alles berechnen), die GPU ist aber auf die Berechnung von 3D-Grafiken optimiert, die ebenfalls über multidimensionalen Vektoren verarbeitet werden.

Data Science Evolution

Wie wurde aus Business Intelligence eigentlich Big Data? Aus Sicht der Unternehmen herrscht große Verwirrung darüber, welcher Begriff nun eigentlich was bedeutet und was dieser für das Unternehmen bedeutet.

Es stellt sicadvanced-data-scienceh die Frage, ob Business Intelligence nun veraltet ist und von Big Data Analytics ersetzt wird oder ob Big Data Analytics die Weiterführung von Business Intelligence darstellt. Darüber gibt es unterschiedliche Meinungen, aber die Evolution, die sich über das letzte Jahrzehnt von einfachen Reports zu den aktuellen Möglichkeiten im Bereich von Big Data Analytics erstreckt, können wir uns recht deutlich vor Augen führen.

Raw Data

Rohdaten stellen das “Material” da, welches die Grundlage für jegliche Analysen bildet. Auch wenn Rohdaten erstmal nicht besonders erwähnenswert klingen, so existiert viel Wissenschaft und Business rund um Rohdaten, denn deren Speicherung kann durchaus sehr komplex sein. Abhängig von Art und Struktur der Daten kommen hier unterschiedliche relationale und nicht-relationale (NoSQL) Datenbanken zum Einsatz. Aktueller Trend ist ferner die InMemory-Datenhaltung, die unabhängig von der eigentlichen Datenbankstruktur möglich ist.

Das Angebot an kostenpflichtigen und kostenfreien Datenbanken ist bereits beinahe unüberschaubar groß. Beispielsweise können die relationalen Datenbanken MariaDB, Oracle DB oder PostgreeSQL genannt werden. Neo4J (graphenorientiert), MongoDB (dokumentenorientiert), Apache Cassandra und SAP HANA (beide spaltenorientiert) sowie Redis (Key-Value-Datenbank) sind hingegen Beispiele für sogenannte NoSQL-Datenbanken.

Clean Data

Bereinigte Daten sollte heutzutage eine Selbstverständlichkeit sein? Weit gefehlt! Aus Erfahrung kann ich sagen, dass eine wirklich saubere Datenbasis die Ausnahme darstellt. Die Regel sind Inkonsistenzen zwischen relationalen Daten, Formatfehler, leere Datenfelder (die nicht leer sein dürften) usw. Mit der Bereinigung der Daten haben zurzeit noch alle Unternehmen und Institute zu kämpfen, sofern sie sich diesen Kampf überhaupt stellen.

Standard-Reporting

Reporting in Excel gibt es nun schon mindestens zwei Jahrzehnte und wird auch heute noch (mehr) betrieben. Mit der Etablierung von ERP-Systemen, beispielsweise Microsoft Dynamics NAV oder SAP ERP, fand auch das automatisierte Reporting Einzug in die deutschen Unternehmen. Heute bieten alle ERP-Systeme (bzw. CRM-, SRM-, PLM-Systeme) zumindest grundlegende Reporting-Funktionen in Form von Tabellen, Balken- und Kuchendiagrammen. Diese Reports sind allerdings in der Regel wenig anpassbar durch die Anwender.

Business Intelligence

Kurz nach dem Einsetzen des Wachstums auf dem Markt der ERP-Systeme lebte auch das Business Intelligence mit den schönen grafischen Dashboards auf. BI bedient sich dabei überwiegend aus den Daten des ERP-Systems. Ferner werden noch weitere – vorwiegend unternehmensinterne – Daten hinzugezogen, z. B. aus Excel-Dateien. Der Erfolg von Business Intelligence kam insbesondere mit den Dashboards und einer einfachen Bedienbarkeit, denn BI wurde für ERP-Anwender gemacht.

Im Bereich BI hatte QlikTech mit der Software QlikView einen Volltreffer gelandet, denn diese hat den Weg in viele Unternehmen als BI-Lösung gefunden.

(Big) Data Analytics – Causality Analytics

Data Analytics geht einen Schritt weiter als BI, denn hier geht es nicht nur darum zu analysieren, welche Ereignisse eingetreten sind, sondern auch warum. Data Analytics ist sehr viel flexibler als BI und wird tendenziell eher programmiert als zusammengeklickt. Hier spielen Daten aus externen Datenquellen (z. B. dem Internet) oftmals eine wichtige Rolle und machen daraus Big Data. Zudem kommt vermehrt Statistik und Machine Learning zum Einsatz um Kausalitäten aus den vielfältigen Datenmengen

Gearbeitet wird beispielsweise mit den Programmiersprachen R und Python, aber auch mit IBM SPSS oder SAS Advanced Analytics.

Predictive Modeling

Prädiktive Analysemodelle gehen noch einen Schritt weiter, denn nach der Frage nach dem Warum stellt sich für viele Geschäftszwecke die Frage, wann es wieder geschehen wird. Predictive Analytics gilt als eine Königsdisziplin, arbeitet mit induktiver Statistik und scheint mit der Einbindung von Big Data beinahe unbegrenzte Möglichkeiten der Vorhersage z. B. von Umsätzen, Lagerbeständen und Maschinenabnutzung zu bieten.

Optimierung

Der letzte Schritt in der Evolution ist die Simulation von allen Stellschrauben mit dem Ziel zur Optimierung des Systems (z. B. das Geschäft, die Fabrik oder die Maschine). Was in der Industriebetriebswirtschaft schon lange als Operations Research bekannt ist, wird mit Big Data Analytics einen neuen Aufschwung erfahren, denn hier werden immer mehr relevante Stellschrauben identifiziert und berücksichtigt werden können.

DataQuest.io – Online Einstieg in Data Science mit Python

Data Science hat unglaublich viele Facetten und eine davon, ist die Analyse von Daten mit der Programmiersprache Python. Diese Programmiersprache ist neben R eine der am häufigsten eingesetzten Programmiersprachen für alle möglichen Aufgaben rund um die Auswertung von Daten.

Wer schon immer in die Datenanalyse mit Python einsteigen wollte, kann dies nun sehr einfach über einen ausgeklügelten Online-Kurs namens DataQuest tun.

Ich selbst habe DataQuest ausprobiert und finde es super. Die ersten Module waren für mich erstmal sehr zäh, da sich diese mit Pythen und einigen Programmiergrundlagen befassen. Die Module können allerdings in beliebiger Reihenfolge abgearbeitet werden. Hat man den “Learning Python”-Teil aber durch, wird es schnell sehr spezifisch und auch als Experte kann die Aufgaben als guten Denksport verstehen.

Sehr gut dabei ist, dass der komplette Kurs online in der Cloud stattfindet. Benötigt wird nichts weiter als ein gewöhnlicher Internet-Browser und man muss sich nicht mit der Einrichtung von Python und der Entwicklungsumgebung auf dem Computer beschäftigen. DataQuest stellt über den Browser server-seitig die Entwicklungsumgebung bereit. Es kann also sofort nach der Account-Einrichtung losgehen! Die Kurse von DataQuest gibt es allerdings nur auf Englisch.

Der Kursumfang beginnt recht ausführlich über die Grundlagen der Programmierung, basierend auf Python. Die Grundlagen werden jedoch bereits überwiegend anhand von Aufgaben im Bereich der Datenanalyse erklärt, beispielsweise den Zugriff auf Textdateien.

Zumindest alle Grundlagen-Kurse sind kostenlos. Der weitere Kursinhalt über die Programmiergrundlagen hinaus befasst sich direkt mit dem Einstieg in Data Science mit der explorativen Datenanalyse, der Datenvisualisierung und der Statistik im Allgemeinen und Predictive Analytics im Speziellen. Ferner sollen in der Zukunft Kurse mit einen Einstieg ins Maschinelle Lernen (Machine Learning) angeboten werden. Die interessantesten Kurse können jedoch nur über den Premium-Account gestartet werden. Dieser ist für bezahlbare 35 US-Dollar pro Monat zu haben.

URL zum Anbieter: www.dataquest.io

Was ist Data Science?

Was bitte soll Data Science bedeuten? Diese Frage bekomme ich häufig von meinen Kunden (überwiegend kaufmännische Leiter größerer Wirtschaftsunternehmen) gestellt. Und überraschenderweise können auch viele IT-affine Professionals, die sich beispielsweise schon mit Business Intelligence auseinandergesetzt haben, noch nichts mit dieser Bezeichnung anfangen.

Data Science ist eine recht neue Bezeichnung und entstammt – wie nicht anders zu vermuten – aus dem angelsächsischen Sprachraum, genau wie auch Business Intelligence und Big Data Analytics. Dadatasciencebei ist meiner Meinung nach Data Science ein vergleichsweise sehr treffender Name (wesentlich besser als etwa der irreführende Begriff Big Data). Zwar besagt ein Blick auf Wikipedia zum Thema, dass Data Science als Begriff schon fast ein halbes Jahrhundert existiert, aber so richtig in Verwendung ist es eigentlich erst seit einem halben Jahrzehnt, bestenfalls.

Data Science als angewandte Wissenschaft

Das Science in Data Science deutet ganz klar auf Wissenschaft hin, auch wenn – meiner Meinung nach – der Begriff wissenschaftlich im Deutschen etwas strenger verwendet wird als Science im Englischen. Data Science hat seinen Ursprung tatsächlich in der Wissenschaft und ist z. B. in der Astronomie, Biologie, Medizin sowie den verschiedensten Sozialwissenschaften längst nicht mehr wegzudenken, hat jedoch auch den Weg in die Geschäftswelt gefunden. Die Data Science Methoden kommen aus der Informatik bzw. Mathematik und werden im Rahmen von universitären Forschungsprojekten weiterentwickelt. Die Methoden können mit etwas Hintergrundverständnis quasi von jedermann angewendet werden. Data Science ist vor allem eine angewandte Wissenschaft, in die jeder Anwender beliebig tief eintauchen kann.

Data Science und die Interdisziplinarität

Eine wichtige Disziplin im Data Science ist die Mathematik, davon insbesondere die Stochastik (Wahrscheinlichkeitstheorie und Statistik). Die Grundlagen der Datenanalyse zur Beschreibung von Sachverhalten erfolgt dabei mit den Methoden der deskriptiven Statistik. Bei der Generierung von neuen Erkenntnissen direkt aus Datenmengen heraus (Data Mining bzw. explorative Datenanalyse), wird von der explorativen Statistik ermöglicht. Die induktive Statistik geht noch einen Schritt weiter und ermöglicht Schätzverfahren bzw. Prognosen über zukünftige Ereignisse (Predictive Analytics). Neben den stochastischen Methoden spielen aber auch andere Bereiche der Mathematik eine Rolle, wie etwa die lineare Optimierung oder Systeme der künstlichen Intelligenz.

Mathematik ist jedoch längst nicht alles, was im Data Science eine Rolle spielt, denn mindestens ebenso wichtig ist Wissen über Datenverarbeitung (früher als EDV bekannt). Um Daten analysieren zu können, muss auf diese erstmal zugegriffen werden können, ggf. müssen diese auch überhaupt erstmal gesammelt werden. Zum Data Science gehören mindestens Grundkenntnisse über relationale Datenbanken und die Structured Query Language (SQL) auf jeden Fall dazu. Insbesondere im aktuellen Big Data Kontext, spielen aber vermehrt auch andersartige Datenbanken (sogenannte NoSQL-Datenbanken) eine wichtige Rolle, denn diese Datenbanken eignen sich zur Speicherung von besonders großen und/oder unstrukturierten Datenmengen.
Die besten Erkenntnisse bringen oftmals Datenanalysen über Daten aus unterschiedlichsten Datenquellen, welche über Extract-Transform-Load-Strecken (ETL) zusammen geführt werden. Die eigentlichen Analysen können mit verschiedensten Tools durchgeführt werden oder aber über dutzende Programmiersprachen. Wissen um Tools rund um ETL und Datenanalysen beschleunigen den Arbeitsalltag, stoßen jedoch schnell an gewisse Grenzen, bei denen man mit Programmiersprachen ansetzen muss. Im Data Science spielt Software Engineering grundsätzlich keine Rolle. Ein Data Scientist muss sich also für gewöhnlich keine Gedanken über eine Software-Architektur oder GUI-Entwürfe machen, auch spielt für Ihn Software-Sicherheit oder -Ergonomie keine entscheidende Rolle. Im Data Science kommen überwiegend Script-Sprachen (z. B. R, Perl oder Python) zum Einsatz. Sauberer Quellcode jedoch, ist auch im Data Science wichtig, da die Analyse und somit auch die Ergebnisse reproduzierbar bleiben müssen.

Neben der Mathematik und dem Wissen um IT, gibt es jedoch noch einen dritten Bereich, der im Data Science eine wirklich wichtige Rolle spielt: Die eigentliche Substanzwissenschaft. Es versteht sich von selbst, dass z. B. Datenanalyse für medizinische Zwecke nur effektiv nur von jemanden durchgeführt werden können, der über eine entsprechende medizinische Kompetenz verfügt. Genauso gut aber, ist Wissen über die Betriebswirtschaft und das aktuelle Geschäftsgeschehen von entscheidender Bedeutung, wenn es um Datenanalyse zum Zwecke der Geschäftsoptimierung (Business Analytics) geht.

Lieferantenkonsolidierung durch Analyse unstrukturierter Einkaufsdaten

Häufig ist in der Einkaufspraxis eine Beschaffung gleicher Artikel und Warengruppen bei den verschiedensten Lieferanten festzustellen. Eine schlechte Datenqualität sowie intransparente Prozesse sind ein ausschlaggebender Grund dafür, dass die Einkaufsleitung Möglichkeiten der Bündelung bei wenigen Lieferanten nicht vollständig erkennt und deren Einsparpotenziale nicht im vollen Umfang realisiert werden können. Schuld daran sind oft mehrere Faktoren, wie mangelhafte Soll-Prozesse, fehlende interne Richtlinien, inkonsistente Stammdaten und pauschale Buchungen über “Dummy”-Werte sowie falsch konfigurierte IT-Systeme. Data Quality Analytics, eine Sammlung von auf die Datenbasis anzuwendende analytische Testverfahren, können typische sowie untypische Datenfehler sowie Inkonsistenzen ausfindig gemacht und zudem bereinigt werden.

Sollten die Bestellungen über pauschale Dummy-Positionen (beispielsweise “Betriebsmittel” oder “Fremdleistungen”) verbucht werden, können Bündelungspotenziale vom strategischen Einkauf nicht so einfach erkannt werden. Hinzu kommt häufig eine mangelhafte Pflege von Matieralstammdaten. Sind in den Bewegungsdaten – hierzu zählen insbesondere Daten über Aufträge, Bestellungen, Wareneingänge, Lagerverbräuche, Rechnungen und Zahlungen – jedoch wenigstens vereinzelt Texte über die Position (z. B. Artikelname) vorhanden, können über Textalgorithmen besonders hervorstechende Wörter aus diesen semi-strukturierten Daten extrahiert, nach bestimmten Kontextmodellen gefiltert und aggregiert werden. Wenn beispielsweise in einzelnen Positionstexten Begriffe vorkommen, die bestimmte Voraussetzungen erfüllen – beispielsweise ein Matching der jeweiligen Begriffe untereinander oder mit Wortlisten (z. B. dem Duden) – kann über eine Netzwerkanalyse ermittelt werden, über welche Lieferanten und verantwortliche Stellen gleichartige Positionen bezogen werden. In der einfachsten Variante werden die Begriffe gefiltert, die über mehrere Positonstexte wiederholt vorkommen.  Aus dem gesamten Buchungsstoff können so automatisiert Bündelungspotenziale im vollen Umfang über ein Vorschlagssystem aufgedeckt werden. Dies funktioniert auch dann, wenn der Einkauf über mehrere Betriebe mit unterschiedlichen IT-Systemen betrachtet werden soll. Diese neuartigen Analyseformen ermöglichen für den Einkauf neue Kostensenkungspotenzialeoftmals im zweistelligen Prozentbereich – die vom strategischen Einkauf verhältnismäßig leicht zu realisieren sind.