
Der technische Postsack
Folge 1: Die Wirtschaftlichkeit von Schneepflugdiensten
Hin und wieder stoßen wir JMP-Systemingenieure auf interessante Fragen, die etwas außerhalb des normalen Rahmens liegen würden JMP Verwendung. Diese Anwendungen sind im Allgemeinen clever und machen deutlich, dass die Nutzung von Daten nicht nur für geschäftliche oder technische Probleme gedacht ist.
Hier ist ein Beispiel für eine Frage, die ich von einem Benutzer (auch Mike genannt) im Bundesstaat New York erhalten habe und von der er und ich dachten, dass es Spaß machen würde, sie zu teilen.
Die Frage
Mike [JMP],
Ich spiele mit JMP herum und verwende Daten, die ich letztes Jahr für die Gesamtschneemenge gefunden habe. Ich bin diesen Sommer in ein neues Haus gezogen und habe jetzt eine 387 Fuß lange Auffahrt, die gepflügt werden muss. Ich habe kürzlich mit einem Schneepflugunternehmer gesprochen und er hat versucht, mich zu einem Saisonvertrag zu überreden. Wenn er pro Stoß auflädt, geschieht dies normalerweise immer dann, wenn wir 3 oder mehr Zoll Schnee haben und 75 $ pro Stoß zahlen. Er bot einen Preis von 2.000 US-Dollar an, wenn er immer pflügt, wenn Schnee liegt. Letztes Jahr erzählte er mir, dass wir ungefähr 20 Mal 3 Zoll oder mehr Schnee hatten. Wenn das also dieses Jahr noch einmal passieren würde, würde ich am Ende 1.500 $ (75 x 20 $) zahlen. Ich müsste also nur 500 Dollar mehr bezahlen, damit er jedes Mal pflügen kann, wenn es schneit.

