
Il sacco della posta dell'ingegneria
Episodio 1: L'economia dei servizi di spazzaneve
Di tanto in tanto, noi ingegneri di sistema JMP ci imbattiamo in domande interessanti che esulano dall'ambito normale JMP utilizzo. Queste applicazioni sono generalmente intelligenti e dimostrano come l'utilizzo dei dati non sia solo per problemi aziendali o tecnici.
Ecco un esempio di domanda che ho ricevuto da un utente (anche lui di nome Mike) nello stato di New York che lui e io abbiamo pensato sarebbe stato divertente condividere.
La domanda
Mike [JMP],
Sto giocando con JMP utilizzando i dati che ho trovato per i totali delle nevicate dell'anno scorso. Mi sono trasferito in una nuova casa quest'estate e ora ho un vialetto lungo 387 piedi che dovrà essere arato. Recentemente ho parlato con un appaltatore di spazzaneve e stava cercando di convincermi a stipulare un contratto stagionale. Normalmente quando carica per spinta, viene fatto ogni volta che abbiamo 3 o più pollici di neve a $ 75 per spinta. Ha offerto un prezzo di $ 2.000 dove spazza ogni volta che c'è neve. L'anno scorso, mi ha detto, abbiamo avuto 3 pollici o più di neve circa 20 volte, quindi se ciò accadesse di nuovo quest'anno finirei per pagare $ 1.500 ($ 75 x 20). Quindi dovrei solo pagare $ 500 in più per farlo arare ogni volta che nevica.

Come puoi vedere dai miei dati, l'anno scorso ci sono state solo 5 volte con 3 pollici o più di neve. Naturalmente ho detto a questo appaltatore che non ero interessato. Ho finito per assumere un altro ragazzo che lo farà per $ 50 a spinta. La mia domanda per te è: perché JMP inserisce il totale di 15 pollici di neve sul grafico tra 2,5 e 3,0 pollici? Dato che i totali sono in ordine decrescente, perché il 15” non è completamente a destra?
Grazie,
Mike [Utente]
La mia risposta
Ciao Mike!
In risposta alla tua domanda, penso che scoprirai che la colonna "Greenfield Center 1.6 W" ha il tipo di dati impostato su "Carattere". Al di là dell'ovvio ordine alfabetico, l'ordinamento viene contorto con i dati dei caratteri. Quando lo abbini all'opzione Conteggio discendente nel Costruttore di grafici, diventa più difficile da prevedere.
Ecco cosa penso stia accadendo: il Costruttore di grafici ordina prima in base al "Conteggio decrescente". Pertanto, le categorie con il maggior numero di righe appariranno a sinistra e diminuiranno man mano che ti sposti verso destra. Quando disponi di più gruppi con lo stesso numero di punti dati, ovvero 1 e 2, 1,5 e 2,5 e 15 – 9,5, il Costruttore di grafici utilizzerà le normali regole di ordinamento. Poiché la colonna è di carattere, ciò significa che seguirà un ordine pseudo-alfabetico. Ciò significa che l'ordine per l'ultimo gruppo sarebbe 15, 3, 5.5, 6, 9.5, perché l'ordine alfabetico è per carattere, da sinistra a destra. Utilizzando un esempio più controllato, il modo in cui JMP ordina i numeri tra 1 e 20 è diverso a seconda che il tipo di dati sia carattere o numerico. Numericamente sarebbe 1,2,3, …, 20, come ti aspetteresti.In ordine alfabetico sarebbe 1, 10, 11,12, 13, …, 19, 2, 20, 3, 4, 5, 6, 7, 8, 9.
Un modo per risolvere questo problema consiste nell'utilizzare una proprietà della colonna Ordine valore. È possibile definire l'ordine che si desidera venga utilizzato da JMP e questo sovrascrive quello predefinito. Con un ordine di valore definito dall'utente, la gerarchia utilizzata nel Costruttore di grafici sarebbe Conteggio discendente, quindi Ordine di valore, quindi il valore predefinito per tutto ciò che non è definito nella proprietà della colonna Ordine di valore.
Migliore,
M
Altri pensieri
Dopo averci pensato, mi sono reso conto che c'erano alcuni modi aggiuntivi per affrontare questo problema e alcune altre visualizzazioni che potevano essere utilizzate per dimostrare il punto. Innanzitutto, occupiamoci della pulizia dei dati. I dati utilizzati da Mike provengono da Il sito web della NOAA .Il sito è impostato per il download un mese alla volta, quindi richiede un po' di lavoro di concatenazione. Osservando i dati, ci sono alcuni codici di carattere utilizzati nei dati sulle precipitazioni altrimenti numerici per ciascuna stazione. M e T sono usati rispettivamente per “mancante” e “traccia”. Ciò significa due cose. Innanzitutto, abbiamo Dati fantasma .
In secondo luogo, abbiamo una soglia al di sotto della quale la NOAA non ritiene necessaria la segnalazione di valori specifici. Dovremo affrontarli in qualche modo. Inoltre, i dati vengono forniti nel formato giorno-mese che JMP considera Carattere e manca l'anno. Ciò significa che se dovessimo generare un grafico a dispersione di serie temporali, l'ordinamento sarebbe errato. Anche questo dovrà essere corretto.
Innanzitutto, correggere la data è una serie di operazioni Trova e sostituisci utilizzando "-" come "trova" e "/mm/aa" come "sostituisci". In pratica, assomiglia a questo:

