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.

Intelligence Gathering

Beispiele für Data Science stehen häufig im Kontext von innovativen Internet-StartUps, die mit entsprechenden Methoden individuelle Kundenbedürfnisse in Erfahrung bringen. Es gibt jedoch auch eine Dunkle Seite der Macht, auf die ich nachfolgend über ein Brainstorming eingehen möchte.

Was ist Intelligence Gathering?

Unter Intelligence Gathering wird jegliche legale und illegale Beschaffung von wettbewerbsentscheidenden Informationen verstanden, von traditioneller Marktforschung bis hin zur Wirtschaftsspionage. Unter Intelligence Gathering fallen die Informationsbeschaffung und die Auswertung, wobei nicht zwangsläufig elektronische Beschaffungs- und Auswertungsszenarien gemeint sind, auch wenn diese den Großteil der relevanten Informationsbeschaffung ausmachen dürften.

Welche Data Science Methoden kommen zum Einsatz?

Alle. Unter dem Oberbegriff von Intelligence Gathering fallen die vielfältigsten Motive der Informationsgewinnung um Wettbewerbsvorteile zu erzielen. Genutzt werden statistische Datenanalysen, Process Mining, Predictive Analytics bis hin zu Deep Learning Netzen. Viele Einsatzzwecke bedingen ein gutes Data Engineering vorab, da Daten erstmal gesammelt, häufig in großen Mengen gespeichert und verknüpft werden müssen. Data Scraping, das Absammeln von Daten aus Dokumenten und von Internetseiten, kommt dabei häufig zum Einsatz. Dabei werden manchmal auch Grenzen nationaler Gesetze überschritten, wenn z. B. über die Umgehung von Sicherheitsmaßnahmen (z. B. IP-Sperren, CAPTCHA, bis hin zum Passwortschutz) unberechtigte Zugriffe auf Daten erfolgen.

Welche Daten werden beispielsweise analysiert?

  • Social-Media-Daten
  • Freie und kommerzielle Kontaktdatenbanken
  • Internationale Finanzdaten (Stichwort: SWIFT)
  • Import-Export-Daten (Stichworte: PIERS, AMS)
  • Daten über Telefonie und Internetverkehr (Sitchwort: Vorratsdatenspeicherung)
  • Positionsdaten (z. B. via GPS, IPs, Funkzellen, WLAN-Mapping)
  • Daten über den weltweiten Reiseverkehr (Stichworte: CRS, GDS, PNR, APIS)

Das volle Potenzial der Daten entfaltet sich – wie jeder Data Scientist weiß – erst durch sinnvolle Verknüpfung.

Welche Insights sind beispielsweise üblich? Und welche darüber hinaus möglich?

Übliche Einblicke sind beispielsweise die Beziehungsnetze eines Unternehmens, aus denen sich wiederum alle wichtigen Kunden, Lieferanten, Mitarbeiter und sonstigen Stakeholder ableiten lassen. Es können tatsächliche Verkaufs- und Einkaufskonditionen der fremden Unternehmen ermittelt werden. Im Sinne von Wissen ist Macht können solche Informationen für eigene Verhandlungen mit Kunden, Lieferanten oder Investoren zum Vorteil genutzt werden. Häufiges Erkenntnisziel ist ferner, welche Mitarbeiter im Unternehmen tatsächliche Entscheider sind, welche beruflichen und persönlichen Vorlieben diese haben. Dies ist auch für das gezielte Abwerben von Technologieexperten möglich.

Darüber hinaus können dolose Handlungen wie etwa Bestechung oder Unterschlagung identifiziert werden. Beispielsweise gab es mehrere öffentlich bekannt gewordene Aufdeckungen von Bestechungsfällen bei der Vergabe von Großprojekten, die US-amerikanische Nachrichtendienste auf anderen Kontinenten aufgedeckt haben (z. B. der Thomson-Alcatel-Konzern Korruptionsfall in Brasilien). Die US-Politik konnte dadurch eine Neuvergabe der Projekte an US-amerikanische Unternehmen erreichen.

