Statistikmodelle ohne Programmierkenntnisse erstellen

Predictive Analytics mit R

| Autor / Redakteur: Michael Matzer / Nico Litzel

Diese Bestandteile subsumiert PAC unter Predictive Analytics.
Diese Bestandteile subsumiert PAC unter Predictive Analytics. (Bild: PAC)

Die Voraussage von Ereignissen hängt von der Erkennung von Zusammenhängen, Mustern und Korrelationen in Daten ab. Dabei werden vor allem statistisch-mathematische Methoden angewendet. Die Statistik-Sprache R findet dabei zunehmend Verbreitung, nicht mehr nur an Hochschulen, sondern zunehmend auch in der Wirtschaft.

Predictive Analytics ist ein Teilbereich von Business Intelligence, der sich mit zu erwartenden und möglichen Ereignissen beschäftigt. Er fragt, was unter welchen Voraussetzungen passieren wird oder passieren sollte. „Innerhalb dieser BI-Disziplin geht es also um die Erkennung von Zusammenhängen, Mustern und Korrelationen in Daten (auch „Data Mining“ genannt), um die Vorhersage aufgrund von Prognosemodellen, um die Visualisierung und Datenexploration sowie um Textanalyse (auch „Text Mining“ genannt)“, schreibt der Analyst Frank Niemann in seiner Predictive Analytics-Studie für Pierre Audoin Consultants (PAC).

Um Prognosemodelle zu erstellen, sind statistische Methoden vonnöten. Entsprechenden Softwarepakete bieten beispielsweise das SAS Institute, IBM mit SPSS oder Stata an. Da diese aber oftmals mit Kosten verbunden sind, greifen Studierende, Forscher und Fachkräfte seit den neunziger Jahren auf die quelloffene und GPL-lizenzierte Programmiersprache R zurück. „R ist aber auch ein Interpreter, mit dem man interaktiv arbeiten kann“, erläutert Michael Wurst, Senior Software Engineer in IBMs Forschungs- und Entwicklungslabor. „Mittlerweile sind über tausend Erweiterungspakete verfügbar.“

„Damit können Unternehmen beispielsweise Trends im Kundenverhalten erkennen oder bislang verborgene Cashflow-Risiken und neue Absatzpotenziale identifizieren; anschließende geschäftliche Entscheidungen orientieren sich so deutlich präziser an den tatsächlichen Marktbedingungen“, erläutert Benjamin Graf, Senior Data Scientist/Developer bei SAP SE. „Statt prädiktive Analysen bei der IT-Abteilung zu beauftragen, erstellen Anwender aus den Fachbereichen die gewünschten Statistikmodelle in einer grafischen Oberfläche selbst – und Programmierkenntnisse sind nicht erforderlich.“

Codebeispiel in R

In diesem Codebeispiel, das Graf geliefert hat, wird eine Machine Learning Methode genutzt, um Spam E-Mails von erwünschten E-Mails zu unterscheiden. Dazu wird im ersten Schritt eine Trainingstabelle erstellt, in der zu jeder E-Mail bestimmte Eigenschaften (Wortzählungen) aufgeführt sind. Zusätzlich wird angegeben, ob es sich bei dieser E-Mail um Spam handelt (Zielvariable). Dieser Teil findet vor dem Codebeispiel in der Bildergalerie statt.

Das Ziel des zweiten Schrittes, der hier in der Bildergalerie abgebildet ist, besteht darin, den Zusammenhang zwischen den gezählten Wörtern und der Zielvariable so zu beschreiben, dass neue E-Mails erfolgreich klassifiziert werden können. Dies geschieht mit einem statistischen Verfahren, das sich „Support Vector Machine“ nennt. Das Beispiel zeigt, dass sich mit R solche komplexeren statistischen Probleme auf sehr kompakte Weise lösen lassen.

Wie die Bibliothek PAL (Predictive Analysis Library) werden auch Algorithmen und Methoden aus R direkt in der Datenbank ausgeführt – in diesem Fall in SAP HANA. Skripte in R lassen sich in SQL-Prozeduren der Sprache SQL Script einbetten. Dadurch kann die Datenbank sie sehr performant ausführen und das Ergebnis an die jeweilige Analyse-Anwendung oder an SAP Predictive Analysis zurückliefern. Ein Ergebnis eines R-Skriptes lässt sich auch direkt mit PAL-Funktionen oder SQL-Prozeduren weiterverarbeiten.

In einem Iterationszyklus aus Laden und Vorverarbeiten – zwei klassischen ETL-Schritten – erfolgt also mit R ein Data-Mining-Vorgang, der sich mit einer Datenvisualisierung veredeln lässt. Hier kann die Iteration erneut beginnen, um besser geeignete Ergebnisse zu erzielen.

Einsatz von R mit SPSS Modeler

