All'inizio di quest'anno, il mio manager mi ha mandato un post molto interessante da Data Colada, un post sul blog scritto da tre scienziati comportamentali che esamina le ricerche pubblicate. Gli autori di Data Colada hanno lavorato con un team di ricercatori anonimi e hanno trovato alcune curiose anomalie in un set di dati sul chilometraggio di un'auto che è stato utilizzato in un articolo del 2012. Sono responsabile del test del Esplora modelli piattaforma in JMP , che può essere utilizzato per identificare modelli insoliti o imprevisti nei dati. In questo post, utilizzo Esplora modelli, insieme ad altri strumenti utili in JMP, per cercare modelli imprevisti o insoliti nei dati sul chilometraggio dell'auto.
Sfondo
Di seguito sono riportate le prime righe e colonne del set di dati sul chilometraggio dell'auto. Questi dati sono stati raccolti da uno studio in cui è stato chiesto a 13.488 clienti di una particolare agenzia di assicurazioni auto di segnalare le letture del contachilometri correnti. Le letture riportate dai clienti sono incluse nei dati come colonne update_car1 a update_car4, poiché ogni cliente ha riportato informazioni per un massimo di quattro auto. I dati contengono anche le letture del contachilometri di ciascun veicolo al momento della prima emissione delle polizze assicurative. Queste colonne sono denominate da baseline_car1 a baseline_car4. Poiché tutte le politiche non sono state emesse contemporaneamente, il tempo trascorso dalla linea di base all'aggiornamento varia per le osservazioni in questo studio.
Nel post di Data Colada, i ricercatori hanno presentato quattro anomalie riscontrate in questo set di dati. Analizziamo ciascuno di questi risultati utilizzando JMP.
Anomalia #1: La distribuzione dei chilometri percorsi è uniforme
Gli autori di Data Colada hanno scoperto che la distribuzione delle miglia percorse era coerente con una distribuzione uniforme che andava da 0 a 50.000 miglia.
Poiché i dati includono una linea di base e una colonna di aggiornamento per le letture del contachilometri di ciascuna auto, creiamo colonne formula per memorizzare le miglia percorse sottraendo i valori della linea di base dai valori aggiornati. In JMP, utilizziamo quindi la piattaforma di distribuzione per visualizzare la distribuzione per la linea di base e gli aggiornamenti dei valori, nonché le miglia totali percorse per ciascuna auto. Considera il rapporto di distribuzione della prima auto per ogni cliente.
La forma della distribuzione del chilometraggio di base è simile alla distribuzione del chilometraggio aggiornato, con il contachilometri mediano che legge circa 26.000 miglia più in alto al momento dell'aggiornamento. Questa scoperta non è di per sé sorprendente. Quello che trovo più interessante delle letture di base e di aggiornamento è che due partecipanti possedevano veicoli che sono stati guidati per quasi 1 milione di miglia! Devono avere una meccanica molto buona.
La parte più allarmante del rapporto è la terza distribuzione sopra, che mostra la differenza tra le prime due. La distribuzione delle miglia percorse tra la linea di base e i tempi di aggiornamento sembra essere distribuita uniformemente tra 0 e 50.000 miglia. Non ci sono valori superiori a 50.000 miglia e ogni bin dell'istogramma contiene approssimativamente lo stesso numero di partecipanti. L'ispezione visiva fornisce in questo caso una solida evidenza che i dati sono distribuiti uniformemente. Tuttavia, per dati non così ovvi, potresti eseguire un test di adattamento utilizzando l'opzione Fit Beta nella piattaforma di distribuzione .
Lo screenshot qui sotto mostra la distribuzione delle miglia percorse (aggiornamento – baseline) per ciascuna delle auto dei partecipanti. Troviamo che ogni distribuzione appare uniformemente distribuita tra 0 e 50.000 anche per la seconda, terza e quarta auto. Sulla base di questo modello di distribuzione, possiamo concludere che i valori di chilometraggio aggiornati potrebbero essere stati generati aggiungendo valori casuali distribuiti uniformemente ai valori di chilometraggio di base.
Anomalia n. 2: il chilometraggio di base utilizzava l'arrotondamento e il chilometraggio aggiornato no
Gli autori di Data Colada hanno scoperto che il chilometraggio di base aveva molti valori arrotondati alle migliaia più vicine, mentre il chilometraggio aggiornato non conteneva questo arrotondamento.
I ricercatori di Data Colada hanno studiato l'arrotondamento osservando le ultime tre cifre dei chilometri percorsi. Potremmo usare JSL per adottare un approccio simile, ma invece usiamo Explore Patterns! Se non hai mai utilizzato Esplora modelli prima, puoi trovarlo selezionando Analizza > Screening.
Dopo aver avviato Esplora modelli per esplorare ogni linea di base e colonna di aggiornamento, otteniamo l'output visualizzato nello screenshot seguente. Nel rapporto Modelli univariati, seleziona la linea di base e aggiorna i valori per la prima auto per confrontare i modelli.
Per impostazione predefinita, Esplora modelli include i report per i valori più duplicati in ogni colonna, le esecuzioni più lunghe in ogni colonna e le sequenze duplicate più lunghe in ogni colonna. Per la prima auto di proprietà dei partecipanti, non c'è molto da guadagnare dai rapporti Longest Runs o Longest Duplicate Sequences. Tuttavia, il rapporto Valori più duplicati mostra un contrasto interessante. Nelle miglia di base per la prima auto di proprietà, ci sono molti valori che sembrano essere arrotondati alle 10.000 più vicine. Questo non è necessariamente un modello inaspettato da trovare; quando mi chiedono il chilometraggio del mio veicolo, torno sempre quando rispondo.
Il rapporto Valori più duplicati per i chilometraggi aggiornati è piuttosto diverso. In questo report sono presenti molti meno duplicati e i duplicati visualizzati non sono arrotondati come i valori di base. Questo è ciò che accadrebbe se le colonne di aggiornamento fossero generate aggiungendo valori casuali distribuiti uniformemente ai valori della linea di base. Pertanto, questo risultato è coerente con l'Anomalia #1.
Anomalia n. 3 – I dati sono stati inseriti in due caratteri e ogni osservazione ha un "gemello" nell'altro carattere
I ricercatori hanno notato che nel file di dati originale, le osservazioni sono state registrate utilizzando due caratteri diversi. Attraverso un ordinamento intelligente, i ricercatori hanno scoperto che ogni osservazione di base in un carattere corrispondeva a una riga molto simile nell'altro carattere.
Apprezzo i ricercatori per aver notato i diversi caratteri e aver adottato questo approccio. Tuttavia, supponiamo che i dati siano tutti nello stesso carattere e che questa bandiera rossa non sia stata sollevata. Possiamo usare JMP per identificare eventuali relazioni curiose tra righe e colonne? Certo che possiamo: dopotutto questo è il blog di JMP.
Possiamo usare Esplora modelli per indagare se esistono relazioni lineari tra le colonne per le righe contigue. Considera il seguente semplice esempio. Nelle prime quattro righe, le colonne hanno una relazione lineare esatta dove Y=2*X. Nelle tre righe successive, le due colonne hanno di nuovo un'esatta relazione lineare dove Y=0,5*X.
Possiamo usare Esplora modelli per cercare relazioni lineari come questa tra le colonne della linea di base. Se non avessimo già notato l'anomalia n. 1, avrebbe senso cercare relazioni lineari anche nelle colonne aggiornate.
Se c'erano molte relazioni lineari esatte, o forse grandi sequenze di relazioni lineari, potrebbe essere un segno che i valori in una colonna sono stati generati utilizzando un multiplo di un'altra colonna. Qui, ci sono solo poche righe per le quali le colonne della linea di base hanno un'esatta relazione lineare. Potremmo usare l'opzione Colora per visualizzare queste celle e controllare eventuali irregolarità, ma per un set di dati di queste dimensioni con molti valori arrotondati, non è sorprendente trovare alcune relazioni lineari.
Utilizzando Esplora modelli, abbiamo esaminato se esistono relazioni lineari sospette tra le righe per due colonne per i valori della linea di base. Tuttavia, i risultati non sono stati molto utili. Ora, cerchiamo anche le relazioni lineari tra le colonne tra due righe, sempre per i valori della linea di base. Per fare ciò, dovremo utilizzare Explore Patterns sulla trasposizione dei nostri dati.
Ho usato l'opzione Trasponi in JMP per trasporre i dati in base alle colonne della linea di base, per i partecipanti che hanno riportato il chilometraggio per almeno tre veicoli. Ho escluso le righe in cui i partecipanti avevano due o meno auto in quanto non avrebbero aiutato a identificare le relazioni lineari.
Nel rapporto Esplora modelli per questi dati trasposti, ci sono molte relazioni lineari esatte in cui la pendenza è approssimativamente uno. Pertanto, ci sono molte righe nella tabella dati originale che hanno una riga quasi gemella di valori della linea di base tra le auto. (Suggerimento: è possibile fare clic con il pulsante destro del mouse sulla colonna Pendenza e utilizzare la funzione Seleziona dove per evidenziare tutte le righe in cui la pendenza è vicina a una. Ci sono 69 coppie in cui la pendenza è compresa tra 0,99 e 1,01).
È possibile selezionare Colora sopra la tabella delle relazioni lineari per colorare tutti i valori in una relazione lineare esatta oppure fare clic con il pulsante destro del mouse sulla colonna Y per colorare valori specifici. La tabella seguente contiene i valori colorati per le prime tre righe del rapporto Relazioni lineari.
Explore Patterns ha identificato diverse coppie di "gemelli alla guida" in cui i valori del chilometraggio di base erano molto simili su tutte le auto, con un'esatta relazione lineare. Potremmo dare seguito a questo cercando più coppie che non hanno una relazione lineare esatta ma sono ancora strettamente correlate. Come illustrato nel post di Data Colada, una volta ordinato in base al valore di base per la quarta auto, è facile identificare molti gemelli alla guida.
Anomalia n. 4 – Un carattere ha molti valori di base arrotondati e l'altro no
I ricercatori hanno scoperto che i valori della linea di base nel carattere Calibri erano arrotondati e i valori nel carattere Cambria non erano arrotondati.
Ora, supponiamo di sapere che alcune righe sono state scritte in un carattere e le altre righe sono state scritte in un secondo carattere e che abbiamo una colonna nei nostri dati con il carattere per ogni riga. Possiamo utilizzare Esplora modelli con il nome del carattere come colonna Per.
Come visto nei rapporti Esplora modelli, i valori del chilometraggio di base per le righe nel carattere Calibri hanno molti valori arrotondati, mentre i valori della linea di base per le righe Cambria non sono arrotondati. Poiché ci aspetteremmo che le miglia segnalate dai clienti vengano arrotondate, ciò suggerisce che i valori originali riportati erano le righe con il carattere Calibri e che i dati "gemella di guida" sono stati creati e quindi inseriti nel carattere Cambria.
Conclusione
Ogni volta che acquisisci un nuovo set di dati, probabilmente esegui analisi esplorative e pulizia dei dati. Forse tu ricerca di outlier , controlla i dati per i valori mancanti o visualizzare la distribuzione di ciascuna variabile. Spero che questo post ti abbia incoraggiato a considerare l'utilizzo di Esplora modelli per verificare la presenza di modelli insoliti nei tuoi dati. Non tutti i modelli che trovi utilizzando Esplora modelli sono la prova che qualcosa è sbagliato o preoccupante, ma l'utilità ti fornisce uno strumento per trovare modelli che richiedono ulteriori indagini.