Der SPSS Modeler, die High-End-Statistik-Lösung von IBM SPSS, wartet mit einem vielversprechenden Knoten für die Datenvorbereitung auf: der Automatischen Datenvorbereitung (ADP, Automatic Data Preparation).
Datenvorbereitung ist oft der zeitaufwändigste Arbeitsschritt
Wer sich schon mal intensiver mit Datenauswertung oder data mining beschäftigt hat, hat sehr wahrscheinlich die Erfahrung gemacht, dass die Datenvorbereitung oft der zeitintensivste Arbeitsschritt eines solchen Projektes ist. In der SPSS-Dokumentation zum CRISP-DM Prozess (Cross Industry Standard Process for Data Mining) wird geschätzt, dass
„die Datenvorbereitung in der Regel 50 – 70% der Zeit und Arbeiten eines Projektes in Anspruch nimmt“.
Klingt es da nicht verlockend, diesen Aufwand, der meist zu den unspannenderen Aufgabenbereichen zählt, einer Maschine zu überlassen?
Der IBM SPSS Modeler enthält ein umfangreiches Lernprogramm, das neben den (spannenderen) Modellierungsbeispielen auch Beispiele für die Datenvorbereitung beinhaltet. Bei der Automatischen Datenvorbereitung (ADP) geht es um logistische Regressionsmodelle zur Vorhersage der Kundenabwanderung. Mit wenigen Klicks kann man anhand genauer Anweisungen den Stream nachbauen (oder gleich den fertigen Stream verwenden) und sieht das Ergebnis im Vergleich:
- Anteil korrekter Modellvorhersagen ohne ADP: 10,6%
- Anteil korrekter Modellvorhersagen mit ADP: 78,8%
Beeindruckend, oder? Man kann wohl davon ausgehen, dass der Datensatz sorgfältig für diesen Zweck ausgewählt oder sogar konstruiert wurde. Sei’s drum – das Fazit im Anwendungsbeispiel klingt einigermaßen zurückhaltend:
„… Wenn Sie eine bestimmte Theorie beweisen oder widerlegen oder spezifische Modelle erstellen möchten, ist es offenbar nützlich, direkt mit den Modelleinstellungen zu arbeiten. Wenn Ihnen jedoch nur begrenzte Zeit zur Verfügung steht oder eine große Menge an Daten vorzubereiten ist, kann Ihnen der ADP-Knoten einen Vorteil liefern.“
Immerhin wird eingestanden, dass ADP die Intelligenz und Sachkenntnis des Forschers nicht überflüssig macht. Allzu viel über die Arbeitsweise des ADP erfährt man im Lernprogramm jedoch nicht. Alle Beispiele sind offenbar auf schnelle Anwendbarkeit getrimmt und bewusst von Theorie-Ballast frei gehalten. Dazu wird auf das Algorithmus-Handbuch verwiesen, das meines Wissens nur auf Englisch vorliegt.
Algorithmen: So arbeitet die Automatische Datenvorbereitung
Also – wie arbeitet die Automatische Datenvorbereitung, was kann sie? Einige Stichpunkte aus dem Algorithms Guide:
- arbeitet unabhängig davon, welche Modelle danach zum Einsatz kommen; es müssen jedoch eine Zielgröße (target) sowie Prädiktoren festgelegt sein
- zerlegt Datumsvariablen in separate ordinale Variablen für Jahr, Monat, Tag;
berechnet Zeitabstände zu einem benutzerdefinierten Datum;
falls keine Zeiteinheit dafür angegeben wird, wird eine passende Einheit ausgewählt - analoges Vorgehen bei Zeitvariablen: Zerlegung in Stunden, Minuten, Sekunden usw.
Ausschlusskriterien für Modellvariablen
- Ausschluss, wenn eine angebbare Schwelle von Fehlwerten überschritten wird (Voreinstellung: 50%)
- kontinuierliche Variable: Ausschluss, wenn Maximum = Minimum (d. h. Konstante)
- kategoriale Variable: Ausschluss, wenn der Modus mehr als eine angebbare Prozentzahl an Werten enthält (Voreinstellung: 95%)
- Textvariable (String): Ausschluss, wenn zu viele Kategorien (Voreinstellung: >100)
Anschließend werden Skalenniveaus geprüft, z. B. können kontinuierliche Variablen mit zu wenigen Kategorien in ordinale Variablen umgewandelt werden.
Behandlung von Ausreißern
- Identifizierung über Mittelwerte, Standardabweichungen, Teilstichproben-Analyse
- Festlegung auf angebbaren Schwellenwert (cutoff value) oder Umcodierung als Fehlwert
Behandlung von Fehlwerten (missing values)
- kontinuierliche Variablen: Ersetzen durch Mittelwert
- ordinale Variablen: Ersetzen durch Median
- nominalskalierte Variablen: Ersetzen durch Modus (meistgenannte Kategorie)
Transformationen
- z-Standardisierung (Mittelwert=0, Standardabweichung=1) oder
- min-max-Transformation (Minimum und Maximum sind angebbar)
Behandlung der Zielvariablen (target)
- nominalskalierte Zielvariable: Sortierung der Kategorien nach Häufigkeit der Nennungen
- kontinuierliche Zielvariable: Box-Cox-Transformation, um die Normalverteilungseigenschaften zu verbessern
Auswahl von Prädiktoren
- kategoriale Variablen: Algorithmen für die Zusammenfassung von Kategorien;
Methode: ähnlich CHAID Tree (Entscheidungsbaum, Chi²-basiert) - Statistiken für die Erklärungskraft jedes Prädiktors:
kontinuierliche Zielvariable: lineare Regression
kategorische Zielvariable: naïve Bayes
Kritik an der Automatischen Datenvorbereitung
So weit, so gut. Wie sehr kann man der Automatischen Datenvorbereitung trauen? Ich will hier nicht auf alle Verfahren eingehen, nur einen anschaulichen Punkt herausgreifen: die Behandlung von Fehlwerten. Nach meiner Erfahrung gibt es da kein Patentrezept – bei sorgfältiger Analyse kommt man nicht darum herum, jedes Mal zu überlegen, was ein Fehlwert bedeutet.
- Bei technischen Messverfahren kann ein Fehlwert bedeuten: Messgröße liegt unterhalb (oder oberhalb) eines Schwellenwertes.
- Bei Filterfragen kann ein Fehlwert den Wert 0 bedeuten.
Beispiel: Haben Sie schon mal ein Auto gekauft?
Wie viele Autos haben Sie bisher insgesamt gekauft?
Wenn die erste Frage mit nein beantwortet wurde, lautet die korrekte Antwort auf die zweite Frage „0“. - Bei Filterfragen kann ein Fehlwert aber auch einen anderen Wert bedeuten, z. B. eine bestimmte Kategorie.
Beispiel: Wie viele Urlaubsreisen haben Sie bisher online gebucht? 1.
Wohin ging ihre letzte online gebuchte Urlaubsreise? Mallorca.
Und Ihre erste? Fehlwert. Korrekte Antwort: Ebenfalls Mallorca (war ja die einzige) Je nach gewünschter Auswertung kann es sinnvoll sein, Malle einzusetzen (wenn es speziell um die erste Urlaubsreise geht) oder nicht (wenn Doppelnennungen vermieden werden sollen).
Wenn Fehlwerte automatisch mit dem Mittelwert oder der häufigsten Kategorie ersetzt werden, können daraus mehr oder weniger gravierende Fehler in den Daten entstehen, die zudem nachträglich schwer festzustellen sein dürften, da die Eingriffe unauffällig sind.
Noch ein Satz zu den Transformationen (Box-Cox, z-Standardisierung): während sie aus mathematisch-statistischer Sicht oft sinnvoll sein mögen, um Verteilungseigenschaften zu verbessern (z. B. bessere Annäherung an eine Normalverteilung), erschweren sie die Interpretation: bei transformierten Variablen ist zum Beispiel oft unklar, was denn eine Skaleneinheit bedeutet.
Fazit: Für einen schnellen Überblick halte ich ADP für ein leistungsfähiges Werkzeug. Bei „ernsthaften“ Analysen würde ich mich jedoch nicht darauf verlassen, sondern mir die Zeit für sorgfältige Datenaufbereitungen nehmen. Praktisch: Mit dem SPSS Modeler kann man, wie im Screenshot oben zu sehen, auf einfache Weise verschiedene Zweige vergleichen, z. B. Modelle ohne und mit ADP.
Ein Gedanke zu „SPSS Modeler – Automatische Datenvorbereitung: Was passiert da?“