Tag Archive for: Data Science

SMART DATA Developer Conference

SMART DATA Developer Conference macht Softwareentwickler und IT-Professionals fit für Big Data

Nahezu alle befragten Unternehmen geben in der aktuellen Studie „Big Data Use Cases 2015“ der Business Application Research Center – BARC GmbH an, dass strategische Entscheidungen von Daten gestützt sind oder sogar alleinig auf Grundlage von Ergebnissen aus Big-Data-Analysen getroffen werden. Der Studie zufolge ist die größte Herausforderung für Unternehmen derzeit das fehlende fachliche oder technische Know-how. Genau hier setzt die SMART DATA Developer Conference an.

Big Data & Smart Analytics – Durchblick im Markt

Das gesamte Programm der Veranstaltung finden Sie unter smart-data-developer-conference.de/#program

„Nicht die Technik ist heute die Hürde für erfolgreiche Geschäftsmodelle, sondern das Kundenverständnis. Das erreicht man nur mit Smart Data“, so Michael Nolting, Sevenval Technologies GmbH und Keynotesprecher der SMART DATA Developer Conference.

[box type=”tick”]15% Rabatt bei Eingabe des Werbe-Codes: SMART16science[/box]

In seiner eröffnenden Session entwickelt er eine Matrix, die den Teilnehmer befähigt, verfügbare Technologie-Stacks zu bewerten: Welche Technologie und welcher Anbieter sind für den speziellen Anwendungsfall am besten geeignet? Mit dieser Entscheidungshilfe lassen sich Verfahren schnell vergleichen, damit das passende zuverlässig ermittelt wird.

Weitere Themen im Programm sind:

  • Batch & Stream Processing mit Google Dataflow
  • Datenanalysen mit Python und ApacheSpark
  • Datenqualität und –visualisierung
  • uvm

Die SMART DATA Developer Conference vom 18. – 19. April 2016 in München macht Softwareentwickler mit den Herausforderungen von Big Data vertraut. Im Konferenzprogramm erlangen sie Wissen zu Speicherung, Analyse, Plattformen und Tools. In kleinen Gruppen können sie am Workshoptag diese Technologien intensiv trainieren.

Leser des Data Science Blog erhalten mit dem Code SMART16science einen Rabatt von 15 % bei Anmeldung. Damit ist die Teilnahme an der Konferenz ab EUR 425 zzgl. MwSt. möglich oder an beiden Tagen ab EUR 935. Programm und Anmeldung unter smart-data-developer.de.

Toolkits & Services für Semantische Textanalysen

Named Entity Recognition ist ein Teilgebiet von Information Extraction. Ziel von Information Extraction ist die Gewinnung semantischer Informationen aus Texten (im Gegensatz zum verwandten Gebiet des Information Retrieval, bei dem es um das möglichst intelligente Finden von Informationen, die u.U. vorab mit Information Extraction gewonnen wurden, geht). Named Entity Recognition (kurz NER) bezeichnet die Erkennung von Entitäten wie z.B. Personen, Organisationen oder Orten in Texten.

[box]Beispiel:
Albert Einstein war ein theoretischer Physiker, der am 14. März 1879 in Ulm geboren wurde. Er erhielt 1921 den Nobelpreis für Physik. Isaac Newton, Einstein und Stephen Hawking werden oft als die größten Physiker seit der Antike bezeichnet.”[/box]

Die Disambiguierung von Entitäten ist ein weiterer wichtiger Schritt auf dem Weg zu einem semantischen Verständnis von Texten. Wenn man so in obigem Text erkennen kann, dass “Albert Einstein“, “Er” und “Einstein” die gleiche Person bezeichnen, so kann ein Analyseverfahren z.B. daraus schließen, dass in diesem Text Einstein eine wichtigere Rolle spielt, als Newton, der nur einmal erwähnt wurde. Die Hyperlinks hinter den jeweiligen Entitäten zeigen eine Möglichkeit der semantischen Anreicherung von Texten an – in diesem Fall wurden die Entitäten mit entsprechenden Einträgen bei DBpedia automatisch verlinkt.

Named Entity Recognition dient vorrangig zwei Zwecken:

  • Anreicherung von Texten mit Metadaten
  • Abstraktion von Texten zur besseren Erkennung von Mustern

Punkt 1 dient direkt dem Information Retrieval. Anwender können so z.B. gezielt nach bestimmten Personen suchen, ohne alle möglichen Schreibweisen oder Berufsbezeichnungen auflisten zu müssen.

Punkt 2 dient der Vorverarbeitung von Texten als Input für Machine Learning Verfahren. So ist es (je nach Anwendung!) oft nicht von Bedeutung, welche Person, welcher Ort oder auch welche Uhrzeit in einem Text steht sondern nur die Tatsache, dass Personen, Orte oder Zeiten erwähnt wurden.

Sirrus Shakeri veranschaulicht die zentrale Bedeutung semantischer Analyse in seinem Beitrag From Big Data to Intelligent Applications:

intelligent-applications-cirrus-shakeri

Abbildung 1: Von Big Data zu Intelligent Applications von Cirrus Shakeri

Sein “Semantic Graph” setzt voraus, dass Entitäten mittels “Natural Language Processing” erkannt und zueinander in Beziehung gesetzt wurden.

Es ist interessant zu vermerken, dass Natural Language Processing und Data Mining / Machine Learning über viele Jahre als Alternativen zueinander und nicht als Ergänzungen voneinander gesehen wurden. In der Tat springen die meisten Vorgehensmodelle heutzutage von “Data Preparation” zu “Machine Reasoning”. Wir argumentieren, dass sich in vielen Anwendungen, die auf unstrukturierten Daten basieren, signifikante Qualitätsverbesserungen erzielen lassen, wenn man zumindest NER (inklusive Disambiguierung) in die Pipeline mit einbezieht.

Toolkits und Services für NER

Es existiert eine Vielzahl von Toolkits für Natural Language Processing, die Sie mehr oder weniger direkt in Ihre Programme einbinden können. Exemplarisch seien drei Toolkits für Java, Python und R erwähnt:

Diese Toolkits enthalten Modelle, die auf Korpora für die jeweils unterstützten Sprachen trainiert wurden. Sie haben den Vorteil, dass sie auch vollkommen neue Entitäten erkennen können (wie z.B. neue Politiker oder Fernsehstars, die zur Trainingszeit noch unbekannt waren). Je nach Einstellung haben diese Systeme aber auch eine relativ hohe Falsch-Positiv-Rate.

Wer NER nur ausprobieren möchte oder lediglich gelegentlich kleinere Texte zu annotieren hat, sei auf die folgenden Web Services verwiesen, die auch jeweils eine REST-Schnittstelle anbieten.

DBpedia

Das DBpedia Projekt nutzt die strukturierten Informationen der verschieden-sprachigen Wikipedia Sites für den Spotlight Service. Im Unterschied zu den reinen Toolkits nutzen die nun genannten Werkzeuge zusätzlich zu den trainierten Modellen eine Wissensbasis zur Verringerung der Falsch-Positiv-Rate. Die mehrsprachige Version unter http://dbpedia-spotlight.github.io/demo zeigt die Möglichkeiten des Systems auf. Wählen Sie unter “Language” “German“) und dann über “SELECT TYPES…” die zu annotierenden Entitätstypen. Ein Beispieltext wird automatisch eingefügt. Sie können ihn natürlich durch beliebige andere Texte ersetzen. Im folgenden Beispiel wurden “Organisation”, “Person”, und “Place“ ausgewählt:

DBprediaSpotlight

Abbildung 2: DBpedia Demo (de.dbpedia.org)

Die erkannten Entitäten werden direkt mit ihren DBpedia Datenbankeinträgen verlinkt. Im Beispiel wurden die Orte Berlin, Brandenburg und Preußen sowie die Organisationen Deutsches Reich, Deutsche Demokratische Republik, Deutscher Bundestag und Bundesrat erkannt. Personen wurden in dem Beispieltext nicht erkannt. Die Frage, ob man “Sitz des Bundespräsidenten” als Ort (Sitz), Organisation (das Amt des Bundespräsidenten) und / oder Person (der Bundespräsident) bezeichnen sollte, hängt durchaus vom Anwendungsszenario ab.

OpeNER

Das OpeNER Projekt ist das Ergebnis eines europäischen Forschungsprojekts und erweitert die Funktionalität von DBpedia Spotlight mit weiteren semantischen Analysen. Die Demo unter http://demo2-opener.rhcloud.com/welcome.action (Tab “Live Analysis Demo“, “Named Entity Recognition and Classification” und “Named Entity Linking” auswählen und “Analyse” drücken, dann auf der rechten Seite das Tab “NERC” anwählen) ergibt für den gleichen Beispieltext:

