05.01.2018

Predictive Analytics: Wie funktioniert die Vorhersage von Verbrechen? (Teil 1)

Technical Value

Predictive Analytics ist bei der Polizei ein viel beachtetes Thema. Polizeibehörden in Deutschland wie auch anderen Ländern versuchen zunehmend Verbrechen mit Hilfe von intelligenten Algorithmen und Methoden zu prognostizieren. Besonders häufig werden Predictive Analytics im Kontext von Wohnungseinbrüche eingesetzt, wie Beispiele aus Berlin, NRW und München zeigen. Der Grund: Hier wird ein systematisches Vorgehen vieler Täter angenommen – sprich: Straßen, Blöcke oder Stadtteile werden planmäßig ausgekundschaftet und heimgesucht. Damit einher geht die Hoffnung, das geheime Muster der Einbrecher zu identifizieren. Wie aber funktioniert „Predictive Policing“ rein technisch? Im Folgenden werde ich mich auf Verbrecherjagd in Chicago begeben und dabei den Aufbau der Lösung beispielhaft darstellen.

Wie komme ich an die Daten?

Die Datenbasis meiner Lösung bilden also die Wohnungseinbrüche in Chicago/Illinois. Wie ich an solche – aus deutscher Perspektive – vertraulichen Daten komme? Auf jeden Fall ganz legal. Das Zauberwort lautet „Open Data“: Öffentliche Institutionen, private Unternehmen und NGOs öffnen zunehmend ihre Datentöpfe, damit die Welt davon profitieren kann. Dieser Trend ist auch in Deutschland auf dem Vormarsch. Beispielsweise stellt meine Heimatstadt Köln unter Offene Daten Köln Daten von seltsam bis spannend ins Netz. Meine Favoriten sind die Auslastung der städtischen Parkhäuser und die Position aller Ampeln.

Predictve Analytics
Die Stadt Chicago stellt sehr detaillierte Daten zu Einbrüchen öffentlich zur Verfügung. (Grafik: ORAYLIS/Power BI Desktop)

Wie so oft sind uns die Amerikaner aber ein paar Schritte voraus. So finden sich im „Chicago Data Portal“ Daten von Wohnungseinbrüchen über Drogendelikten bis hin zu Mord – genügend Futter also, um mich an einer kleinen Predictive Analytics Lösung zu versuchen, mit der ich vorhersagen kann, ob und wann in Chicago innerhalb der nächsten 72 Stunden eingebrochen wird. Als Werkzeuge dienen mir dabei die Self-Service-Suite Power BI und die Programmiersprache „R“.

Wie groß sollte das Vorhersage-Gebiet sein?

Die Stadt Chicago stellt ihre Einbruchsdaten relativ detailliert bereit, vor allem in Bezug auf Straße bzw. Block und Tatzeitpunkt. Was komplett fehlt, sind Informationen zur Beute. Aber das wäre vielleicht auch zu viel des Guten. Nach einer ersten Sichtung habe ich mir überlegt, für welche Gebiete ich Predictive Analytics anwenden möchte. Die Datensätze umfassen jeweils Adresse, Block, Polizeibezirk („Beat“), Community, Ward und District. Adresse und Block waren mir zu fein granular, da Chicago mit rund 2,7 Millionen Einwohnern alles andere als eine kleine Stadt ist. Indes erschienen mir Community (77), Ward (50), District (22) als zu umfangreich. Schließlich sind manche Districts größer als viele Städte in Deutschland. Somit lohnt sich eine Prognose auf dieser Ebene kaum. Daraufhin stellten für mich die insgesamt 272 Beats einen guten Kompromiss dar.

Predictive Analytics
Das Vorhersage-Gebiet bilden die 272 Polizeibezirke in Chicago (Grafik: Chicago Data Portal)

Bei einem Ausbau der Lösung wäre es auch möglich, eigene Gebiete zu definieren oder die Stadt systematisch – wie auf einem Schachbrett – zu zerteilen. Ein Vorteil dieser vordefinierten Bereiche ist, dass es hierzu schon entsprechende Shape Files gibt. Aber dazu komme ich später.

Welches Verfahren ist das richtige?

Zunächst eine besonders wichtige Frage: Wie soll die Prognose überhaupt erzeugt werden? Cortana, Siri und Alexa konnten mir darauf keine Antwort geben. Dafür bekam ich den Hinweis, dass es in Chicago heute regnet und ich meinen Schirm nicht vergessen soll. Die künstliche Intelligenz ist auf dem Vormarsch.

