Predictive Analytics
Das Leben in einem Unternehmen wäre doch viel einfacher, wenn man die Zukunft voraussehen könnte. Oft ahnt man als Verantwortlicher in einem Unternehmen, dass man kommende Ereignisse eigentlich aufgrund vorhandener Daten voraussehen könnte, nur weiss man nicht wie.
Beispiele:
- Marketing-Aktionen über einen Werbebrief an die breite Masse der möglichen Kunden erzielen oft nur eine minimale Response. Wenn man nur die vielleicht 10% derjenigen Kunden kennen und anschreiben würde, die nicht nur mit der Wahrscheinlichkeit von 0.1% positiv reagieren, sondern mit 2%-iger Sicherheit, dann hätte man 90% der Kosten gespart, die Erfolgsquote von total 0.29% auf 2% gesteigert und dabei nur 9 von 29 Kunden verloren.
- Web-Shop Hilfe: «Kunden, die diesen Artikel gekauft haben, haben sich auch für folgende Artikel interessiert: …»
- Ein Medikament wirkt, aber nur bei gewissen Patienten. Man vermutet, dass genetische Faktoren eine Rolle spielen. Die Frage ist, welche Faktoren?
- Kunden wandern ab zur Konkurrenz. Kündigt sich dies in deren Verhalten an, sodass man bei rechtzeitigem Erkennen dagegenhalten könnte?
- Versicherungen werden mit fingierten Schadenfällen betrogen. Diese Fälle zu ermitteln, ist sehr zeitaufwendig. Lässt sich dies mit Mustererkennung auf eine kleine zu untersuchende Menge eingrenzen, um den Aufwand für die finale Entscheidung in Grenzen zu halten?
Eine Firma hat sehr viele gleiche oder ähnliche Geräte, Maschinen oder Fahrzeuge im Einsatz, die Messdaten liefern können. Diese Geräte müssen gewartet werden, im Idealfall bevor sie ausfallen. Kann aufgrund der Messdaten vorausgesagt werden, dass ein Ausfall vermieden werden kann, sofern bald eine Wartung vorgenommen wird (Predictive Maintenance)
Künstliche Intelligenz ist eigentlich nur Mustererkennung, auch bekannt als «Data Mining». Im Alltag kennt man dies als Schrift-, Sprach- oder Bilderkennung und Übersetzungsprogrammen in andere Sprachen. Mustererkennung kann aber auch zu Prognosezwecken auf Daten angewendet werden, wie sie in vielen Unternehmungen anfallen. Nur wird dies noch sehr wenig genutzt, obwohl dies deutlich einfacher ist und weniger «Trainingsaufwand» benötigt als beispielsweise Bilderkennung. Wenn man Daten im Hinblick auf Prognosen auswertet, spricht man von «Predictive Analytics». - Im Gegensatz zu klassischen Auswertungen, die aufgrund von Vergangenheitsdaten erklären, was in einem Unternehmen passiert ist oder wieso es passiert ist. Prognosen sind dabei oft hilfreicher als nur Erklärungen für die Vergangenheit.
Für Predictive Analytics gibt es in der Informatik-Welt heutzutage schon viele Werkzeuge, open-source oder kommerziell-lizenzpflichtig. Immer geht es darum, mit Hilfe eines solchen Werkzeugs automatisiert ein Prognosemodell zu erstellen. Dabei geht man so vor, dass man Daten nimmt, für die schon bekannt ist, was als Resultat herauskommt bzw. herausgekommen ist. Dieses Datenset teilt man auf in ein Datenset für die Erstellung bzw. Training eines Modells und einem Set, das zur Verifikation der Prognoseausgabe des fertig trainierten Modells verwendet wird. Die Aufteilung der Daten erfolgt zum Beispiel im Verhältnis 4:1 oder 9:1 oder ähnlich. Nach der Verifikation des Modells kann man das Modell auf neue Daten anwenden, bei denen das Resultat (die Prognose) noch nicht bekannt ist. Solange sich die Umstände nicht ändern, wird die Prognose-Qualität dieselbe bleiben.
Wichtig ist dabei, sich bewusst zu sein, dass ein Modell niemals absolut gültige Prognosen erstellen kann, sondern immer nur Voraussagen, die mit einer bestimmten Wahrscheinlichkeit zutreffen. Die trainierten Modelle sind in der Lage, diese Wahrscheinlichkeit auszuweisen.
Datenvorbereitung: Bevor man ein Prognosemodell erstellt, müssen die Daten gefunden, verstanden, zusammengeführt und bereinigt werden. Manchmal müssen Daten auch normalisiert werden (alle Fremdwährungsbeträge umrechnen in CHF) oder Werte übersetzt werden (0 = Nein, 1=Ja). Bei der Bereinigung achtet man auf inkonsistente, unvollständige oder falsche Werte bzw. auf «Ausreisser». Für wiederholte Tests oder Prognosen automatisiert man diese Schritte, wenn möglich mit dem gleichen Werkzeug wie für die Modellerstellung oder dann mit einem sogenannten ETL-Tool (ETL= Daten extrahieren, transformieren, laden).
Die meisten Werkzeuge bieten verschiedene Modelle an. Je nach Prognose-Zweck und Art der Daten kommen eines oder mehrere Modelle in Frage. Falls mehrere Modelle in Frage kommen, kann man zunächst auch mit mehreren arbeiten und am Schluss dasjenige wählen, welches die besten Resultate liefert.
Die zur Verfügung stehenden Modelle lassen sich auf unterschiedliche Arten in Typen einteilen:
1. Wie sie funktionieren bzw. entscheiden
2. Welcher Art die zugrunde liegenden Daten und Prognosewerte sind
3. Was eigentlich prognostiziert wird.
Details zu den 3 Typ-Einteilungen:
Zur Funktionsweise gibt es 3 Arten von Modellen:
1. Solche, die mit statistischen Methoden wie beispielsweise Linearer Regression arbeiten.
2. Dann andere, welche die entscheidenden Merkmale in den Daten finden und daraus Entscheidungsbäume erstellen (Autos werden eher von Männern im Alter von 25 bis 50 Jahren gekauft, der Beruf spielt aber keine Rolle).
3. Neuronale Netzwerke, die zwar Wahrscheinlichkeiten für die Prognose-Qualität ausweisen, aber keine Erklärungskomponente liefern können. Der Nachteil solcher Modelle ist also, dass man bei diesen nicht nachvollziehen kann, aufgrund welcher Datenmerkmale ein das Modell zu einer bestimmten Prognose gekommen ist.
Bezüglich der zugrunde liegenden Daten und der Prognosewerte lassen sich die Modelle unterscheiden nach solchen, die mit kontinuierlichen Dezimalwerten umgehen können oder nur mit diskreten Werten wie 1,2,3 usw. bzw. «rot», «grün», «blau». Manche Modelle tolerieren fehlende Werte in den Ausgangsdaten, andere nicht. Der Prognosewerte ist oft ein boolescher Wert, also «Ja» oder «Nein», kann aber auch ein Wert auf einer kontinuierlichen Skala sein.
Auch bezüglich des «Was» lassen sich die Modelle gruppieren:
1. Ja/Nein-Prognosen
2. Assoziationen (wenn A gekauft, dann auch B)
3. Cluster-Bildung (Gruppen mit ähnlichen Merkmalswerten)