opeNER-projekt

Abbildung 3: OpeNER Projekt (opener-project.eu)

Organisationen sind blau hinterlegt, während Orte orange markiert werden. Auch hier werden erkannte Entitäten mit ihren DBpedia Datenbankeinträgen verknüpft. Die Bedeutung dieser Verknüpfung erkennt man wenn man auf das Tab “Map” wechselt. Berlin wurde als Ort erkannt und über die Geo-Koordinaten (geo:long = 13.4083, geo.lat = 52.5186) im DBpedia Eintrag von Berlin konnte das Wort “Berlin” aus obigem Text automatisch auf der Weltkarte referenziert werden.

Es gibt eine Vielzahl weiterer Services für NLP wie z.B. OpenCalais. Einige dieser Services bieten bestimmte Funktionalitäten (wie z.B. Sentiment Analysis) oder andere Sprachen neben Englisch nur gegen eine Gebühr an.

Listen Tagger

Der Vollständigkeit halber sei noch erwähnt, dass in den meisten Anwendungsszenarien die oben genannten Werkzeuge durch sogenannte Listen-Tagger (englisch Dictionary Tagger) ergänzt werden. Diese Tagger verwenden Listen von Personen, Organisationen oder auch Marken, Bauteilen, Produktbezeichnern oder beliebigen anderen Gruppen von Entitäten. Listen-Tagger arbeiten entweder unabhängig von den oben genannten statistischen Taggern (wie z.B. dem Standford Tagger) oder nachgeschaltet. Im ersten Fall markieren diese Tagger alle Vorkommen bestimmter Worte im Text (z.B. „Zalando“ kann so direkt als Modemarke erkannt werden). Im zweiten Fall werden die Listen genutzt, um die statistisch erkannten Entitäten zu verifizieren. So könnte z.B. der Vorschlag des statistischen Taggers automatisch akzeptiert werden wenn die vorgeschlagene Person auch in der Liste gefunden wird. Ist die Person jedoch noch nicht in der Liste enthalten, dann könnte ein Mitarbeiter gebeten werden, diesen Vorschlag zu bestätigen oder zu verwerfen. Im Falle einer Bestätigung wird die neu erkannte Person dann in die Personenliste aufgenommen während sie im Falle einer Ablehnung in eine Negativliste übernommen werden könnte damit dieser Vorschlag in Zukunft automatisch unterdrückt wird.

Regular Expression Tagger

Manche Entitätstypen folgen klaren Mustern und können mit hoher Zuverlässigkeit durch reguläre Ausdrücke erkannt werden. Hierzu zählen z.B. Kreditkarten- oder Telefon- oder Versicherungsnummern aber auch in vielen Fällen Bauteilbezeichner oder andere firmeninterne Identifikatoren.

Fazit

Natural Language Processing und insbesondere Named Entity Recognition und Disambiguierung sollte Teil der Werkzeugkiste eines jeden Anwenders bei der Analyse von unstrukturierten Daten sein. Es existieren mehrere mächtige Toolkits und Services, die allerdings je nach Anwendungsgebiet kombiniert und verfeinert werden müssen. So erkennt DBpedia Spotlight nur Entitäten, die auch einen Wikipedia Eintrag haben, kann für diese aber reichhaltige Metadaten liefern. Der Stanford Tagger hingegen kann auch vollkommen unbekannte Personennamen aus dem textuellen Kontext erkennen, hat aber bei manchen Texten eine relativ hohe Falsch-Positiv-Rate. Eine Kombination der beiden Technologien und anwendungsspezifischen Listen von Entitäten kann daher zu qualitativ sehr hochwertigen Ergebnissen führen.

Interview – Data Science in der FinTech-Branche

Christian Rebernik ist CTO bei Number 26 und zuständig für die technische Entwicklung dieses FinTech-Unternehmens. Er studierte Informatik und Wirtschaftsinformatik und kann auf langjährige Erfahrung als Software-Entwickler zurückgreifen. Seit etwa 2010 war er als CTO und CIO bei diversen eCommerce-christian-rebernikUnternehmen, u.a. bei Immobilien.net (heute ImmobilienScout24), PARSHIP und Zanox, tätig und gilt daher als ein etablierter IT-Manager, der seine Kenntnisse als Mentor des Axel Springer Plug and Play Accelerators weitergibt.

Data Science Blog: Herr Rebernik, wie sind Sie als CTO zum FinTech Number26 gekommen?

Ich durfte die Gründer im Accelerator 2013 als Mentor begleiten. Damals war das Produkt ausgelegt auf Teenager als Zielgruppe. 2014 änderten die Gründer Valentin und Maximilian das Produkt auf Number26, ein mobile-first Gehaltskonto mit Mastercard und der Vision das weltbeste Bankerlebnis zu bieten. Damit hatten sie aus meiner Sicht den richtigen Nerv der Zeit getroffen. Mein Erfahrung mit Banken war nicht positiv bis dato. Number26 hat aus meiner Sicht das Potential Bankwesen zu verändern.

Data Science Blog: Die FinTech-Szene möchte vieles besser machen als traditionelle Banken. Welche Rolle spielt Data Science dabei?

Beim Online-Banking etablierter Banken erhält man meistens nur eine reine Ansicht des Bankkontos, quasi eine statische und nicht kundenorientierte Darstellung des Kontostandes und der Kontotransaktionen. Wir glauben, diese Auflistung ohne Intelligenz ist nicht ausreichend und wenig auf den Kundenutzen fokussiert, mit der heutigen Technik kann man deutlich mehr bieten.
Unser Ziel ist es, eine der besten Customer Experience zu schaffen. Dank moderner Technologien haben wir viele unterschiedliche Möglichkeiten, um das zu erreichen. Eine davon ist es Smart Banking anzubieten, hier kommt Data Science ins Spiel.

Data Science Blog: Wofür nutzt Number26 Data Science genau?

Wir starten in Sachen Data Science jetzt erst voll durch. Unser erster Data Scientist wurde letztes Jahr im Oktober eingestellt. Unser Team ist also noch im Aufbau. Aktuell steht die sichere und number26appautomatisierte Kategorisierung von Finanztransaktionen bei uns im Fokus. Damit bieten wir den Nutzern leicht verständliche und genaue Auswertungen ihrer finanziellen Situation sowie eine Übersicht ihrer Einnahmen und Ausgaben. Interessanterweise gibt es unseres Wissens nach noch keine Bank, die Transaktionen direkt für den Kundennutzen kategorisiert.
Abhängig von der Transaktionsart nutzen wir unterschiedliche Methoden des maschinellen Lernens, die wir für die Erkennung der übergeordneten Kategorie verwenden.

Data Science Blog: Welche Machine Learning Methoden kommen zum Einsatz? Und wo finden die Analysen statt?

Wir haben mehrere ML-Methoden ausprobiert und durch eine Prototyping-Phase hinsichtlich ihrer Treffgenauigkeit bewertet. Wir setzen auf Amazon Webservices (AWS) und nutzen das Amazon Machine Learning Framework, auf dem wir auch unsere Modelle testen und Algorithmen erstellen. Der Input ist beispielsweise eine Kontotransaktion.
Unsere Algorithmen versuchen dieses dann zu kategorisieren. Daraus gewinnen wir zusätzliche Informationen, die wir unseren Kunden als Mehrwert anbieten.
Handelt es sich um eine Peer-to-Peer-Transaktion, wenn beispielsweise ich einem Freund Geld überweise, parsen wir den Verwendungszweck und nutzen Textmustererkennung zur Kategorisierung der Überweisung. Dazu splitten wir den Überweisungstext in einzelne Wörter auf, deren Bedeutung über Wörterbücher erkannt werden. Dadurch entstehen Kategorien, die vom Nutzer auch manuell nachträglich geändert werden können. Dieses Nutzerfeedback fließt in den Algorithmus zurück und wird in zukünftige Kategorisierungen mit einbezogen. Wir arbeiten nach mehreren Experimenten nun vermehrt mit Vector Spacing Modellen, wie dem k-Nearest-Neighbour-Algorithmus, über zurzeit 12 Achsen (Vektordimensionen). Jeder Vektor stellt eine Eigenschaft einer Transaktion dar, beispielsweise Geldbetrag, Verwendungszweck, Empfänger oder Währung. Je näher die Eigenschaften, die im Vektorraum als Punkte dargestellt werden, an den Eigenschaften anderer Finanztransaktion im selben Vektorraum liegen, desto wahrscheinlicher ist die Gemeinsamkeit als Kategorie.
Natürlich gibt es immer wieder False-Positives, die die eigentliche Herausforderung in Data Science darstellen. Beispielsweise lassen sich seltene Transaktionen wie die Zahnarztrechnung nur schwer trainieren. Wir trainieren unsere Kategorisierung der Banktransaktionen unter Einbeziehung der MasterCard-Kreditkartentransaktionen. Alle Vertragspartner bei MasterCard müssen einige Angaben mahcen, z.B. welche Art von Händler sie sind, Das hilft natürlich bei der Kategorisierung.

