Free Trial

Blog - Deutsch

Erkenntnisse und Ideen von den besten Analytics-Experten.
RolandSchubert
16 - Nebula
16 - Nebula

Auf die Qualität von Analysen hat die Datenqualität ganz wesentlichen Einfluss. Ganz klar: Fehlerhafte Daten können Ergebnisse verfälschen. Leider ist es mitunter nicht ganz einfach, diese Fehler zu erkennen. Ein Qualitätsproblem fällt allerdings sofort auf, wenn nämlich einzelne Werte komplett fehlen.  Und das kommt häufig vor, als man erwarten würde.  

 

Vielleicht enthält der Kundenstamm für jeden registrierten Kunden wesentliche Informationen wie Alter, Familienstand, Einkommen, Eigentumsverhältnisse und laufende Verpflichtungen,  aber für einzelne Kunden sind einige Felder nicht gefüllt. Möglicherweise wollen wir auch die Ergebnisse einer Umfrage nutzen, aber einige Teilehmer haben einzelne Fragen nicht beantwortet. Oder wir werten Umsatzdaten je Tag und Filiale aus - aber eine paar Werte fehlen. 

 

Für die weitere Auswertung ist das ein echtes Problem (insbesondere, wenn man Tools aus den Gruppen "Predictive" oder "Time Series einsetzen will - die reagieren sehr sensibel, wenn statt eines Wertes "NULL" geliefert wird). Eine Option ist, einfach alle unvollständigen Datensätze zu eliminieren. Nun, in manchen Fällen ist das ein sinnvoller Ansatz, oft aber keine Lösung, da zu viel Information verloren gehen würde - wollen wir etwa bei den angesprochenen Umsatzdaten alle Tage eliminieren, an denen Daten fehlen? Oder alle Filialen, bei denen eine Lücke auftaucht? 

 

Die Alternative ist, sinnvolle Werte da einzusetzen, wo Daten fehlen, also Datenlücken zu schließen. Aber wie? Darum geht es in diesem Beitrag.

 

 

Um Lücken in unseren Daten zu schließen, bietet Alteryx ein Tool an, das diesen Schritt technisch ganz einfach macht: das Imputation Tool.P000.jpg

Das Tool bietet die Möglichkeit, fehlende Werte in einem Datenbestand zu ersetzen, also gewissermaßen "aufzufüllen". An einem Beispiel lassen sich die Möglichkeiten schön zeigen; wir verwenden hierfür das schon angesprochene Beispiel der Umsatzdaten je Tag.

 

P001.jpg 

 

Hier erkennen wir sofort den NULL Wert am 13.03., den wir technisch natürlich einfach mit "0" ersetzen könnten (z.B. mit dem Data Cleansing Tool)  - das würde aber abgeleitete Kennzahlen (Umsatz je Tag) oder auch eine Zeitreihenanalyse beeinflussen. 

 

Hier hilft das Imputation Tool, das für numerische Felder ermöglicht, etwas sinnvollere Daten einzusetzen.

 

P002.jpg

 

Das Tool bietet die Möglichkeit, NULL (oder einen anderen, frei wählbaren Wert) durch den Durchschnitt (arithmetisches Mittel), den Median (Mittelwert, der die sortierte Liste der Daten in zwei Teile trennt), den Modalwert (häufigster Wert) und einen frei wählbaren Wert zu ersetzen. 

 

P003.jpg

Grundsätzlich könnten wir natürlich auch den gewünschten "Ersatzwert" mit dem Summarize Tool ermitteln, ihn den Daten hinzufügen (z.B. Find Replace Tool) und über eine entsprechende Formel dann NULL-Werte ersetzen - das Imputation Tool nimmt uns hier einfach etwas Arbeit ab.

 

 

Wenn wir uns bei "Replace with value"  für "Average"  entscheiden, werden alle NULL-Werte des gewählten Feldes durch den Durchschnitt ersetzt.

 

 

P004.jpg

 

 

Die Auswahl "Median" setzt hier einfach den entsprechenden Wert ein ...

 

P005.jpg

 

   ... während bei "Mode" die am häufigsten vorkommende Ausprägung verwendet wird:

 

P006.jpg

 

Eine Besonderheit ist der "User specified value ..." - hier können wir einen frei wählbaren Wert einsetzen:

 

P007.jpg 

 

Einen Haken hat die ganze Sache allerdings. Wir setzen zwar Werte ein, die durchaus sinnvoll und logisch sein mögen, verändern aber damit unsere Datenbasis. Um zu erkennen, wo etwas angepasst wurde, müssten wir die Daten mit den Ausgangswerten vergleichen. Das geht natürlich auch komfortabler. Wir können die modifizierten/korrigierten Daten sofort als eigenes Feld ausgeben - so haben wir Ursprungswert und korrigierten Wert direkt im Vergleich, könen dann auch die Auswirkung der Anpassung sofort ablesen. 

 

P008.jpg

 

Alternativ können wir auch alle Datensätze, die korrigiert wurden, mit einer Markierung versehen - da der ersetze Wert immer gleich ist, genügt das in den meisten Fällen. Als Filter ist die 0/1-Variante auch etwas einfacher einzusetzen, die Differenz alt/neu ist aber nicht so unmittelbar ersichtlich.

 

P009.jpg

 

Schließlich kann man auch beide Optionen kombinieren; wahrscheinlich ist das in den wenigsten Fällen notwendig.

 

P010.jpg

 

 

Bisher haben wir immer NULL-Werte ersetzt. Aber natürlich können auch andere Werte ersetzt werden. Hier soll 98175 durch den Durchschnitt ersetzt werden. Technisch ganz einfach - wir wählen bei "Incoming value to replace" statt NULL den "User specified value", wählen den Ersatzwert und fertig. 

 

Diese Variante kann zum Beispiel sinnvoll sein, wenn in den Daten für "Wert nicht verfügbar" etwa "9999" oder ein ähnlicher Wert verwendet wird. Allerdings wird der Wert, der ersetzt werden soll, bei der Durchschnittsermittlung nicht ausgeschlossen -damit ist diese Variante vielleicht nicht immer besonders geeignet ... 

 

P011.jpg

 

 

Ein kleiner Nachteil des Tools ist, dass alle Felder mit der gleichen Methode behandelt werden. Wenn also für 3 Felder NULL-Werte durch den Durchschnitt, für 3 andere Felder aber durch den Median ersetzt werden sollen, brauchen wir zwei Imputation Tools. Aber das lässt sich wohl verkraften.

 

Allerdings muss man darauf achten, dass das Füllen von Datenlücken mit dem Imputation Tool inhaltlich nicht immer sinnvoll ist. In unserem Umsatzbeispiel etwa könnte es besser passen, Durchschnitte für die einzelnen Wochentage zu ermitteln - das geht dann nicht mehr mit dem Imputation Tool, ist aber auch einfach zu lösen. 

P013.jpg

 

 

 

 

Beschriftungen
Beiträge mit den meisten Kudos