ero solito JMP per esplorare un recente FAA fuco set di dati , ispirato da una sfida settimanale di visualizzazione dei dati chiamata 52Vis . Il set di dati contiene "segnalazioni di aeromobili senza pilota ( UAS ) avvistamenti da piloti, cittadini e forze dell'ordine. "Ho deciso di concentrarmi sull'esplorazione dei dati temporali. Descriverò come ho preparato i dati temporali, ho notato alcuni problemi di qualità e li ho categorizzati di conseguenza. Fortunatamente, JMP semplifica la pulizia dei dati visivi.
Preparazione dei dati
I dati sono forniti in due file Excel separati e l'interfaccia utente di importazione Excel di JMP non ha avuto problemi a importarli con le impostazioni predefinite. Tuttavia, i nomi delle colonne sono un po 'disordinati e non si sono nemmeno combinati.


Ho pulito i nomi delle colonne per abbinarli e poi li ho usati Concatenare sotto il tabelle menu per aggiungere una tabella di dati all'altra. Concatenare anche gestito le colonne in diversi ordini.

Trovare problemi di qualità
Ho iniziato a giocare con i dati e ho notato alcuni problemi di qualità con il campo del tempo. Ho creato una nuova colonna che estrae l'ora del giorno dal Appuntamento colonna e fatto un istogramma per questo. L'ho chiamato Tabella del tempo del giorno perché calcolerò un'altra ora del giorno dopo.

La caratteristica più evidente è il picco a mezzanotte. Risulta che ci sono un sacco di volte segnalate esattamente come 12:00 AM, apparentemente come un codice di valore mancante. Una seconda caratteristica è il calo più piccolo ma significativo a mezzogiorno. Probabilmente, alcuni dei momenti di mezzogiorno hanno avuto la parte AM / PM in errore, e alcuni dei momenti di mezzogiorno sono riportati nella fessura della mezzanotte (oltre ai tempi dei valori mancanti).
Mentre la distribuzione sembra bella altrimenti, sembra essere più spostata verso le ore serali del previsto. Se solo ci fosse un modo per verificare la qualità dei valori temporali ...
Estrazione di GMT
In effetti, c'è un modo per controllare la qualità dei valori temporali! Il rapporto la colonna contiene testo libero che descrive l'incidente e spesso include un tempo di rapporto in GMT a 24 ore (notare il suffisso Z).

Quindi cerchiamo di estrarre l'ora GMT e confrontarla con l'ora nella tabella. Creerò una nuova colonna formula basata su un'espressione regolare per estrarre le cifre tra "Ora:" e "Z" nel testo del rapporto.

E un altro per convertirlo in un valore temporale JMP (numero di secondi).

Viene chiamata la nuova colonna temporale Ora del giorno Estratto Z e possiamo confrontarlo con il tempo di una tabella in uno scatterplot per rivelare alcuni modelli interessanti.

Ho aggiunto due linee di riferimento diagonali. Quello arancione corrisponde a EST, e i cluster diagonali vicino ad esso sono altri fusi orari degli Stati Uniti. La diagonale grigia è dove il tempo nella tabella è lo stesso di GMT. Molti di quelli! Stranamente, alcuni di questi si verificano prima delle 13:00 (1300Z) ore, il che sembra ragionevole per i tempi di avvistamento GMT negli Stati Uniti, ma non per le ore locali.
Categorizzazione del tempo
A questo punto, possiamo pensare ai tempi come a tre categorie:
Mancante - non vi era alcuna ora GMT nel testo libero identico - l'ora GMT era la stessa del tempo "locale" Compensare - il tempo GMT era in offset rispetto all'ora locale, di solito qualcosa di ragionevole per gli Stati UnitiHo aggiunto un paio di colonne per calcolare quella classificazione e poi ho tracciato un istogramma per ogni categoria.

Ora possiamo vedere come la categoria Identical stava distorcendo le ore locali verso sera. La categoria Offset ha un picco più atteso durante le ore diurne e si abbina bene ai tempi in cui mancavano i tempi GMT. Entrambi questi ultimi soffrono dello spike delle 12:00 AM e del calo delle 12:00, a causa di problemi di codifica. Non è chiaro il motivo per cui la categoria Identical ha una distribuzione prevalentemente uniforme. Potrebbe essere una combinazione di due distribuzioni normali sfalsate, una per la costa orientale e una per la costa occidentale.
Conclusione
Considerando il tempo GMT estratto, possiamo filtrare i valori di tempo sospetti per ulteriori analisi basate sul tempo. Cioè, abbiamo più fiducia negli orari locali che sono compensati dal GMT. E poiché quelli che mancano di un orario GMT hanno una distribuzione simile, possiamo usare quelli con una simile confidenza.
La sfida 52Vis è orientata verso soluzioni di scripting e fortunatamente JMP offre entrambi gli stili di interfacce: interattivo e scripting. Sebbene le mie esplorazioni iniziali usassero l'interfaccia interattiva, ho creato uno script in JMP Scripting Language (JSL) per la sfida che riproduce tutti i miei passi. Se sei interessato, puoi vedere la JSL in un prima versione di questo post su GitHub.
Ancora un paio di cose ...
Anche con solo poche colonne di dati, c'è ancora molto da esplorare. Puoi usare il componente aggiuntivo geocoder per convertire la città / stato in longitudine e latitudine per la mappatura.
E hai notato i dati di altitudine nel testo del rapporto che ho mostrato? Un buon numero di rapporti ha dati sull'altitudine e talvolta informazioni sull'aspetto o le dimensioni dell'aereo senza pilota.