Data Science Blog: Der Beruf des Data Scientist wurde schon öfter als„Sexiest Job des 21. Jahrhunderts“ zitiert, gilt das auch in der Finanzindustrie?

Wir als FinTech-Unternehmen sind technologiegetrieben und in unserer Branche macht es wirklich Spaß, Probleme des Finanzalltags zu lösen. Neue Lösungen anzubieten, auf die vorher noch niemand gekommen ist, ist zwar nicht jedermanns Sache, unser Schlag Menschen entwickelt aber genau dafür die größte Leidenschaft.

Data Science Blog: Was sind Ihrer Meinung nach die alltäglichen Aufgaben eines Data Scientists und welche Skills sollte ein Data Scientist dafür mitbringen?

Die Arbeit als Data Scientist ist meines Erachtens dreigeteilt: ein Drittel Datenaufbereitung, ein Drittel Software-Entwicklung und ein Drittel Analyse.
Zum ersten Drittel gehört die Sichtung der Daten und Identifikation der Datenqualität. Ein Data Scientist muss aber auch Software-Entwickler sein und ein Verständnis für Software-Architekturen mitbringen. Große Datenmengen lassen sich nur über skalierbare Anwendungen auswerten. Wichtige Hilfsmittel und Testumgebungen müssen dafür selbst entwickelt werden.
Für die Analyse ist ein gutes Verständnis von Mathematik unumgänglich. Hinzu kommt ein ausgezeichnetes Verständnis für das Kerngeschäft des Unternehmens, in unserem Fall das Finanzwesen, um dementsprechend relevante Analysen durchzuführen.

Data Science on a large scale – can it be done?

Analytics drives business

In today’s digital world, data has become the crucial success factor for businesses as they seek to maintain a competitive advantage, and there are numerous examples of how companies have found smart ways of monetizing data and deriving value accordingly.

On the one hand, many companies use data analytics to streamline production lines, optimize marketing channels, minimize logistics costs and improve customer retention rates.  These use cases are often described under the umbrella term of operational BI, where decisions are based on data to improve a company’s internal operations, whether that be a company in the manufacturing industry or an e-commerce platform.

On the other hand, over the last few years, a whole range of new service-oriented companies have popped up whose revenue models wholly depend on data analytics.  These Data-Driven Businesses have contributed largely to the ongoing development of new technologies that make it possible to process and analyze large amounts of data to find the right insights.  The better these technologies are leveraged, the better their value-add and the better for their business success.  Indeed, without data and data analytics, they don’t have a business.

Data Science – hype or has it always been around?Druck

In my opinion, there is too much buzz around the new era of data scientists.  Ten years ago, people simply called it data mining, describing similar skills and methods.  What has actually changed is the fact that businesses are now confronted with new types of data sources such as mobile devices and data-driven applications rather than statistical methodologies.  I described that idea in detail in my recent post Let’s replace the Vs of Big Data with a single D.

But, of course, you cannot deny that the importance of these data crunchers has increased significantly. The art of mining data mountains (or perhaps I should say “diving through data lakes”) to find appropriate insights and models and then find the right answers to urgent, business-critical questions has become very popular these days.

The challenge: Data Science with large volumes?

Michael Stonebraker, winner of the Turing Award 2014, has been quoted as saying: “The change will come when business analysts who work with SQL on large amounts of data give way to data EXASOL Pipelinescientists, which will involve more sophisticated analysis, predictive modeling, regressions and Bayesian classification. That stuff at scale doesn’t work well on anyone’s engine right now. If you want to do complex analytics on big data, you have a big problem right now.”

And if you look at the limitations of existing statistical environments out there using R, Python, Java, Julia and other languages, I think he is absolutely right.  Once the data scientists have to handle larger volumes, the tools are just not powerful and scalable enough.  This results in data sampling or aggregation to make statistical algorithms applicable at all.

A new architecture for “Big Data Science”

We at EXASOL have worked hard to develop a smart solution to respond to this challenge.  Imagine that it is possible to use raw data and intelligent statistical models on very large data sets, directly at the place where the data is stored.  Where the data is processed in-memory to achieve optimal performance, all distributed across a powerful MPP cluster of servers, in an environment where you can now “install” the programming language of your choice.

Sounds far-fetched?  If you are not convinced, then I highly recommend you have a look at our brand-new in-database analytic programming platform, which is deeply integrated in our parallel in-memory engine and extensible through using nearly any programming language and statistical library.

For further information on our approach to big data science, go ahead and download a copy of our technical whitepaper:  Big Data Science – The future of analytics.

Data Science mit Neo4j und R

Traurig, aber wahr: Data Scientists verbringen 50-80% ihrer Zeit damit, Daten zu bereinigen, zu ordnen und zu bearbeiten. So bleibt nur noch wenig Zeit, um tatsächlich vorausschauende Vorhersagemodelle zu entwickeln. Vor allem bei klassischen Stacks, besteht die Datenanalyse zum Großteil darin, Zeile für Zeile in SQL zu überführen. Zeit zum Schreiben von Modell-Codes in einer statistischen Sprache wie R bleibt da kaum noch. Die langen, kryptischen SQL-Abfragen verlangsamen aber nicht nur die Entwicklungszeit. Sie stehen auch einer sinnvollen Zusammenarbeit bei Analyse-Projekten im Weg, da alle Beteiligten zunächst damit beschäftigt sind, die SQL-Abfragen der jeweils anderen zu verstehen.

Komplexität der Daten steigt

Der Grund für diese Schwierigkeiten: Die Datenstrukturen werden immer komplexer, die Vernetzung der Daten untereinander nimmt immer stärker zu. Zwängt man diese hochgradig verbundenen Datensätze in eine SQL-Datenbank, in der Beziehungen naturgemäß abstrakt über Fremdschlüssel dargestellt werden, erhält man als Ergebnis übermäßig komplizierte Schematas und Abfragen. Als Alternative gibt es jedoch einige NoSQL-Lösungen – allen voran Graphdatenbanken – die solche hochkomplexen und heterogenen Daten ohne Informationsverlust speichern können – und zwar nicht nur die Entitäten an sich, sondern auch besonders die Beziehungen der Daten untereinander.

Datenanalysen zielen immer stärker darauf ab, das Verhalten und die Wünsche von Kunden besser verstehen zu können. Die Fragen lauten z. B.:

  • Wie hoch ist die Wahrscheinlichkeit, dass ein Besucher auf eine bestimmte Anzeige klickt?
  • Welcher Kunde sollte in welchem Kontext welche Produktempfehlungen erhalten?
  • Wie kann man aus der bisherigen Interaktionshistorie des Kunden sein Ziel vorhersagen, bevor er selbst dort ankommt?
  • In welchen Beziehungen steht Nutzer A zu Nutzer B?

Menschen sind bekanntermaßen von Natur aus sozial. Einige dieser Fragen lassen sich daher beantworten, wenn man weiß, wie Personen miteinander in Verbindung stehen: Unsere Zielperson, Nutzer A ähnelt in seinem Kontext und Verhalten Benutzer B. Und da Benutzer B ein bestimmtes Produkt (z. B. ein Spielfilm) gefällt, empfehlen wir diesen Film auch Nutzer A. In diese Auswertung fließen natürlich auch noch weitere Faktoren mit ein, z. B. die Demographie und der soziale Status des Nutzers, seine Zuordnung zu Peer Groups, vorher gesehene Promotions oder seine bisherigen Interaktionen.

Visualisierung eines Graphen mit RNeo4j

Mit R und Neo4j lassen sich Graphen und Teilgraphen ganz einfach mit RNeo4j, igraph und visNetwork libraries visualisieren.

 

Das folgende Beispiel zeigt wie in einem Graphen Schauspieler und Filme sowie ihre Beziehungen zueinander anschaulich dargestellt werden können, z. B. um Empfehlungen innerhalb eines Filmportals zu generieren. Dabei sind zwei Schauspieler über eine Kante miteinander verbunden, wenn sie beide im gleichen Film mitspielen.

