Anfang des Jahres hat mich mein Manager geschickt ein sehr interessanter Beitrag aus Data Colada, einem von drei Verhaltenswissenschaftlern verfassten Blogbeitrag, der veröffentlichte Forschungsergebnisse untersucht. Die Autoren von Data Colada arbeiteten mit einem Team anonymer Forscher zusammen und fanden einige kuriose Anomalien in einem Datensatz zum Kilometerstand eines Autos, der in einem Papier aus dem Jahr 2012 verwendet wurde. Ich bin verantwortlich für das Testen der Muster erkunden Plattform in JMP , mit dem ungewöhnliche oder unerwartete Muster in Daten identifiziert werden können. In diesem Beitrag verwende ich Explore Patterns zusammen mit anderen nützlichen Tools in JMP, um nach unerwarteten oder ungewöhnlichen Mustern in den Autokilometerdaten zu suchen.
Hintergrund
Die ersten Zeilen und Spalten des Pkw-Kilometer-Datensatzes sind unten dargestellt. Diese Daten stammen aus einer Studie, in der 13.488 Kunden einer bestimmten Autoversicherung gebeten wurden, ihre aktuellen Kilometerstände anzugeben. Die von den Kunden gemeldeten Messwerte sind in den Daten in den Spalten update_car1 bis update_car4 enthalten, da jeder Kunde Informationen für bis zu vier Autos gemeldet hat. Die Daten enthalten auch die Kilometerstände jedes Fahrzeugs zum Zeitpunkt der Erstausstellung der Versicherungen. Diese Spalten heißen baseline_car1 bis baseline_car4. Da nicht alle Policen gleichzeitig ausgestellt wurden, variiert die Zeit, die von der Baseline bis zur Aktualisierung verstrichen ist, für die Beobachtungen in dieser Studie.
Im Beitrag zu Data Colada stellten die Forscher vier Anomalien vor, die in diesem Datensatz gefunden wurden. Lassen Sie uns jedes dieser Ergebnisse mit JMP untersuchen.
Anomalie Nr. 1: Die Verteilung der gefahrenen Kilometer ist einheitlich
Die Autoren von Data Colada stellten fest, dass die Verteilung der gefahrenen Kilometer mit einer einheitlichen Verteilung von 0 bis 50.000 Meilen übereinstimmte.
Da die Daten eine Basislinie und eine Aktualisierungsspalte für die Kilometerzählerstände jedes Autos enthalten, erstellen wir Formelspalten, um die gefahrenen Kilometer zu speichern, indem wir die Basislinienwerte von den aktualisierten Werten subtrahieren. In JMP verwenden wir dann die Verteilungsplattform, um die Verteilung für die Basis- und Aktualisierungswerte sowie die insgesamt gefahrenen Kilometer für jedes Auto anzuzeigen. Betrachten Sie den Verteilungsbericht des ersten Autos für jeden Kunden.
Die Verteilung der Basisfahrleistung ähnelt der Verteilung der aktualisierten Fahrleistung, wobei der mittlere Kilometerstand zum Aktualisierungszeitpunkt etwa 26.000 Meilen höher ist. Dieser Befund ist an sich nicht überraschend. Was ich an den Basis- und Aktualisierungswerten am interessantesten finde, ist, dass zwei Teilnehmer Fahrzeuge besaßen, die fast 1 Million Meilen gefahren wurden! Sie müssen eine sehr gute Mechanik haben.
Der alarmierendste Teil des Berichts ist die dritte Verteilung oben, die den Unterschied zwischen den ersten beiden zeigt. Die Verteilung der gefahrenen Meilen zwischen der Basislinie und den Aktualisierungszeiten scheint gleichmäßig zwischen 0 und 50.000 Meilen verteilt zu sein. Es gibt keine Werte über 50.000 Meilen und jeder Abschnitt des Histogramms enthält ungefähr die gleiche Anzahl von Teilnehmern. Die Sichtkontrolle liefert in diesem Fall einen soliden Beweis dafür, dass die Daten gleichmäßig verteilt sind. Für Daten, die nicht so offensichtlich sind, Sie könnten mit der Fit-Beta-Option in der Distributionsplattform einen Anpassungstest durchführen .
Der Screenshot unten zeigt die Verteilung der gefahrenen Kilometer (Update – Baseline) für jedes Fahrzeug der Teilnehmer. Wir stellen fest, dass jede Verteilung auch für das zweite, dritte und vierte Auto gleichmäßig zwischen 0 und 50.000 verteilt erscheint. Basierend auf diesem Verteilungsmuster können wir schlussfolgern, dass die aktualisierten Fahrleistungswerte durch Hinzufügen von gleichmäßig verteilten Zufallswerten zu den Basisfahrleistungswerten erzeugt worden sein könnten.
Anomalie Nr. 2: Baseline-Kilometerstand hat Rundung verwendet, aktualisierte Meilenzahlen nicht
Die Autoren von Data Colada stellten fest, dass der Basiskilometerstand viele auf die nächsten Tausend gerundete Werte aufwies, während der aktualisierte Kilometerstand diese Rundung nicht enthielt.
Die Forscher von Data Colada untersuchten die Rundung, indem sie sich die letzten drei Ziffern der Kilometerstände anschauten. Wir könnten JSL verwenden, um einen ähnlichen Ansatz zu verfolgen, aber stattdessen verwenden wir Explore Patterns! Wenn Sie Explore Patterns noch nie verwendet haben, können Sie es finden, indem Sie Analysieren > Screening auswählen.
Nachdem wir Explore Patterns gestartet haben, um jede Baseline- und Update-Spalte zu untersuchen, erhalten wir die im folgenden Screenshot zu sehende Ausgabe. Wählen Sie im Bericht "Univariate Muster" die Basislinie und die Aktualisierungswerte für das erste Auto aus, um die Muster zu vergleichen.
Standardmäßig enthält Explore Patterns die Berichte für die am häufigsten duplizierten Werte in jeder Spalte, die längsten Durchläufe in jeder Spalte und die längsten duplizierten Sequenzen in jeder Spalte. Für das erste Auto im Besitz der Teilnehmer ist aus den Berichten Longest Runs oder Longest Duplicate Sequences nicht viel zu gewinnen. Der Bericht zu den am häufigsten duplizierten Werten zeigt jedoch einen interessanten Kontrast. Bei den Basiskilometerständen für das erste eigene Auto gibt es viele Werte, die auf die nächsten 10.000 gerundet zu sein scheinen. Dies ist nicht unbedingt ein unerwartetes Muster zu finden; Wenn ich nach dem Kilometerstand meines Fahrzeugs gefragt werde, runde ich immer auf.
Der Bericht zu den meisten duplizierten Werten für die aktualisierten Kilometer ist ganz anders. In diesem Bericht gibt es weit weniger Duplikate, und die angezeigten Duplikate sind nicht wie die Basiswerte gerundet. Dies würde passieren, wenn die Aktualisierungsspalten durch Hinzufügen von gleichmäßig verteilten Zufallswerten zu den Basiswerten generiert würden. Daher stimmt dieser Befund mit Anomalie Nr. 1 überein.
Anomalie #3 – Daten wurden in zwei Schriftarten eingegeben und jede Beobachtung hat einen „Zwilling“ in der anderen Schriftart
Die Forscher stellten fest, dass die Beobachtungen in der Originaldatei mit zwei verschiedenen Schriftarten aufgezeichnet wurden. Durch geschicktes Sortieren fanden die Forscher heraus, dass jede Basislinienbeobachtung in einer Schriftart einer sehr ähnlichen Zeile in der anderen Schriftart entsprach.
Ich applaudiere den Forschern dafür, dass sie die verschiedenen Schriftarten bemerkt und diesen Ansatz verfolgt haben. Nehmen wir jedoch an, die Daten hätten alle dieselbe Schriftart und diese rote Flagge wurde nicht gehisst. Können wir JMP verwenden, um merkwürdige Beziehungen zwischen Zeilen und Spalten zu identifizieren? Natürlich können wir das – schließlich ist das der JMP-Blog.
Wir können Explore Patterns verwenden, um zu untersuchen, ob es lineare Beziehungen zwischen Spalten für zusammenhängende Zeilen gibt. Betrachten Sie das folgende einfache Beispiel. In den ersten vier Zeilen haben die Spalten eine exakte lineare Beziehung mit Y=2*X. In den nächsten drei Zeilen haben die beiden Spalten wieder eine exakte lineare Beziehung mit Y=0.5*X.
Wir können Explore Patterns verwenden, um nach linearen Beziehungen wie dieser zwischen den Basislinienspalten zu suchen. Wenn uns Anomalie Nr. 1 nicht bereits aufgefallen wäre, wäre es sinnvoll, auch in den aktualisierten Spalten nach linearen Beziehungen zu suchen.
Wenn viele exakte lineare Beziehungen oder möglicherweise große Reihen linearer Beziehungen vorhanden sind, kann dies ein Zeichen dafür sein, dass die Werte in einer Spalte mit einem Vielfachen einer anderen Spalte generiert wurden. Hier gibt es nur wenige Zeilen, für die die Basislinienspalten eine exakte lineare Beziehung haben. Wir könnten die Option Einfärben verwenden, um diese Zellen anzuzeigen und auf Unregelmäßigkeiten zu untersuchen, aber für einen Datensatz dieser Größe mit vielen gerundeten Werten überrascht es nicht, einige lineare Beziehungen zu finden.
Mit Explore Patterns haben wir untersucht, ob es für die Basislinienwerte verdächtige lineare Beziehungen zwischen Zeilen für zwei Spalten gibt. Die Ergebnisse waren jedoch nicht sehr nützlich. Lassen Sie uns nun auch nach linearen Beziehungen zwischen Spalten zwischen zwei Zeilen suchen, wiederum für die Basislinienwerte. Dazu müssen wir Explore Patterns für die Transponierung unserer Daten verwenden.
Ich habe die Transpose-Option in JMP verwendet, um die Daten nach den Basislinienspalten für Teilnehmer zu transponieren, die Kilometerstände für mindestens drei Fahrzeuge gemeldet haben. Ich habe Reihen ausgeschlossen, in denen die Teilnehmer zwei oder weniger Autos hatten, da diese nicht helfen würden, lineare Beziehungen zu identifizieren.
Im Bericht „Muster untersuchen“ für diese transponierten Daten gibt es viele exakte lineare Beziehungen, bei denen die Steigung ungefähr eins ist. Daher gibt es viele Zeilen in der ursprünglichen Datentabelle, die eine fast doppelte Zeile von Basislinienwerten über die Autos hinweg aufweisen. (Tipp: Sie können mit der rechten Maustaste auf die Spalte Neigung klicken und die Funktion Wo auswählen verwenden, um alle Zeilen hervorzuheben, bei denen die Neigung nahe bei einer liegt. Es gibt 69 Paare, bei denen die Steigung zwischen 0,99 und 1,01 liegt.
Sie können über der Tabelle der linearen Beziehungen Einfärben auswählen, um alle Werte in einer exakten linearen Beziehung einzufärben, oder Sie können mit der rechten Maustaste auf die Y-Spalte klicken, um bestimmte Werte einzufärben. Die folgende Tabelle enthält die eingefärbten Werte für die ersten drei Zeilen des Berichts "Lineare Beziehungen".
Explore Patterns hat mehrere Paare von „fahrenden Zwillingen“ identifiziert, bei denen die Basiskilometerwerte bei allen Autos sehr ähnlich waren und eine exakte lineare Beziehung aufwiesen. Wir könnten dem nachgehen, indem wir nach weiteren Paaren suchen, die keine exakte lineare Beziehung haben, aber immer noch sehr eng verwandt sind. Wie im Data Colada-Post gezeigt, ist es einfach, viele fahrende Zwillinge zu identifizieren, sobald Sie nach dem Basiswert für das vierte Auto sortieren.
Anomalie #4 – Eine Schriftart hat viele gerundete Grundlinienwerte, die andere nicht
Die Forscher fanden heraus, dass die Grundlinienwerte in der Schriftart Calibri gerundet waren und die Werte in der Cambria-Schrift nicht gerundet wurden.
Angenommen, wir wüssten, dass einige Zeilen in einer Schriftart und die anderen Zeilen in einer zweiten Schriftart geschrieben wurden und dass wir eine Spalte in unseren Daten mit der Schriftart für jede Zeile haben. Wir können Explore Patterns mit dem Schriftartnamen als eine By-Spalte verwenden.
Wie in den Explore Patterns-Berichten zu sehen ist, haben die Basislinien-Kilometerwerte für die Zeilen in der Schriftart Calibri viele gerundete Werte, während die Basislinienwerte für die Cambria-Zeilen nicht gerundet sind. Da wir erwarten würden, dass die von Kunden gemeldeten Kilometerstände gerundet werden, deutet dies darauf hin, dass die ursprünglich gemeldeten Werte die Zeilen mit der Schriftart Calibri waren und die Daten des „driving twin“ erstellt und dann in der Schriftart Cambria eingegeben wurden.
Fazit
Wann immer Sie einen neuen Datensatz erwerben, führen Sie wahrscheinlich eine explorative Analyse und Datenbereinigung durch. Vielleicht du Suche nach Ausreißern , Überprüfen Sie die Daten auf fehlende Werte , oder zeigen Sie die Verteilung der einzelnen Variablen an. Ich hoffe, dieser Beitrag hat Sie ermutigt, mit Explore Patterns nach ungewöhnlichen Mustern in Ihren Daten zu suchen. Nicht alle Muster, die Sie mit Explore Patterns finden, sind ein Beweis dafür, dass etwas falsch oder besorgniserregend ist, aber das Dienstprogramm bietet Ihnen ein Werkzeug zum Auffinden von Mustern, die eine weitere Untersuchung rechtfertigen.