Dopo che le date sono state corrette, probabilmente è una buona idea impilare i dati. Ciò offre più opzioni per l'analisi. Con i dati impilati, ora posso assegnare una proprietà di colonna del valore mancante per fare in modo che JMP consideri la "M" come mancante. Posso anche usare la ricodifica per cambiare la "T" in un valore numerico. IL Domande frequenti della NOAA afferma che considera la traccia come "una piccola quantità di precipitazione che bagnerà un pluviometro ma è inferiore al limite di misurazione di 0,01 pollici". In questo caso, lo ricodificherò semplicemente in 0.01.
L'ultima cosa che farò è creare una nuova colonna, "Gruppi di precipitazioni". In realtà ho usato Componente aggiuntivo Interactive Binning (V2) di Brady Brady , ma la logica è piuttosto semplice da eseguire nell'editor delle formule. Se "Precipitazione" è maggiore di 3 pollici, restituisce "Aratro"; meno di 3 pollici è “No Plough”; e se i dati mancano, restituisce "Mancante".

Dopo aver impostato questa colonna, ho nascosto ed escluso tutti i valori mancanti.
Ci sono tre tipi di visualizzazioni che mi vengono in mente in questo caso. Una distribuzione, un grafico a barre e un grafico a bolle. Poiché i dati sono impilati, ognuno di questi utilizzerà un filtro dati locale per selezionare la stazione di interesse. La distribuzione, costruita sulla colonna dell'indicatore che ho creato in precedenza, mostra molto chiaramente che l'aratura sarebbe stata necessaria cinque volte nella stagione 2016-17.

Un grafico a barre, creato nel Costruttore di grafici, utilizzando una linea di riferimento e colorandolo in base alla necessità di arare, mostra una storia simile.
I grafici a bolle sono semplicemente divertenti e animare la storia è un ottimo modo per migliorare l'impatto del messaggio. Esistono diversi modi di affrontare la visualizzazione, a seconda dei gusti e del messaggio. Il grafico a bolle può anche essere esportato in HTML5 interattivo (esportare eseguendo gli script nella tabella dati allegata e quindi utilizzando l'opzione di esportazione corretta per il tuo sistema operativo).
Il primo grafico a bolle è un grafico temporale animato. Quando è animato, traccia le precipitazioni giornaliere e colora la linea in base alla vicinanza del livello delle precipitazioni al livello critico di 3 pollici per l'aratura.

Il secondo esempio mostra tutte le stazioni nel set di dati, sempre con le precipitazioni registrate quotidianamente sull'asse y.In questo esempio, ho incluso il valore delle precipitazioni come variabile di dimensionamento in modo che gli indicatori diventino più grandi man mano che si sale lungo l'asse y.

L'esempio della mappa è stato creato individuando l'elenco delle coordinate della stazione NOAA sullo stesso sito da cui provengono i dati. Ho creato una tabella di ricerca e ho utilizzato un join virtuale per inserire la latitudine e la longitudine di ciascuna stazione in base al nome della stazione. Come nel secondo grafico a bolle, i marcatori sono dimensionati in base alle precipitazioni registrate quotidianamente in una determinata stazione. La mappa non è particolarmente importante per la domanda originale, ma quando è animata fornisce una grafica interessante per quando, dove e quanto sono state violente le tempeste di neve a New York durante la stagione invernale 2016-17. Per divertirti un po', vedi se riesci a localizzare la tempesta che ha permesso alle persone di fare snowboard a Times Square a New York City (suggerimento: era nel 2017).

Hai domande divertenti o set di dati a cui vorresti che un ingegnere di sistema esaminasse?Lasciami un commento o un messaggio. Forse lo trasformeremo in una cosa da corsa.
Una nota dell'autore
Per quelli di voi che leggono di nuovo questo, no, non siete pazzi, il titolo è cambiato un po'.Ho ricevuto una richiesta di aggiornamento del titolo in modo che sia più facile da trovare per i nostri motori di ricerca.Posso solo immaginare che ciò sia dovuto al fatto che alcuni motori di ricerca sono incarnazioni moderne di bibliotecari di riferimento del XIX secolo senza senso dell'umorismo.Ci scusiamo per eventuali disagi.-M
Nota dell'editore: Questo è il primo di una serie chiamata
Busta postale di ingegneria scritto dagli ingegneri di sistema JMP, che rispondono a tutti i tipi di domande tecniche su JMP.