Im ersten Schritt werden dazu in Neo4j die Film-Datensätze importiert (Achtung: Dieser Vorgang löscht die aktuelle Datenbank).

Als nächstes wird mit Cypher eine entsprechende Liste von Beziehungen aus Neo4j gezogen. Wie man sehen kann, ist die Darstellung des gewünschten Graph-Musters innerhalb der Abfrage sehr anschaulich.

Die visNetwork Funktion erwartet sowohl Kanten-Dataframes als auch Knoten-Dataframes. Ein Knoten-Dataframe lässt sich daher über die eindeutigen Werte des Kanten-Dataframes generieren.

Im Anschluss können die Knoten- und Kanten-Dataframes in das visNetwork übertragen werden.
visNetwork(nodes, edges)

Nun kommt igraph mit ins Spiel, eine Bibliothek von Graph-Algorithmen. Durch Einbindung der Kantenliste lässt sich einfach ein igraph Graph-Objekt erstellen, das den Teilgraphen miteinschließt.

Die Größe der Knoten kann als Funktion der Edge-Betweeness-Centrality definiert werden. In visNetwork entspricht dabei jede “value”-Spalte im Knoten-Dataframe der Größe des Knoten.
nodes$value = betweenness(ig)

Mit Einführung der “Value”-Spalte werden die Knoten nun alle unterschiedlich groß dargestellt.
visNetwork(nodes, edges)

Mit Hilfe eines Community-Detection-Algorithmus lassen sich im Graphen nun Cluster finden. In diesem Beispiel wird der „Girvan-Newman”-Algorithmus verwendet, der in igraph als cluster_edge_betweenness bezeichnet wird.

In der Liste oben sind alle Schauspieler der ersten zwei Cluster zu sehen. Insgesamt konnten sechs Cluster identifiziert werden.

Durch Hinzufügen einer “Group”-Spalte im Knoten-Dataframe, werden alle Knoten in visNetwork entsprechend ihrer Gruppenzugehörigkeit farblich markiert. Diese Cluster-Zuordnung erfolgt über clusters$membership. Durch Entfernen der “Value”-Spalte lassen sich die Knoten wieder auf eine einheitliche Größe bringen.

Werden die Knoten- und Kanten-Datenframes erneut in visNetwork übertragen, sind nun alle Knoten eines Clusters in derselben Farbe dargestellt.
visNetwork(nodes, edges)

Mit diesem Workflow lassen sich Teilgraphen in Neo4j einfach abfragen und Cluster-Algorithmen einfach darstellen.

Generell eignen sich Graphdatenbanken wie Neo4j besonders gut, um stark vernetzte und beliebig strukturierte Informationen zu handhaben – egal ob es sich um Schauspieler, Filme, Kunden, Produkte, Kreditkarten oder Bankkonten handelt. Zudem können sowohl den Knoten als auch den Kanten beliebige qualitative und quantitative Eigenschaften zugeordnet werden. Beziehungen zwischen Daten sind also nicht mehr bloße Strukturinformationen, sondern stehen vielmehr im Zentrum des Modells.

Cypher: intuitiv nutzbare Programmiersprache

Die Zeiten, in denen Data Science zum Großteil aus Datenbereinigung und -mapping besteht, sind damit vorbei. Mit dem entsprechenden Ansatz laufen Entwicklungsprozesse deutlich schneller und einfacher ab. Data Scientists kommen mit weniger Code schneller ans Ziel und können mehr Zeit in das tatsächliche Entwickeln von relevanten Modellen investieren. Dabei nutzen sie die Flexibilität einer quelloffenen NoSQL-Graphdatenbank wie Neo4j kombiniert mit der Reife und weiten Verbreitung der Statistiksprache R für statistisches Rechnen und Visualisierung. Programmierer müssen nicht mehr stundenlang komplexe SQL-Anweisungen schreiben oder den ganzen Tag damit verbringen, eine Baumstruktur in SQL zu überführen. Sie benutzen einfach Cypher, eine musterbasierte, für Datenbeziehungen und Lesbarkeit optimierte Abfragesprache und legen los.

Neural Nets: Time Series Prediction

Artificial neural networks are very strong universal approximators. Google recently defeated the worlds strongest Go (“chinese chess”) player with two neural nets, which captured the game board as a picture. Aside from these classification tasks, neural nets can be used to predict future values, behaviors or patterns solely based on learned history. In the machine learning literature, this is often referred to as time series prediction, because, you know, values over time need to be predicted. Hah! To illustrate the concept, we will train a neural net to learn the shape of a sinusoidal wave, so it can continue to draw the shape without any help. We will do this with Scala. Scala is a great lang, because it is strongly typed but feels easy like Python. Throughout this article, I will use the library NeuroFlow, which is a simple, lightweight library I wrote to build and train nets. Because Open Source is the way to go, feel free to check (and contribute to? :-)) the code on GitHub.

Introduction of the shape

If we, as humans, want to predict the future based on historic observations, we would have no other chance but to be guided by the shape drawn so far. Let’s study the plot below, asking ourselves: How would a human continue the plot?

sinuspredictdr
f(x) = sin(10*x)

Intuitively, we would keep on oscillating up and down, just like the grey dotted line tries to rough out. To us, the continuation of the shape is reasonably easy to understand, but a machine does not have a gut feeling to ask for a good guess. However, we can summon a Frankenstein, which will be able to learn and continue the shape based on numbers. In order to do so, let’s have a look at the raw, discrete data of our sinusoidal wave:

x f(x)
0.0 0.0
0.05 0.479425538604203
0.10 0.8414709848078965
0.15 0.9974949866040544
0.20 0.9092974268256817
0.25 0.5984721441039564
0.30 0.1411200080598672
0.35 -0.35078322768961984
0.75 0.9379999767747389

Ranging from 0.0 until 0.75, these discrete values drawn from our function with step size 0.05 will be the basis for training. Now, one could come up with the idea to just memorize all values, so a sufficiently reasonable value can be picked based on comparison. For instance, to continue at the point 0.75 in our plot, we could simply examine the area close to 0.15, noticing a similar value close to 1, and hence go downwards. Well, of course this is cheating, but if a good cheat is a superior solution, why not cheat? Being hackers, we wouldn’t care. What’s really limiting here is the fact that the whole data set needs to be kept in memory, which can be infeasible for large sets, plus for more complex shapes, this approach would quickly result in a lot of weird rules and exceptions to be made in order to find comprehensible predictions.

Net to the rescue

Let’s go back to our table and see if a neural net can learn the shape, instead of simply memorizing it. Here, we want our net architecture to be of kind [3, 5, 3, 1]. Three input neurons, two hidden layers with five and three neurons respectively, as well as one neuron for the output layer will capture the data shown in the table.

sinuspredictnet

A supervised training mode means, that we want to train our net with three discrete steps as input and the fourth step as the supervised training element. So we will train a, b, c -> d and e, f, g -> h et cetera, hoping that this way our net will capture the slope pattern of our sinusoidal wave. Let’s code this in Scala:

First, we want a Tanh activation function, because the domain of our sinusoidal wave is [-1, 1], just like the hyperbolic tangent. This way we can be sure that we are not comparing apples with oranges. Further, we want a dynamic network (adaptive learning rate) and random initial weights. Let’s put this down:

No surprises here. After some experiments, we can pick values for the settings instance, which will promise good convergence during training. Now, let’s prepare our discrete steps drawn from the sinus function:

We will draw samples from the range with step size 0.05. After this, we will construct our training values xs as well as our supervised output values ys. Here, a group consists of 4 steps, with 3 steps as input and the last step as the supervised value.

After a pretty short time, we will see good news. Now, how can we check if our net can successfully predict the sinusoidal wave? We can’t simply call our net like a sinus function to map from one input value to one output value, e. g. something like net(0.75) == sin(0.75). Our net does not care about any x values, because it was trained purely based on the function values f(x), or the slope pattern in general. We need to feed our net with a three-dimensional input vector holding the first three, original function values to predict the fourth step, then drop the first original step and append the recently predicted step to predict the fifth step, et cetera. In other words, we need to traverse the net. Let’s code this:

with

So, basically we don’t just continue to draw the sinusoidal shape at the point 0.75, we draw the entire shape right from the start until 4.0 – solely based on our trained net! Now, let’s see how our Frankenstein will complete the sinusoidal shape from 0.75 on:

sinuspredictfintwo

I’d say, pretty neat? Keep in mind, here, the discrete predictions are connected through splines. Another interesting property of our trained net is its prediction compared to the original sinus function when taking the limit towards 4.0. Let’s plot both:

sinuspredictfin