Welche Akteure nutzen diese Methoden der Informationsgewinnung?

Die Spitzenakteure sind Nachrichtendienste wie beispielsweise der BND (Deutschland), die CIA (USA) und die NSA (USA).  In öffentlichen Diskussionen und Skandalen ebenfalls im Rampenlicht stehende Geheimdienste sind solche aus Frankreich, Großbritanien, Russland und China. Diese und andere nationale Nachrichtendienste analysieren Daten aus öffentlich zugänglichen Systemen, infiltrieren aber auch gezielt oder ungezielt fremde Computernetzwerke. Die Nachrichtendienste analysieren Daten in unterschiedlichsten Formen, neben Metadaten von z. B. Telefonaten und E-Mails auch umfangreiche Textinformationen, Bild-/Videomaterial sowie IT-Netzwerkverkehr. Der weltweit eingeschlagene Weg zur vernetzten Welt (Internet of Things) wird Intelligence Gathering weiter beflügeln.

[box]Anmerkung: Open Data Analytics

Eine Informationsquelle, die selbst von Experten häufig unterschätzt wird, ist die Möglichkeit der Gewinnung von Erkenntnissen über Märkte, Branchen und Unternehmen durch die Auswertung von öffentlich zugänglichen Informationen, die in gedruckter oder elektronischer Form in frei zugänglichen Open-Data-Datenbanken und Internetplattformen verfügbar gemacht werden, aber beispielsweise auch über Radio, Zeitungen, Journalen oder über teilweise frei zugängliche kommerzielle Datenbanken.[/box]

Die Nachrichtendienste analysieren Daten, um nationale Gefahren möglichst frühzeitig erkennen zu können. Längst ist jedoch bekannt, dass alle Nachrichtendienste zumindest auf internationaler Ebene auch der Wirtschaftsspionage dienen, ja sogar von Regierungen und Konzernen direkt dazu beauftragt werden.

Internet-Giganten wie Google, Baidu, Microsoft (Bing.com) oder Facebook haben Intelligence Gathering, häufig aber einfach als Big Data oder als Datenkrake bezeichnet, zu einem Hauptgeschäftszweck gemacht und sind nicht weit von der Mächtigkeit der Nachrichtendienste entfernt, in einigen Bereichen diesen vermutlich sogar deutlich überlegen (und zur Kooperation mit diesen gezwungen).

Finanzdienstleister wie Versicherungen und Investmentbanker nutzen Intelligence Gathering zur Reduzierung ihrer Geschäftsrisiken. Weitere Akteure sind traditionelle Industrieunternehmen, die auf einen Wettbewerbsvorteil durch Intelligence Methoden abzielen.

Nachfolgend beschränke ich mich weitgehend auf Intelligence Gathering für traditionelle Industrieunternehmen:

competitive-intelligence-wirtschaftsspionage

Industrielle Marktforschung

Die Industrielle Marktforschung ist eine auf bestimmte Branchen, Produkt- oder Kundengruppen spezialisierte Marktforschung die vor allem auf die Analyse des Kundenverhaltens abzielt. Diese kann auf vielen Wegen, beispielsweise durch gezielte Marktbeobachtung oder statistische Analyse der durch Kundenbefragung erhobenen Daten erfolgen. Customer Analytics und Procurement Analytics sind zwei Anwendungsgebiete für Data Science in der industriellen Marktforschung.

Business Intelligence und Competitive Intelligence

Der Begriff Business Intelligence ist aus der modernen Geschäftswelt nicht mehr wegzudenken. Business Intelligence bezeichnet die Analyse von unternehmensinternen und auch -externen Daten, um das eigene Unternehmen benchmarken zu können, eine Transparenz über die Prozesse und die Leistungsfähigkeit des Unternehmens zu erreichen. Das Unternehmen reflektiert sich mit Business Intelligence selbst.

