Zum Hauptinhalt springen

Fehlende Werte in logistischer Regression

Flexibilität der logistischen Regression

Die logistische Regression ist neben Entscheidungsbäumen das Arbeitspferd in der Modellierung, um das Eintreten eines Ereignisses vorherzusagen. Nun sind beide Verfahren zum Glück so ausgelegt, dass man im Grunde jede Art von Prädiktor für die Vorhersage einsetzen kann, egal ob dichotome Kategorien, mehrstufige Kategorien oder stetige Variablen auf Intervallskalenniveau.
Speziell die logistische Regression hat allerdings keine Möglichkeit, sinnvoll mit fehlenden Werten umzugehen. In der sozialwissenschaftlichen Forschung oder der Marktforschung behilft man sich häufig damit, Analysen nur auf vollständige Datensätze zu beschränken.
Dieses Vorgehen birgt immer die Gefahr, dass man systematisch eine Kundengruppe vernachlässigt. Allein die Tatsache, dass Werte fehlen, kann bereits Aufschluss über einen Kunden oder ein Untersuchungsereignis geben.

Im Umgang mit Unternehmensdaten sind die Fallzahlen in der Regel groß genug, um auch die fehlende Werte für ein Scoring zu verwenden. Bei Kategorien bildet man einfach eine neue Kategorie, welche diese Fälle umfasst. 

Problematik stetiger Prädiktoren

Doch wie geht man hier mit Fehlenden bei stetigen Prädiktoren um? Angenommen man möchte einen Churn-Score entwickeln, verwendet das Kundenalter als Prädiktor und bemerkt, dass etwa ein Sechstel der Kunden kein Alter gepflegt haben. Häufig entdeckt man dann auch noch viele weitere Kunden mit fehlerhaften Dateneingaben, die man ebenfalls auf "fehlend" setzen muss.

Wäre das Alter vollständig, würde man es als stetigen Einfluss im Modell berücksichtigen, so dass jedes weitere Jahr das Chancenverhältnis zur Kündigung verändert. Diese Beziehung ist dabei stets linear steigend oder fallend.

In der Literatur gibt es eine Vielzahl von Techniken zum Umgang mit fehlenden Daten, die alle ihre Berechtigung und ihr Einsatzgebiet besitzen. Softwarepakete wie SPSS bieten an, fehlende Werte mit dem Median oder dem Mittelwert zu ersetzen. Je nach Anteil Fehlender an der Gesamtheit, setzt dieses Vorgehen viele, vielleicht falsche Annahmen voraus.

Best Practice: Transformation der stetigen Prädiktoren in gleich große diskrete Stufen

Ich empfehle klar als Best Practice, stetige Prädiktoren mit fehlenden Werten in der linearen Regression auf eine Anzahl Kategorien umzuschlüsseln. Die Variable Alter aus dem Beispiel würde ich zunächst auf 9 oder 10 gleich große Perzentile aufteilen und die Fehlenden als weitere Kategorie berücksichtigen. Für den Referenzpunkt, also welche Kategorie als Basis zählt, wählt man am besten eine Randkategorie, also höchster oder niedrigster Rand. Wenn tatsächlich eine deutliche stetige Beziehung zwischen dem Alter und der Churn-Wahrscheinlichkeit besteht, dann wird man sie auch anhand der Koeffizienten der 9 bzw. 10 Einzelkategorien entdecken. Wenn sich benachbarte Kategorien nicht unterscheiden, ist es sinnvoll, sie zu einer größeren Kategorie zusammenzufassen. Diese Vorgehen birgt auch den Vorteil, eventuell Zusammenhänge mit Minima und Maxima, also kurvilineare Zusammenhänge, zu entdecken. Es könnte ja sein, dass vor allem junge und alte Kunden Churn-gefährdet sind und die Mitte sich eher durch Stabilität auszeichnet. Unabhängig davon kann man mit diesem Ansatz auch Vorhersagen für die Kunden mit fehlendem Alter treffen. Sollte sich der Koeffizient für diese Kategorie deutlich von den anderen Alterskoeffizienten unterscheiden, deutet es sehr auf einen systematischen Effekt hin. In diesem Fall hat man eine eigene Kundengruppe identifiziert, die man durch andere Methoden unter den Teppich kehren würde.

Diese Vorgehensweise ist allerdings nicht ganz frei von Nachteilen. Abgesehen davon, dass man seine Datensätze mit horrenden Mengen von Dummy-Variablen vollmüllt (heute kein Problem mehr), besteht immer noch die Gefahr von Overfitting. Genauso kann man bei der drastisch erhöhten Menge an Prädiktoren schnell der Alpha-Inflation und damit falschen Zufallsergebnissen auf den Leim gehen. Das Verfahren wählt man am besten nur bei ordentlichen Fallzahlen und man löst sich dabei besser von der kindischen Jagd nach 5%-Signifikanzen. Alles über p von 0.1% ist in meinen Augen dabei uninteressant. 

Stefan Seltmann
Dein Ansprechpartner
Stefan Seltmann
Lead Expert
Stefan liebt das Programmieren, vor allem rund um Data Engineering und Data Science, und arbeitet quasi in seinem Hobby. Gerade für Softwareentwicklung mit Python und/oder Spark punktet er als b.telligents Telefonjoker.
#CodeFirst, #TestMore, #CodeDoctor