The purple line is the original sinusoidal wave, whereas the green line is the prediction of our net. The first steps show great consistency, but slowly the curves diverge a little over time, as uncertainties will add up. To keep this divergence rather low, one could fine tune settings, for instance numeric precision. However, if one is taking the limit towards infinity, a perfect fit is illusory.

Final thoughts

That’s it! We have trained our net to learn and continue the sinusoidal shape. Now, I know that this is a rather academic example, but to train a neural net to learn more complex shapes is straightforward from here.

Thanks for reading!

Interview – Advanced Data Science in der Finanz- und Versicherungsbranche

Dr. Andreas Braun von der Allianz SE spricht exklusiv mit dem Data Science Blog über die Bedeutung von Data Science in der Finanz- und Versicherungsindustrie und was er von einem guten Data Scientist erwartet.

dr-andreas-braunDr. Andreas Braun ist Head of Global Data & Analytics bei der Allianz SE in München. Der promovierte Informatiker von der TU München begann seine Karriere als Berater bei Accenture, leitete danach verschiedene Abteilungen für Analyse und Digitalisierung und zuletzt den globalen Geschäftsbereich Business Applications bei der GfK SE. Er gilt heute als eine der erfahrensten Führungskräfte mit explizitem Know How in der Nutzung von Data & Analytics.

Data Science Blog: Herr Dr. Braun, welcher Weg hat Sie bis an die Analytics-Spitze der Allianz SE geführt?

Als Informatiker kam ich über Software-Entwicklung und Verteilte Systeme zur Datenanalyse. Schon während des Studiums war ich Mitbegründer einer Software-Firma, die Bildverarbeitungs- und Analyse-Software entwickelte. Der Schwenk hin zur Entwicklung von Systemen künstlicher Intelligenz kam während der Promotion an der TUM, insbesondere, da mein Doktorvater erst kürzlich von der Carnegie Mellon University (CMU) dorthin gewechselt hatte. (An der CMU wurde der Begriff Künstliche Intelligenz ja ursprünglich geprägt.) Dadurch hatte ich mir Schwerpunkte auf global verteilte Systeme und Künstliche Intelligenz gesetzt. Nach meinem akademischen Ausbildungsweg war ich dann in der Unternehmensberatung und später in der Marktforschung tätig. Als Global Head für Business Applications bei der GfK SE, der Gesellschaft für Konsumforschung, haben wir bereits 2011 auf Big Data Technologien, wie Hadoop und NoSQL,  gesetzt.

Als die Allianz sich auf Gruppenebene verstärkt im Bereich Digitalisierung und somit auch Data Analytics und Data Science aufstellte und konsequent ein eigenes Data & Analytics Team aufbaute, kam für mich die Gelegenheit zum Wechsel nach München. Seit Mai 2014 leite ich nun Global Data & Analytics (GD&A) bei der Allianz SE und setze vor allem auf Leute, die bereits Data Analytics und Data Science Expertise mitbringen, oft auch von außerhalb der Finanz- und Versicherungsindustrie.

Data Science Blog: Welche Rolle sehen Sie für Big Data Analytics in der Finanz- und Versicherungsbranche?

Aus meiner Sicht ist sogenannte „Big Data“ Technologie, also verteilte Systeme, neue Datenbanken usw., die eigentliche Maschinerie hinter der Digitalisierung. Es gibt zunehmend viele „Frontends“, also z. B. Benutzeroberflächen, (mobile) Geräte und Sensoren, für Anwender, mit denen Daten generiert werden. Webseiten, Apps, Smartphones und Connected Cars sind für sich gesehen jedoch noch nicht besonders intelligent und somit eingeschränkt nützlich. Die wirklich nutzbringende Intelligenz basiert auf Kontext, Daten und Analytics und ergibt sich erst durch die Vernetzung unzähliger Einzelkomponenten über Data Analytics Systeme. Auf dieser Basis lassen sich dann neue und digitale Geschäftsmodelle fördern.

Viele der heute gängigen Anwendungsfälle sind vielleicht von der Grundidee her manchmal ein alter Hut, lassen sich durch die jetzt verfügbare Technologie aber deutlich besser oder gar erstmalig lösen. Beispielsweise betreibt die Allianz Betrugserkennung schon sehr lange. Mittlerweile lassen sich jedoch komplexe oder gar organisierte Betrugsnetzwerke mit Ansätzen wie maschinellem Lernen (Machine Learning) und Graphen-Datenbanken sehr viel schneller, deutlich zuverlässiger und auch noch kostengünstiger aufdecken. Dadurch entstand bereits ein erheblich messbarer Vorteil für die Versichertengemeinschaft!

Data Science Blog: Wie arbeitet das Data & Analytics Team?

Im Data & Analytics Team werden daten-getriebene und analytische Anwendungsfälle („Use Cases“) pilotiert, prototypisch umgesetzt, methodisch validiert und auf unserer Referenzarchitektur („Stack“) aufgesetzt.

Ich glaube, die Data Scientists fühlen sich hier wohl, da wir für die unterschiedlichsten Fachbereiche und Landesgesellschaften tätig werden, die über große und sehr variantenreiche Datenquellen verfügen und sehr vielseitige Problemstellungen mitbringen. Abwechslung sowie beständiges Lernen sind somit garantiert. Für die Fachbereiche bieten wir alles aus einer Hand und geben einen schnellen Einstieg in die produktive Nutzung von großen und verteilten Datenbeständen.

Wir fühlen uns eigentlich fast wie ein eigenes Start-Up innerhalb des Konzerns und haben unsere eigene Infrastruktur. Das gibt uns Geschwindigkeit und Flexibilität bei gleichzeitig höchsten Standards für Sicherheits- und Datenschutz.

Data Science Blog: Finden die Analysen nur in Ihrem Team oder auch in den Fachbereichen statt?

Die Projekte werden in der Regel bei uns zentral durchgeführt, werden dabei aber meist vom Fachbereich angestoßen. Wir arbeiten dabei mit den jeweiligen Kollegen Hand in Hand. Die Fachbereiche sind stets eingeladen, möglichst eng mit uns zusammen zu arbeiten. Natürlich gibt es aber auch Projekte, die zentral ansetzen und im Wesentlichen erstmal von uns allein getrieben werden, insbesondere Themen, die eher R&D sind.

Data Science Blog: In wie weit werden unstrukturierte Daten in die Analysen einbezogen?

Unstrukturierte Daten spielen eine immer größere Rolle. Ich vermute, dass bereits etwa 70% der verwendeten Daten nach Volumen unstrukturiert oder semi-strukturiert sind.

Data Science Blog: Werden diese vollwertig genutzt oder sind diese nur eine Vorstufe, bevor sie in eine strukturierte Datenbank gespeist werden?

Unstrukturierte Daten werden bei uns nicht in eine strukturierte Datenbank überführt. Grundsätzlich belassen wir Rohdaten i.d.R. möglichst unverändert.

Aus technischer Sicht liegt unser Fokus vor allem auf den sogenannten NoSQL-Datenbanken und dazu passenden Datenformaten, wie z. B. großen, flachen Tabellen („Bigtable“), Parquet- und neuen Prozessmodellen, wie Streaming und Microbatches usw. Relationale Datenbanken spielen dabei eine eher untergeordnete Rolle, haben aber natürlich auch weiterhin ihre Berechtigung, beispielsweise für Meta-/ Stammdaten.

Data Science Blog: Die Allianz als Versicherer besitzt personenbezogene Datenbestände, welche Rolle spielt in Ihrer Arbeit der Datenschutz?

Wir befassen uns sehr viel mit IT-Sicherheit, Datenschutz (Data Privacy) und Datenethik. Die rechtlich zulässige Nutzung von Daten setzt für uns den Rahmen jeglicher Aktivitäten. Und während wir in Bezug auf IT-Sicherheit auf erhebliche Erfahrungswerte und Lösungsmuster zurückgreifen können, sind Data Privacy und Datenethik neue Themenkomplexe im Bereich der Datenanalytik, die sehr eng mit der Analyse verknüpft sind. Ich glaube, dass die letztliche Komplexität hierbei noch nicht vollständig erfasst ist, weswegen wir uns auch stark in der Forschung und Entwicklung in diesem Feld engagieren.

So hat die Allianz kürzlich einen Lehrstuhl für „Großskalige Datenanalyse und Maschinelles Lernen“ an der TU-München gestiftet, wovon wir uns u.a. einen Beitrag zur Erörterung entsprechender Fragen zur Datennutzung  erhoffen.

Data Science Blog: Welche Art von Data Scientists suchen Sie für Ihre zukünftigen Umsetzungen?