Letztlich lässt sich das Ganze als Klassifizierungsproblem interpretieren: Ich möchte für jeden Tag und für jeden Polizeibezirk vorhersagen, ob dort eingebrochen wird oder nicht. Wie oft und bei welcher Hausnummer die Einbrecher zuschlagen, wird nicht betrachtet. Infolgedessen gibt es zwei Klassen: "Einbruch" und "Kein Einbruch". Als Klassifikationsverfahren habe ich Random Forest genutzt – also nichts Exotisches. Ich wollte erst einmal schauen, ob überhaupt etwas bei der Analyse rauskommt.
 
Im nächsten Schritt habe ich die Daten in eine Form gebracht, mit der der Algorithmus etwas anfangen kann. Zudem galt es, jeden Polizeibezirk mit Informationen anzureichern. Als erstes habe ich für jeden Polizeibezirk die historischen Einbrüche pro Tag errechnet, zum Beispiel in den letzten 3, 6, 12, 24 und 48 Tage. Ebenso habe ich soziodemografische Daten hinzugezogen, wie die Anzahl der Bewohner in einem Polizeibezirk sowie deren Alter und Ethnien. Auch hierbei handelt es sich um Open Data, konkret Zensus-Daten von 2012.

Wie trainiere ich das Modell für Predictive Analytics?

Anhand der Daten der vergangenen 365 Tage konnte ich nunmehr für jeden Monat ein Modell mit R und Random Forest trainieren. Diese Modelle habe ich dazu verwendet, um Einbruchsprognosen rückwirkend zu simulieren. Ich habe also beispielsweise mit den Daten von April 2016 bis Ende April 2017 ein Modell für die Prognose der Einbrüche im Mai 2017 trainiert. Auf die gleiche Weise habe ich für insgesamt 6 Monate rückwirkend Prognosen erzeugt. Infolgedessen stand mir für jeden Tag und jeden Polizeibezirk eine Prognose zur Verfügung, die ich mit den tatsächlichen Einbrüchen in dieser Zeit vergleichen konnte.
 
Noch ein paar Erfahrungswerte zu den verwendeten Werkzeugen: Bisher hatte ich wenig Gelegenheit, um Power BI und R gemeinsam in Aktion zu erleben. Meist gibt es ein dediziertes Back-End, bei dem Power BI lediglich als Front-End aufgesetzt wird. Insgesamt machte die Integration aber einen soliden Eindruck. Es gab ein paar Ecken und Kanten, etwa bei der Übergabe eines Datumfeldes aus Power BI an R und wieder zurück. Schließlich hat aber doch alles in ein Power-BI-Projekt gepasst. Power BI selbst konnte seine Stärken beim Laden, Integrieren und Bereinigen der Einbruchs- und Zensus-Daten ausspielen. R war indes äußert praktisch, um neben der Prognoseerstellung auch aufwändige Datentransformationen zu gestalten, wie zum Beispiel die Berechnung der historischen Einbrüche. Das Resultat ist dann ein recht komplexer Query-Dependencies-Baum, in dem Abfrage auf Abfrage aufbaut.

Predictive Analytics
Der Query-Dependencies-Baum zum Projekt gestaltet sich letztendlich relativ komplex (Grafik: ORAYLIS/Power BI Desktop)

Wie sehen die Ergebnisse aus?

Wie sich zeigt, geschehen bei der Entwicklung des Predictive Analytics Modells wie so oft 80 Prozent der Arbeiten „unter der Haube" – sprich: Daten werden beschafft, integriert und transformiert, wir trainieren das Modell und erstellen entsprechende Prognosen. Für das große Aha-Erlebnis sorgt aber letztendlich erst die Visualisierung. Daher möchte ich Euch meinen Folgeartikel ans Herz legen, in dessen Kontext ich meine Ergebnisse anhand des Berichtes und eines Potcasts erläutere.

 

Neuen Kommentar schreiben

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.

Klartext

  • Keine HTML-Tags erlaubt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • Web page addresses and email addresses turn into links automatically.
Teilen auf

Newsletter Anmeldung

Abonnieren Sie unseren Newsletter!
Lassen Sie sich regelmäßig über alle Neuigkeiten rundum ORAYLIS und die BI- & Big-Data-Branche informieren.

Jetzt anmelden

Unsere Website benutzt Cookies, um bestmögliche Funktionalitäten bieten zu können. Durch die Nutzung unserer Website, erklären Sie sich mit der Verwendung von Cookies einverstanden. In unserer Datenschutzerklärung finden Sie unter §5 Informationen und Links, wie Sie diesen Maßnahmen jederzeit widersprechen können.