Competitive Intelligence nutzt sehr ähnliche, in den überwiegenden Fällen genau dieselben Methoden, jedoch nicht mit dem Ziel, ein Abbild des eigenen, sondern ein Abbild von anderen Unternehmen zu erstellen, nämlich von direkten Konkurrenten des eigenen Unternehmens oder auch von strategischen Lieferanten oder Zielkunden.

Motivationen für Competitive Intelligence

Die Motivationen für die genaue Analyse von Konkurrenzunternehmen können sehr vielfältig sein, beispielsweise:

  • Ermittlung der eigenen Wettbewerbsposition für ein Benchmarking oder zur Wettbewerberprofilierung
  • (Strategische) Frühwarnung/-aufklärung
  • Due Diligence bei Unternehmenskauf oder Bewertung von Marktzugangschancen
  • Chancen-/Risikoanalyse für neue Angebote/Absatzregionen
  • Issues Monitoring (für das eigene Unternehmen relevante Themen)
  • Analyse von Kundenanforderungen
  • Satisfaction Surveys (eigene und Wettbewerberkunden bzw. -zulieferer)
  • Bewertung von Zulieferern (Loyalität, Preisgestaltung, Überlebensfähigkeit)

Viele dieser Anwendungsszenarien sind nicht weit weg von aktuellen Business Intelligence bzw. Data Science Projekten, die öffentlich kommuniziert werden. Beispielsweise arbeiten Data Scientists mit aller Selbstverständlichkeit im Rahmen von Procurement Analytics daran, Lieferantennetzwerke hinsichtlich der Ausfallrisiken zu analysieren oder auch in Abhängigkeit von Marktdaten ideale Bestellzeitpunkte zu berechnen. Im Customer Analytics ist es bereits Normalität, Kundenausfallrisiken zu berechnen, Kundenbedürfnisse und Kundenverhalten vorherzusagen. Die viel diskutierte Churn Prediction, also die Vorhersage der Loyalität des Kunden gegenüber dem Unternehmen, grenzt an Competetitve Intelligence mindestens an.

Wirtschaftsspionage

Während Competititve Intelligence noch mit grundsätzlich legalen Methoden der Datenbeschaffung und -auswertung auskommt, ist die Wirtschaftsspionage eine Form der Wirtschaftskriminalität, also eine illegale Handlung darstellt, die strafrechtliche Konsequenzen haben kann. Zur Wirtschaftsspionage steigern sich die Handlungen dann, wenn beispielsweise auch interne Dokumente oder der Datenverkehr ohne Genehmigung der Eigentümer abgegriffen werden.

Beispiele für Wirtschaftsspionage mit Unterstützung durch Data Science Methoden ist die Analyse von internen Finanztransaktionsdaten, des Datenverkehrs (über Leitungen oder Funknetze) oder des E-Mail-Verkehrs. Neue Methoden aus den Bereichen Machine Learning / Deep Learning werden auch die Möglichkeiten der Wirtschaftsspionage weiter beflügeln, beispielsweise durch Einsatz von gezielter Schrift-/Spracherkennung in Abhör-Szenarien.

Strafrechtliche Bewertung und Verfolgung

Die strafrechtliche Verfolgung von datengetriebener Wirtschaftsspionage ist in der Regel schwierig bis praktisch unmöglich. Zu Bedenken gilt zudem, dass Datenabgriffe und -analysen mit Leichtigkeit in anderen Nationen außerhalb der lokalen Gesetzgebung durchgeführt werden können.

Nicht zu vergessen: Data Science ist stets wertfrei zu betrachten, denn diese angewandte Wissenschaft kann zur Wirtschaftsspionage dienen, jedoch genauso gut auch bei der Aufdeckung von Wirtschaftsspionage helfen.

Literaturempfehlungen

Folgende Bücher sind Quellen für einen tieferen Einblick in Intelligence Gathering und die Möglichkeiten von Data Science zur Informationsbeschaffung.


Wirtschaftsspionage und Intelligence Gathering: Neue Trends der wirtschaftlichen Vorteilsbeschaffung

Data Mining and Predictive Analysis: Intelligence Gathering and Crime Analysis

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.