Data Scientists können bei uns abwechslungsreich arbeiten und für verschiedene Projekte unterschiedliche Rollen einnehmen und daran wachsen. Unsere Kollegen haben vorwiegend einen ingenieur- oder naturwissenschaftlichen Hintergrund, vor allem Informatiker, Physiker, Mathematiker und Statistiker, aber auch beispielsweise Psychologen.

Data Science Blog: Suchen Sie eher den introvertierten Nerd oder den kommunikationsstarken Beratertyp?

Wir suchen vor allem Hardcore Data Scientists, dazu gehören für mich eher die Naturwissenschaftler. Für uns ist Data Science programmatisch, also ganz klar abgegrenzt von „Klick“-orientierter Business Intelligence. Im Data Science kommen verschiedene Tools und Programmiersprachen zum Einsatz. Die meisten Data Scientists sind zwar keine Software-Entwickler, aber dennoch werden die Aufgaben im Kern durch Programmierung unter Einsatz von statistischen Verfahren und Methoden des maschinellen Lernens gelöst. Von einem Data Scientist erwarte ich darüber hinaus, dass die Qualität eines Modells nicht nur bloß eingeschätzt, sondern auch methodisch fundiert belegt werden kann.

Auf der anderen Seite haben wir auch Business Analysts, die vor allem in der Koordination der Use Cases eingesetzt werden. Ein Business Analyst versteht den Businesskontext und den Geschäftszweck von Daten und Analysen, unterstützt im Projektmanagement und kümmert sich um die Kommunikation und Implementierung in den Fachbereichen.

Data Science Blog: Unterscheiden Sie in Ihrem Bereich auch zwischen Data Scientist und Data Engineer?

Ja. In meinem Team arbeiten ungefähr 30% Data Engineers, 60% sind Data Scientists und 10% Business Analysts. Unsere Data Engineers kümmern sich um u.a. den Technologie und Tool-Stack und das Engineering.

Ich denke, viele der momentan kommerziell sehr erfolgreichen Use Cases sind sehr Engineering-lastig, haben also mit Datenhaltung, -transformation, -bewegung und Ausführbarkeit bzw. Anwendung zu tun. Dann spielt dabei Daten und Software Engineering sogar die größere Rolle als Data Science.

Und obwohl wir genau diese Jobtitel, also Data Scientist, Data Engineer und Business Analyst, haben, sind die Grenzen dazwischen fließend. Für unseren agilen Ansatz ist dabei vor allem wichtig, dass alle Mitarbeiter auf Augenhöhe in einem „self-contained“ Team zusammenarbeiten.

Interview – Wie der Einstieg in Data Science gelingt

dr-alexander-beckAlexander Beck ist promovierter Ökonom und Physiker und hat in seiner Karriere sowohl selbst als Quant wie auch als Consultant im Data Science Bereich gearbeitet. Heute leitet er ein Data Science Team beim Bezahldienstleister PAYMILL in München, einer der führenden Payment Service Provider in Europa. Die E-Payment Lösung von PAYMILL erlaubt sichere und einfache Online Zahlungen.

Data Science Blog: Herr Dr. Beck, wie waren Ihre ersten 100 Tage in der Arbeitswelt von Paymill?
Spannend. Obwohl Paymill mit sehr fähigen Entwicklern arbeitet, war die erste Zeit davon geprägt, die richtigen Grundsteine für skalierbare und hochautomatisierte Daten-Analytik zu legen. Hierbei haben wir bewusst auf Open Source Technologien gesetzt, so zum Beispiel das Datenanalyse-Framework Python Pandas. Zudem setzen wir zur automatisierten Workflow-Steuerung die Software Airflow ein, die von AirBnB als Open Source Projekt entwickelt wird. Damit haben wir ein System geschaffen, mit dem wir sehr schlank, flexibel und nutzenorientiert arbeiten können und uns nicht mit Lizenzen und ähnlichen Dingen herumschlagen müssen.

Data Science Blog: Wie nutzt Paymill Data Science und was lässt sich damit erreichen?
Die Bandbreite hier ist wirklich groß und reicht von vollautomatisiertem Reporting bis hin zum Einsatz von Natural Language Processing und Predictive Analytics. Dabei gehen wir immer vom Nutzen des End-Anwenders aus und versuchen, unsere Lösungen für den Anwender so einfach und treffend wir möglich zu gestalten – meistens ist das Endprodukt eine schlanke Website, die alle relevanten Informationen enthält und die natürlich regelmäßig aktualisiert wird. Hierbei setzen wir auf 100% automatisierbare Konzepte. Datenanalyse soll dem Unternehmen dabei helfen, proaktiv und informiert statt reaktiv und uninformiert zu sein, das gelingt uns an vielen Stellen schon recht gut.

Data Science Blog: Viele Entscheider beklagen, dass Big Data nur den Konzernen nutzt, während der deutsche Mittelstand eher außen vor bleibe. Welche Hürden haben Mittelständler hier zu überwinden?
Viele Mittelständler verfügen heute nicht über die Datengrundlage, die nötig wäre, von diesem Trend zu profitieren. Hier sollte der Mittelstand beherzt handeln und lieber einen Euro zu viel als zu wenig an den entscheidenden Stellen investieren. Fairerweise muss man wohl sagen, dass nicht jedes Geschäftsmodell für den Einsatz von Data Science geeignet ist bzw. davon profitieren wird. Hier lohnt sich in den meisten Fällen eine Analyse der drei vielversprechendsten Anwendungsfälle aus Sicht der Unternehmensführung. Dann sollte neben einer Investitionsrechnung auch eine Analyse der Datenlage und Schritte zur Verbesserung dieser vorgenommen werden. Hierfür habe ich beispielsweise das DIFA Framework entwickelt.

Data Science Blog: An welchen Stellen eines Unternehmens können am schnellsten Mehrwerte gewonnen werden?
Das hängt natürlich sehr vom Geschäftsmodell ab. Im eCommerce beispielsweise ist die Sicherung der Kundenbeziehung durch zielgerichtete und effektive Maßnahmen sicherlich einer der stärksten Hebel. Zudem ist dies ein Anwendungsfall, wo im Unternehmen auch ausreichend Daten vorliegen um mit Analytics echte Mehrwerte zu schaffen. Fraud ist ein weiteres Anwendungsgebiet das nebenbei auch sehr zukunftsfähig ist, schaut man sich die aktuellen Fraud-Zahlen beispielsweise beim Kreditkarten Betrug an. Hier hilft man übrigens gleich doppelt: Man schützt Kunden davor, Opfer von Betrug zu werden und erleichtert der hausinternen Abteilung die Arbeit im Umgang mit Fraud-Fällen.

Data Science Blog: Wie sollte ein mittelständisches Unternehmen in Big Data und Data Science einsteigen?
Ein mittelständisches Unternehmen sollte sich von einem unabhängigen Experten beraten lassen. Dieser sollte neben der Data Science Kompetenz auch Branchen- und Prozesskenntnisse besitzen. Es ist übrigens auch nicht per se für jedes Unternehmen gesetzt, dass es mit Big Data und Data Science Mehrwerte für sich generieren kann. Überall dort wo ein Prozess in hoher Frequenz abläuft, die äußeren Parameter eine gewisse Varianz vorgeben und eine monetäre Verknüpfung existiert, macht Datenanalyse aber vermutlich Sinn. Ein ganz klassisches Beispiel hierfür ist die Kreditvergabe.

Data Science Blog: Lässt sich Data Science auch outsourcen? Wenn ja, was spräche dafür oder dagegen?
Was dafür spricht: Das Skillset des Data Scientist ist schon ein Besonderes und der Markt an guten Data Scientists ist knapp. Zudem ist der Aufbau von Technologie natürlich auch immer mit Kosten für Installation und Wartung verbunden, die teilweise nicht unerheblich sind. Gegen Outsourcing sprechen aus meiner Sicht aber weit gewichtigere Gründe. Um echte Mehrwerte zu schaffen, muss ein Data Scientist einen barriereferien Zugang zu den Mitarbeitern und den Daten des Unternehmens haben. Nur so lassen sich meines Erachtens Prozesse, Daten und alle Besonderheiten im Detail verstehen und nachvollziehen. Der häufig zitierte 80/20 Berater-Ansatz funktioniert im Data Science Umfeld meistens nicht. Sie müssen sich also auf eine ganz andere Art und Weise in einem Unternehmen auskennen, als dies einem Außenstehenden in einem vernünftigen Kostenrahmen gelingen wird. Aus meiner eigenen Erfahrung kann ich sagen, dass wir bei Paymill auf unsere erfolgreichsten Anwendungsfälle durch Gespräche in der Kaffee-Ecke gestoßen sind, hierfür müssen Sie Teil des Teams sein.