Wie Sie meinen Daten entnehmen können, gab es letztes Jahr nur fünf Mal Schnee mit einer Schneehöhe von 3 Zoll oder mehr. Natürlich habe ich diesem Auftragnehmer gesagt, dass ich kein Interesse habe. Am Ende habe ich einen anderen Mann eingestellt, der das für 50 Dollar pro Fahrt erledigt. Meine Frage an Sie ist, warum JMP die 15-Zoll-Schneemenge in der Grafik zwischen 2,5 Zoll und 3,0 Zoll angibt? Da die Summen in absteigender Reihenfolge vorliegen, warum stehen die 15 Zoll nicht ganz rechts?
Danke,
Mike [Benutzer]
Meine Antwort
Hallo Mike!
Als Antwort auf Ihre Frage werden Sie meiner Meinung nach feststellen, dass in der Spalte „Greenfield Center 1,6 W“ der Datentyp „Charakter“ festgelegt ist. Über die offensichtliche alphabetische Reihenfolge hinaus wird die Reihenfolge mit Zeichendaten verwickelt. Wenn Sie dies mit der Option „Anzahl absteigend“ im Graph Builder kombinieren, wird die Vorhersage schwieriger.
Ich denke, dass Folgendes passiert: Graph Builder sortiert zuerst nach „Anzahl absteigend“. Die Kategorien mit den meisten Zeilen erscheinen also links und werden kleiner, je weiter Sie nach rechts gehen. Wenn Sie mehrere Gruppen mit der gleichen Anzahl an Datenpunkten haben, z. B. 1 und 2, 1,5 und 2,5 sowie 15 bis 9,5, verwendet Graph Builder normale Sortierregeln. Da es sich bei der Spalte um Zeichen handelt, bedeutet dies, dass sie einer pseudoalphabetischen Reihenfolge folgt. Das bedeutet, dass die Reihenfolge für die letzte Gruppe 15, 3, 5,5, 6, 9,5 wäre, da die alphabetische Reihenfolge nach Zeichen von links nach rechts erfolgt. Um ein kontrollierteres Beispiel zu verwenden: Wie JMP die Zahlen zwischen 1 und 20 anordnet, unterscheidet sich je nachdem, ob es sich bei dem Datentyp um einen Zeichen- oder einen numerischen Datentyp handelt. Numerisch wären es 1,2,3, …, 20, wie Sie es erwarten würden.Alphabetisch wären es 1, 10, 11,12, 13, …, 19, 2, 20, 3, 4, 5, 6, 7, 8, 9.
Eine Möglichkeit, dieses Problem zu umgehen, ist die Verwendung einer Spalteneigenschaft „Wertreihenfolge“. Sie können die Reihenfolge definieren, die JMP verwenden soll, und diese überschreibt die Standardreihenfolge. Bei einer benutzerdefinierten Wertreihenfolge wäre die im Graph Builder verwendete Hierarchie „Anzahl absteigend“, dann „Wertreihenfolge“ und dann die Standardeinstellung für alles, was nicht in der Spalteneigenschaft „Wertreihenfolge“ definiert ist.
Am besten,
M
Weitere Gedanken
Nachdem ich darüber nachgedacht hatte, wurde mir klar, dass es einige zusätzliche Möglichkeiten gab, dies zu erreichen, und einige weitere Visualisierungen, die verwendet werden könnten, um diesen Punkt zu beweisen. Lassen Sie uns zunächst einige Datenbereinigungen durchführen. Die von Mike verwendeten Daten stammen aus dem NOAA-Website .Die Site ist so eingerichtet, dass sie monatlich heruntergeladen wird, sodass einige Verkettungsarbeiten erforderlich sind. Wenn man sich die Daten ansieht, werden einige Zeichencodes in den ansonsten numerischen Niederschlagsdaten für jede Station verwendet. M und T werden für „missing“ bzw. „trace“ verwendet. Das bedeutet zwei Dinge. Erstens haben wir Geisterdaten .
Zweitens haben wir einen Schwellenwert, unterhalb dessen die NOAA die Meldung bestimmter Werte nicht für erforderlich hält. Damit müssen wir irgendwie klarkommen. Außerdem werden die Daten mit einem Tag-Monat-Format bereitgestellt, das JMP als Zeichen berücksichtigt und dem ein Jahr fehlt. Das heißt, wenn wir ein Zeitreihen-Streudiagramm erstellen würden, wäre die Reihenfolge falsch. Auch dies muss korrigiert werden.
Erstens besteht die Korrektur des Datums aus einer Reihe von Such- und Ersetzungsvorgängen, wobei „-“ als „Suchen“ und „/mm/jj“ als „Ersetzen“ verwendet wird. In der Praxis sieht das so aus:

Nachdem die Daten korrigiert wurden, ist es wahrscheinlich eine gute Idee, die Daten zu stapeln. Dadurch ergeben sich mehr Analysemöglichkeiten. Nachdem die Daten gestapelt sind, kann ich jetzt eine Spalteneigenschaft für fehlende Werte zuweisen, damit JMP das „M“ als fehlend betrachtet. Ich kann Recode auch verwenden, um das „T“ in einen numerischen Wert zu ändern. Der FAQ der NOAA sagt, es betrachte Spuren als „eine kleine Niederschlagsmenge, die einen Regenmesser benetzt, aber unter der Messgrenze von 0,01 Zoll liegt.“ In diesem Fall werde ich es einfach auf 0,01 umkodieren.
Als letztes werde ich eine neue Spalte „Niederschlagsgruppen“ erstellen. Ich habe es tatsächlich verwendet Brady Bradys interaktives Binning-Add-In (V2). , aber die Logik lässt sich im Formeleditor ziemlich einfach umsetzen. Wenn „Niederschlag“ größer als 3 Zoll ist, wird „Pflug“ zurückgegeben; weniger als 3 Zoll ist „Kein Pflug“; und wenn die Daten fehlen, wird „Missing“ zurückgegeben.