Der Diplom-Mathematiker Axel Holzmüller, der in der Geschäftsführung der der DPC GmbH arbeitet, setzt für die Daten-Modellierung den SPSS Modeler in der Version 16 ein. Diese Version verfügt über eine leicht bedienbare Benutzeroberfläche (GUI) mit zahlreichen Funktionen sowie über eine Schnittstelle zu der Programmiersprache R.

„R kann bestimmte Aufgaben im Bereich der Datenmanipulation durch seine ,Array-Fähigkeit' sehr gut bewältigen“, berichtet Holzmüller. „Spezielle Grafiken, aber auch statistische Verfahren, die noch nicht im Standardumfang des SPSS Modeler enthalten sind, lassen sich über R ergänzen.“

Warum er dennoch lieber mit SPSS arbeitet: „Die Benutzeroberfläche von SPSS ist für uns und unsere Kunden sehr wichtig. Während R noch vornehmlich befehlszeilenorientiert ist, kann ich mit dem SPSS Modeler leichtgängig Drag & Drop nutzen, um etwa aus Knoten und Pfeilen Datenflüsse für das Data Mining im Rahmen von Predictive-Production-Projekten zu modellieren.“ Für das Deployment auf den verschiedenen Plattformen in der Industrie nutzt Holzmüller in manchen Fällen die Programmiersprachen C# oder Java zur Umsetzung der im SPSS Modeler generierten PMML-Modelle (PMML: Predictive Model Markup Language).

Lösungen

Laut Wurst nutzen praktisch alle Statistikabteilungen R: im Finanzsektor für qualitative Analysen; bei Versorgern, im Gesundheitswesen und bei Versicherungen. „Die Nutzung wächst rasant an und mittlerweile ist das Spektrum an Nutzern ein Kontinuum.“ R wird für die Entwicklung von statistischen Erweiterungen von SPSS etc. ebenso genutzt wie für Visualisierung.

„Die meisten Nutzer kommen mit einem kleineren Basis-Set an Funktionen aus, die direkt mit der R-Kernplattform geliefert werden“, erläutert Wurst. „Daneben gibt es frei verfügbare Packages (Erweiterungen) für fast alle Aspekte von Analytics, Visualisierung und zur Analyse von Gendaten. Es gibt verschiedene vorkompilierte Edition des GNU-Projekts R, die unter der GPL erhältlich sind. R verwendet eine Befehlszeile als Eingabe, aber es sind verschiedene grafische Benutzeroberflächen für R verfügbar. Dazu gehören etwa „R Studio“ mit einer GUI und seinem Shiny-Framework, das die Erstellung von Web-Apps erlaubt. Die Cloud Foundry, die Bestandteile einiger DevOps-Plattformen wie etwa IBM BlueMix ist, verfügt über ein Build Pack für R.

Wem diese kostenlosen Editionen nicht ausreichen, kann recht leicht fehlende oder spezielle Funktionalität selbst entwickeln, ganz besonders firmenspezifisch. Diese Erweiterungen müssen nicht weitergegeben werden und lassen sich auch kommerziell verwerten. So gibt es beispielsweise von Revolution Analytics das Paket „Revolution R“, allerdings in drei Edition. Die kostenlose Edition enthält zusätzliche Funktionen für Performance und Reproduzierbarkeit von Ergebnissen. Die Plus-Edition umfasst technischen Support und rechtliche Haftungsfreistellung. Die Enterprise-Edition fügt diesem Paket noch Komponenten für die statistische Analyse von Big Data hinzu und wird als Abo für Workstations, Server, Hadoop und Datenbanken verkauft.

„R kann auf derjenigen Datenbank ausgeführt werden, wo seine Daten liegen“, erklärt Wurst. „Wenn die Datenbank im RAM liegt, dann ist ihre Skalierbarkeit allerdings vom RAM-Volumen begrenzt.“ Daher strebe IBM danach, eine Implementierung zu entwickeln, die zusätzlich externen Speicher nutzt. Wer wirklich große Datenmengen mit bis zu 400 Prozessen (Threads werden von R nicht unterstützt) parallel verarbeiten will, der sei laut Wurst mir R auf DB2 BLU und/oder Pure Data for Analytics (Netezza) gut bedient. Das sind aber schon Maximalanforderungen. Zwei Nummern kleiner kann man schon mit der IBM-Datenbank Dash-DB arbeiten. Sie wird ebenso wie R in IBM BlueMix mitgeliefert.

Verbreitung von R wird zunehmen

„R gehört aktuell zu den zehn am meisten genutzten Programmiersprachen“, weiß der Mathematiker Holzmüller „Die meisten Hochschulabsolventen im Bereich Mathematik können mit R umgehen. Von dort findet die Programmiersprache Eingang in die Unternehmen.“ Wegen Industrie 4.0 würden Mathematiker, wie er einer sei, in Zukunft stark von der Industrie nachgefragt. Daher sei mit einer weiteren Verbreitung von R in der Wirtschaft zu rechnen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 43162447 / Infrastruktur)