Data Science Blog: Sie haben bereits viele Analytics-Projekte betreut. Wie hoch ist die Quote an erfolgreichen Projekten gegenüber den nicht erfolgreichen? Konnten Sie Gründe für das Scheitern von solchen Projekten identifizieren?
Wenn Sie Erfolg damit assoziieren, wie hoch die Quote ist, wo wir dem Kunden weiterhelfen konnten, dann sage ich: sehr hoch. Allerdings sind hier auch Fälle dabei, wo wir einem Kunden sagen konnten, wo noch Hausaufgaben beispielsweise in der Datenhaltung zu erledigen sind. So gab es einmal einen Fall, wo eine Vertriebsmannschaft mit Prognosen unterstützt werden sollte. Die Datenbasis bestand allerdings nur aus erfolgreichen Abschlüssen, die nicht-erfolgreichen Vertriebsaktivitäten waren nicht aufgezeichnet worden. Hier müssen also erst einmal Daten vervollständigt werden, bevor über Predictive Analytics gesprochen wird. Trotzdem haben wir dem Unternehmen mit dieser Erkenntnis und einer Anleitung für nächste Schritte weitergeholfen.

Data Science Blog: Sollten Data Scientists in den jeweiligen Fachbereichen oder in der IT angesiedelt sein oder sogar eine eigene Stabstelle darstellen?
Ich habe gute Erfahrungen damit gemacht, wenn Data Science als eigenständige Einheit funktioniert. So lassen sich Anwendungsfälle, die über einzelne Departments hinausgehen, besser umsetzen. Zudem ist es auch einfach abwechslungsreicher für die Data Scientists.

Data Science Blog: Wann ist mit einem Break-Even-Point zu rechnen, wenn ein Unternehmen die Investition plant, eine Data Science Abteilung aufzubauen? Sie sollten vor der Gründung einer Data Science Abteilung eine realistische Machbarkeitsstudie durchführen. Nicht jedes Unternehmen und Geschäftsmodell wird in gleichem Maße von einer Data Science Abteilung profitieren. Ich würde aber sagen, dass man schon mit 10 bis 12 Monaten rechnen muss. Diese Zahl hängt aber sehr stark davon ab, wie viel Aufbau- und Aufräumarbeit bei der Datanbasis geleistet werden muss. Schlussendlich sollten auch immer weiche Faktoren mit in die Rechnung genommen werden. Eventuell fühlen sich Kunden durch entsprechende Maßnahmen besser angesprochen oder strategische Entscheidungen können auf einer soliden Datengrundlage getroffen werden. Das werden Sie nicht 1:1 in einer monetären Kenngröße abgebildet sehen, der positive Effekt ist aber zweifelsfrei vorhanden.

Data Science Blog: Die Methodenvielfalt scheint groß zu sein: Predictive Analytics, Distributed Data Processing, Realtime Analytics, Machine Learning. Welche Methoden bringen den größten Mehrwert?
Ich glaube das lässt sich so allgemein nicht beantworten. Sehr gute Erfahrungen haben wir mit automatisierten Warnsystemen gemacht – diese liefern einen sehr direkten und messbaren Mehrwert und sind verhältnismäßig zügig und ohne große Kosten aufgebaut. Auch hier kommt interessante Analytics zum Einsatz. Nehmen Sie als Beispiel einen Anbieter von Webhosting der messen möchte, ob eine Webseite Opfer einer Massenanfragen-Attacke ist. Hier müssen Sie clevere Analytics verwenden, sonst klemmen Sie im schlimmsten Fall einem Ihrer Kunden zur besten Verkaufszeit die Webseite ab.

Data Science Blog: Was macht Ihrer Meinung nach einen guten Data Scientist aus? Welche Skills sollte ein Data Scientist haben und wie können Neulinge diese erwerben?
Sie sollten ihr Handwerk grundlegend verstehen. Damit meine ich das Verarbeiten von Daten und die Anwendung von Standard Analytics Verfahren. Selbstverständlich sollten Sie sehr flüssig programmieren können, meiner Ansicht nach idealerweise in Python. Diese beiden Eigenschaften sind nicht hinreichend, aber die Basis Ihres Erfolgs. Daneben sollten Sie eine absolute Umsetzer-Mentalität und ein Bewusstsein für hohe Qualität haben. Wenn Sie dazu noch Spaß daran haben, Ihre Arbeit anderen zu erklären und eigenständig werthaltige Anwendungsszenarieren aufzuspüren, sind Sie – denke ich – sehr gut aufgestellt. Neulinge sollten sich nicht vom Hype um Data Science verrückt machen lassen, sondern sich bewusst sein, dass auch hier der erste Schritt darin besteht, ein solides Handwerk zu erlernen mit dem Sie später viel anfangen können.

Data Science vs Data Engineering

Das Berufsbild des Data Scientsts ist gerade erst in Deutschland angekommen, da kommen schon wieder neue Jobbezeichnungen auf uns zu. “Ist das wirklich notwendig?”, wird sich so mancher fragen. Aber die Antwort lautet ganz klar: ja!

Welcher Data Scientist kennt das nicht: ein Recruiter ruft an, spricht von einer tollen neuen Herausforderung für einen Data Scientist wie man es sich ja offensichtlich auf seinem LinkedIn-Profil für sich beansprucht, doch bei der Besprechung der Vakanz stellt sich schnell heraus, dass man über fast keine der geforderten Skills verfügt. Dieser Mismatch liegt vor allem daran, dass unter den Job des Data Scientist alle möglichen Tätigkeitsprofile, Methoden- und Tool-Wissen zusammengefasst werden, die ein einzelner Mensch kaum in seinem Leben lernen kann.

Viele offene Jobs, die unter der Bezeichnung Data Science besetzt werden sollen, beschreiben eher das Berufsbild des Data Engineers.


english-flagRead this article in English:
“Data Scientist vs Data Engineer – What is the Difference?”


Was macht ein Data Engineer?

Im Data Engineering geht es vor allem darum, Daten zu sammeln bzw. zu generieren, zu speichern, historisieren, aufzubereiten, anzureichern und nachfolgenden Instanzen zur Verfügung zu stellen. Ein Data Engineer, je nach Rang oft auch als Big Data Engineer oder Big Data Architect bezeichnet, modelliert skalierbare Datenbank- und Datenfluss-Architekturen, entwickelt und verbessert die IT-Infrastruktur hardware- und softwareseitig, befasst sich dabei auch mit Themen wie IT-Security, Datensicherheit und Datenschutz. Ein Data Engineer ist je nach Bedarf teilweise Administrator der IT-Systeme und auch ein Software Entwickler, denn er erweitert die Software-Landschaft bei Bedarf um eigene Komponenten. Neben den Aufgaben im Bereich ETL / Data Warehousing, führt er auch Analysen durch, zum Beispiel solche, um die Datenqualität oder Nutzerzugriffe zu untersuchen.

Ein Data Engineer arbeitet vor allem mit Datenbanken und Data Warehousing Tools.

Ein Data Engineer ist tendenziell ein ausgebildeter Ingenieur/Informatiker und eher weit vom eigentlichen Kerngeschäft des Unternehmens entfernt. Die Karrierestufen des Data Engineers sind in der Regel:

  1. (Big) Data Architect
  2. BI Architect
  3. Senior Data Engineer
  4. Data Engineer

Was macht ein Data Scientist?

Auch wenn es viele Überschneidungspunkte mit dem Tätigkeitsfeld des Data Engineers geben mag, so lässt sich der Data Scientist dadurch abgrenzen, dass er seine Arbeitszeit möglichst dazu nutzt, die zur Verfügung stehenden Daten explorativ und gezielt zu analysieren, die Analyseergebnisse zu visualisieren und in einen roten Faden einzuspannen (Storytelling). Anders als der Data Engineer, bekommt ein Data Scientist ein Rechenzentrum nur selten zu Gesicht, denn er zapft Daten über Schnittstellen an, die ihm der Data Engineer bereitstellt.

Ein Data Scientist befasst sich mit mathematischen Modellen, arbeitet vornehmlich mit statistischen Verfahren und wendet sie auf die Daten an, um Wissen zu generieren. Gängige Methoden des Data Mining, Machine Learning und Predictive Modelling sollten einem Data Scientist bekannt sein, wobei natürlich jeder ganz individuell Schwerpunkte setzt. Data Scientists arbeiten grundsätzlich nahe am Fachbereich und benötigen entsprechendes Fachbereichswissen. Data Scientists arbeiten mit proprietären Tools (z. B. von IBM, SAS oder QlikTech) und programmieren Analysen auch selbst, beispielsweise in Scala, Java, Python, Julia oder R.