Nachdem ich diese Spalte eingerichtet hatte, habe ich alle fehlenden Werte ausgeblendet und ausgeschlossen.
In diesem Fall fallen mir drei Arten von Visualisierungen ein. Eine Verteilung, ein Balkendiagramm und ein Blasendiagramm. Da die Daten gestapelt sind, verwendet jeder von ihnen einen lokalen Datenfilter, um die gewünschte Station auszuwählen. Die Verteilung, die auf der von mir zuvor erstellten Indikatorspalte basiert, zeigt sehr deutlich, dass in der Saison 2016–17 fünfmal gepflügt werden musste.

Ein in Graph Builder erstelltes Balkendiagramm mit einer Referenzlinie und einer Einfärbung je nach erforderlichem Pflügen zeigt eine ähnliche Geschichte.
Blasenplots machen einfach Spaß und das Animieren der Geschichte ist eine großartige Möglichkeit, die Wirkung der Botschaft zu verbessern. Je nach Geschmack und Botschaft gibt es verschiedene Möglichkeiten, an die Visualisierung heranzugehen. Das Blasendiagramm kann auch in interaktives HTML5 exportiert werden (Export durch Ausführen der Skripts in der angehängten Datentabelle und anschließendes Verwenden der richtigen Exportoption für Ihr Betriebssystem).
Der erste Blasenplot ist ein animierter Zeitplot. Wenn es animiert ist, zeichnet es den täglichen Niederschlag nach und färbt die Linie basierend darauf, wie nah die Niederschlagsmenge an der für das Pflügen kritischen 3-Zoll-Marke liegt.

Das zweite Beispiel zeigt alle Stationen im Datensatz, wiederum mit den täglich aufgezeichneten Niederschlägen auf der y-Achse.In diesem Beispiel habe ich den Niederschlagswert als Größenvariable eingefügt, damit die Markierungen größer werden, wenn man entlang der Y-Achse steigt.

Das Kartenbeispiel wurde erstellt, indem die Koordinatenliste der NOAA-Station an derselben Stelle lokalisiert wurde, von der die Daten stammten. Ich habe eine Nachschlagetabelle erstellt und eine virtuelle Verknüpfung verwendet, um den Breiten- und Längengrad für jede Station basierend auf dem Stationsnamen einzugeben. Wie beim zweiten Blasendiagramm werden die Markierungen anhand der täglich aufgezeichneten Niederschläge an einer bestimmten Station dimensioniert. Die Karte ist für die ursprüngliche Frage nicht besonders wichtig, aber wenn sie animiert ist, bietet sie ein interessantes Bild dafür, wann, wo und wie stark die Schneestürme in New York während der Wintersaison 2016–17 waren. Versuchen Sie zum Spaß, den Sturm zu lokalisieren, der den Menschen das Snowboarden am Times Square in New York City ermöglichte (Hinweis: Es war im Jahr 2017).

Haben Sie interessante Fragen oder Datensätze, die sich ein Systemingenieur ansehen soll?Hinterlassen Sie mir einen Kommentar oder eine Nachricht. Vielleicht machen wir daraus eine laufende Sache.
Eine Anmerkung des Autors
Für diejenigen unter Ihnen, die das noch einmal lesen: Nein, Sie sind nicht verrückt, der Titel hat sich ein wenig geändert.Ich habe eine Anfrage erhalten, den Titel zu aktualisieren, damit er für unsere Suchmaschinen leichter zu finden ist.Ich kann nur vermuten, dass das daran liegt, dass einige Suchmaschinen moderne Inkarnationen von Referenzbibliothekaren des 19. Jahrhunderts ohne Sinn für Humor sind.Bitte entschuldigen Sie die Unannehmlichkeiten.-M
Anmerkung der Redaktion: Dies ist der erste Teil einer Reihe mit dem Titel
Technischer Postsack geschrieben von JMP Systems Engineers, die alle möglichen technischen Fragen zu JMP beantworten.