Data Scientists können vielfältige akademische Hintergründe haben, einige sind Informatiker oder Ingenieure für Elektrotechnik, andere sind Physiker oder Mathematiker, nicht wenige auch Wirtschaftswissenschaftler.

  1. Chief Data Scientist
  2. Senior Data Scientist
  3. Data Scientist
  4. Data Analyst oder Junior Data Scientist

Data Scientist vs Data Analyst

Oft werde ich gefragt, wo eigentlich der Unterschied zwischen einem Data Scientist und einem Data Analyst läge bzw. ob es dafür überhaupt ein Unterscheidungskriterium gäbe:

Meiner Erfahrung nach, steht die Bezeichnung Data Scientist für die neuen Herausforderungen für den klassischen Begriff des Data Analysten. Ein Data Analyst betreibt Datenanalysen wie ein Data Scientist, komplexere Themen, wie Predictive Analytics und Machine Learning bzw. künstliche Intelligenz, sind aber eher was für den Data Scientist. Ein Data Scientist ist sozusagen ein Data Analyst++.

Und ein Business Analyst?

Business Analysten können (müssen aber nicht) auch Data Analysten sein. In jedem Fall haben sie einen sehr starkem Bezug zum Fachbereich bzw. zum Kerngeschäft des Unternehmens. Im Business Analytics geht es um die Analyse von Geschäftsmodellen und Geschäftserfolgen. Gerade die Analyse von Geschäftserfolgen geschieht in der Regel IT-gestützt und da setzen viele Business Analysten an. Dashboards, KPIs und SQL sind das Handwerkszeug eines guten Business Analysten.

 

Interview – Big Data in der Industrie

Thomas Schott, CIO der Rehau GruppeThomas Schott ist seit den 01. Oktober 2011 als CIO für die REHAU Gruppe tätig. Kompetenz und Innovationsfreude haben REHAU zum führenden System- und Service-Anbieter polymerbasierter Lösungen in den Bereichen Bau, Automotive und Industrie gemacht. Höchste Professionalität von der Materialentwicklung bis zur Ausführung sowie die Leidenschaft für das faszinierende unbegrenzte Nutzenpotenzial polymerer Werkstoffe sind für REHAU Grundvoraussetzung, um als führende Premiummarke weltweit erfolgreich zu sein.
In 2008 wurde Herr Schott mit dem erstmals verliehenen „Green CIO Award“ ausgezeichnet. 2010 wurde er außerdem bei der Wahl zum „CIO des Jahres“ in der Kategorie „Global Exchange Award“ mit dem 3. Platz ausgezeichnet und landete in 2012 in der Kategorie Großunternehmen wieder unter den Top 6.

Data Science Blog: Herr Schott, welcher Weg hat Sie an die Spitze der IT bei REHAU geführt?

Ich hatte ursprünglich Elektrotechnik mit dem Schwerpunkt Datenverarbeitung an der TU München studiert und startete meine Karriere bei REHAU bereits im Jahr 1990. Schnell war ich in leitender Funktion für verschiedene IT-Bereiche zuständig und habe die Standardisierung, Konsolidierung und durchgängige Virtualisierung der IT-Systemlandschaft maßgeblich vorangetrieben. Die IT- und Collaboration-Systeme für weltweit mehr als 170 Niederlassungen der REHAU Gruppe laufen nun in einer konsolidierten Private Cloud, ein sehr wichtiges Ziel für das Unternehmen um schnell und flexibel agieren zu können.

Data Science Blog: Big Data und Industrie 4.0 gelten derzeit als zwei der größten Technologie-Trends, dabei scheint jede Branche diesen Begriff für sich selbst zu interpretieren. Was bedeutet Big Data für Sie? Wie sieht Big Data aus der Perspektive der verarbeiten Industrie aus?

An einer allumfassenden Definition mangelt es noch, unsere Bestrebungen zur Industrie 4.0 liegen unter anderem in den Themengebieten Predictive Maintenance, Qualitätsdatenmanagement, mobile Apps bis hin zur Lieferkette (Kunden und Lieferanten). Big Data ist dabei ein wichtiger Treiber für Industrie 4.0 und auch ein eigenes Thema, welches auch außerhalb der Produktion eine Rolle spielt.
Für die produzierende Industrie erlangt Big Data eine immer größere Bedeutung, denn es fallen immer mehr Produktionsdaten und Daten aus der Qualitätssicherung an. Wir sammeln unternehmensintern bereits Daten in solcher Vielfalt und Masse, Big Data ist bereits Realität, und das obwohl wir externe Daten noch gar nicht thematisiert haben.

Data Science Blog: Der Trend ist also seinem Ende noch nicht nahe?

Nein, denn abgesehen von Unternehmen, deren Kerngeschäft Industrie 4.0 Lösungen selbst sind, steht die traditionelle Industrie und unsere gesamte Branche in Sachen Produktionsdatenanalyse und Big Data Analytics eher noch am Anfang.

Data Science Blog: Sie haben die unternehmensweite Cloud bei REHAU bereits erfolgreich umgesetzt, führt an der Digitalisierung kein Weg um Cloud Computing herum?

Wir haben seit zehn Jahren den Ansatz einer Private Cloud konsequent verfolgt. Ein Unternehmen unserer Größe kommt um eine ausgeklügelte und konsolidierte Could-Sourcing Strategie nicht herum. Dazu gehören jedoch auch festgelegte Standards für die Nutzung.

Data Science Blog: Gerade beim Thema Cloud zucken jedoch viele Entscheider zusammen und verweisen auf Risiken für die Datensicherheit. Wie gehen Sie mit dem Thema um – Und bremsen diese Maßnahmen das Engagement, Daten zusammen zu führen und auszuwerten?

Datensicherheit wird ein immer wichtigeres Thema und wir sensibilisieren unsere internen Kunden und IT-Anwender dafür. Im Zuge der rasanten Entwicklung im Umfeld Industrie 4.0 und Industrialisierung benötigen wir zeitnah valide und zielführende Nutunzgsstandards für Cloud und Big Data Lösungen.

Data Science Blog: Wenn Sie von Analyse sprechen, denken Sie vor allem an die rückblickende Analyse oder eine solche in nahezu Echtzeit?

An beides gleichermaßen, denn je nach Problemstellung oder Optimierungsbestrebungen ist das richtige Analyseverfahren anzuwenden.

Data Science Blog: Kommen die Bestrebungen hin zur Digitalisierung und Nutzung von Big Data gerade eher von oben aus dem Vorstand oder aus der Unternehmensmitte, also aus den Fachbereichen, heraus?

In der traditionellen Industrie kommen die Bemühungen überwiegend vom Vorstand und mir als CIO. Es ist unsere Aufgabe, existierende und kommende Trends rechtzeitig zu erkennen. Big Data und Industrie 4.0 werden immer wichtiger. Es ist wettbewerbsentscheidend, hier am Ball zu bleiben. Und das nicht nur für die eigene Kosten- und Prozessoptimierung, sondern auch, um sich am Markt zu differenzieren. Wir müssen diese Technologien und Methoden in unseren Fachbereichen etablieren und die dafür notwendige Veränderungsbereitschaft anregen.

Data Science Blog: Finden die Analysen in den Fachbereichen oder in einer zentralen Stelle statt?

Das hängt sehr von den einzelnen Analysen und dem damit verbundenen Aufwand ab. Die Einrichtung eines zentralen Datenlabors mit der entsprechenden Kompetenz und ausgebildeten Daten Scientists ist allerdings ein guter Weg, um komplexe Analysen, für die die Fachbereiche keine Kapazitäten / Skills haben, experimentell umsetzen zu können.

Data Science Blog: Für die Data Scientists, die Sie für Ihre zukünftigen Umsetzungen von Big Data Analysen suchen, welche Kenntnisse setzen Sie voraus? Und suchen Sie eher den introvertierten Nerd oder den kommunikationsstarken Beratertyp?

Ein Data Scientist sollte meines Erachtens sehr gute Kenntnisse über moderne Datenbanken sowie Erfahrung in der Auswertung von unstrukturierte Daten haben, aber auch viel Kreativität für die Darstellung von Sachverhalten mitbringen und auch mal „querdenken können“.
Wir suchen eher Experten aus der Informatik und Mathematik, aber auch kommunikative, kreative Spezies und neugierige Menschen, die jedoch auch eine ausgeprägte analytische Denkweise aufweisen sollten.