Altoparlante | Trascrizione |
| Mia Stephens | Benvenuti al JMP Discovery Summit. Mi chiamo Mia Stephens e sono una product manager JMP. E con me si unisce Jordan Hiller, che è un ingegnere di sistema. E oggi parleremo dell'automazione del flusso di lavoro di data curation. |
| E questo è l'abstract solo per riferimento; Non ne parlerò. |
| E divideremo questo discorso in due parti. Inizierò parlando del flusso di lavoro analitico |
| e parlare di creazione dei dati, cosa intendiamo per data curation. E vedremo come identificare potenziali problemi di qualità dei dati nei tuoi dati. |
| E poi lo consegnerò a Jordan, e Jordan parlerà della necessità di riproducibilità. |
| Condividerà con noi un foglietto illustrativo per la cura dei dati e mostrerà come... come curare i dati in JMP. |
| il registratore di azioni e il registro avanzato. |
| Parliamo quindi del flusso di lavoro analitico. |
| Tutto inizia con qualche problema aziendale che stiamo cercando di risolvere. |
| E ovviamente dobbiamo compilare i dati e puoi compilare dati da diverse fonti e inserirli in un JMP. |
| E alla fine, dobbiamo essere in grado di condividere i risultati, comunicare le nostre scoperte con gli altri. A volte questo è forse un progetto una tantum, |
| ma spesso abbiamo analisi che ripeteremo. Quindi una domanda fondamentale affrontata in questo discorso è: puoi riprodurre facilmente i tuoi risultati? |
| Altri possono riprodurre i tuoi risultati? Oppure, se disponi di nuovi dati o di dati aggiornati, puoi ripetere facilmente la tua analisi e, in particolare, le fasi di data curation su questi nuovi dati? Quindi questo è ciò di cui ci occupiamo in questo discorso. |
| Ma cos’è esattamente la data curation? |
| E perché dobbiamo preoccuparcene? |
| Ebbene, la cura dei dati consiste nel garantire che i nostri dati siano utili per favorire le scoperte analitiche. Fondamentalmente, dobbiamo essere in grado di risolvere i problemi che stiamo cercando di affrontare. |
| E si tratta in gran parte di organizzazione dei dati, struttura dei dati e anche di pulizia dei dati. |
| Se si pensa ai problemi che potremmo incontrare con i dati, questi tendono a rientrare in quattro categorie generali |
| potresti avere una formattazione errata, potresti avere dati incompleti, dati mancanti o dati sporchi o disordinati. |
| E per aiutarci a parlare di questi problemi, prenderemo in prestito alcuni contenuti da STIPS. E se non hai familiarità con STIPS, STIPS è il nostro corso gratuito, Pensiero statistico per la risoluzione dei problemi industriali. |
| E questo è un corso basato su sette moduli indipendenti, e il secondo modulo è l'analisi esplorativa dei dati. |
| E a causa della natura iterativa e interattiva dell'analisi esplorativa dei dati e della data curation, l'ultima lezione di questo modello... in questo modulo si chiama Preparazione dei dati per l'analisi, quindi prenderemo in prestito molto da questa lezione in questo discorso. |
| Analizziamo ciascuno di questi problemi. Formattazione errata. Cosa intendiamo per formattazione errata? Bene, questo accade quando i tuoi dati sono nella forma sbagliata o nel formato sbagliato per l'analisi. Ciò può applicarsi alla tabella dati nel suo insieme. Quindi, ad esempio, potresti averlo |
| chiamato...dati archiviati in colonne separate, ma in realtà sono necessari i dati archiviati in una colonna. |
| Oppure potrebbe darsi che tu abbia i tuoi dati in tabelle dati separate e che tu debba concatenare, aggiornare o unire insieme le tabelle dati. |
| Può riguardare variabili individuali. Quindi, ad esempio, potresti avere il tipo di modellazione sbagliato. Oppure potresti avere delle date nella tabella dei dati, quindi potresti avere colonne di date e potrebbero non essere formattate come giorni, quindi l'analisi potrebbe non riconoscere che questi sono...questi sono dati di data. |
| La formattazione può anche essere cosmetica. Quindi, ad esempio, se hai a che fare con una tabella di dati di grandi dimensioni, potresti avere molte colonne... |
| potresti avere nomi... nomi di colonne che non sono realmente riconoscibili che potresti voler cambiare. |
| Potresti avere molte colonne che potresti voler raggruppare insieme per renderlo un po' più gestibile. |
| La colonna della risposta potrebbe trovarsi all'estremità della tabella dei dati e potresti voler spostarla verso l'alto. Quindi i problemi estetici non interferiranno necessariamente con la tua analisi, ma se riesci ad affrontare alcuni di questi problemi, puoi rendere la tua analisi un po' più semplice. |
| I dati incompleti si verificano quando mancano i dati. Ciò può essere dovuto alla mancanza di dati su variabili importanti. Quindi, ad esempio, potresti non aver acquisito dati su variabili fondamentali per la risoluzione del problema. Potrebbe anche trattarsi della mancanza di dati su una combinazione di variabili. |
| Quindi, ad esempio, potresti non avere informazioni sufficienti per stimare un'interazione. |
| Oppure potresti avere una variabile target che ti interessa che è sbilanciata, quindi potresti studiare qualcosa come i difetti. Potrebbe essere solo il 5% delle tue osservazioni |
| sono per difetti e potresti non avere dati sufficienti, perché sai, potresti avere solo un sottoinsieme molto piccolo dei tuoi dati |
| dove è presente il difetto. Potresti non disporre di dati sufficienti per comprendere le potenziali cause dei difetti. Potresti anche non avere una dimensione del campione sufficientemente grande, quindi semplicemente non disponi di dati sufficienti per ottenere stime attendibili. |
| I dati mancanti si verificano quando mancano valori per le variabili e questo può assumere diverse forme. |
| Se ti mancano dati e i dati... la mancanza non è casuale, ciò può causare un problema serio, quindi potresti avere stime distorte. |
| Se perdi i dati in modo del tutto casuale, questo potrebbe non essere un problema se perdi solo poche osservazioni, ma se ti mancano molti dati, ciò può essere problematico. |
| I dati sporchi e disordinati si verificano quando hai problemi con le osservazioni o con le variabili. Quindi potresti avere valori errati, i valori sono semplicemente sbagliati. |
| Potresti avere incoerenze. Quindi, ad esempio, potresti riscontrare errori di battitura o tipografici quando le persone inseriscono le cose in modo diverso. |
| I valori potrebbero essere imprecisi. Quindi, ad esempio, potresti avere problemi con il tuo sistema di misurazione. Possono esserci errori, possono esserci errori di battitura, i dati potrebbero essere obsoleti. |
| I dati obsoleti si verificano quando disponi di dati, ad esempio, su una struttura o una macchina che non è più in servizio. |
| I dati potrebbero essere obsoleti, quindi potresti avere dati che risalgono a un periodo di due o tre anni, ma il processo potrebbe essere cambiato da qualche parte in quel lasso di tempo, |
| il che significa che quei dati storici potrebbero non essere rilevanti per il processo attuale così com’è oggi. I tuoi dati potrebbero essere censurati o troncati. |
| È possibile avere colonne ridondanti, ovvero colonne che contengono essenzialmente le stesse informazioni. Oppure potresti avere osservazioni duplicate. |
| Quindi i dati sporchi o disordinati possono assumere molte forme diverse. |
| Quindi come identificare potenziali problemi? |
| Bene, un buon punto di partenza è esplorare i tuoi dati e, in effetti, l'identificazione dei problemi ti porta all'esplorazione e quindi all'analisi dei dati. E quando inizi a esplorare i tuoi dati, inizi a identificare le cose che potrebbero causare problemi nella tua analisi. |
| Quindi un buon punto di partenza è scansionare la tabella dati per individuare eventuali problemi. |
| Quindi utilizzeremo un esempio nel resto di questo discorso chiamato Componenti, e questo è un esempio tratto dal corso STIPS |
| dove un'azienda produce piccoli componenti e ha un problema con la resa. Quindi sono stati raccolti i dati, ci sono 369 lotti. Sono state catturate 15 caratteristiche e vogliamo utilizzare questi dati per aiutarci a comprendere le potenziali cause profonde del basso rendimento. |
| Quindi, se iniziamo a guardare la tabella dati stessa, ci sono alcuni indizi su quali tipi di problemi di qualità dei dati potremmo avere. E un punto di partenza davvero interessante (e questo è stato aggiunto in JMP 15) |
| Questo è l'intestazione dei grafici. Adoro i grafici di intestazione. Quello che fanno è, se hai una variabile continua, che ti mostra un istogramma, così puoi vedere la centratura, la forma e la diffusione della distribuzione. |
| Mostrano anche l'intervallo dei valori. Se disponi di dati categorici, ti mostrerà un grafico a barre con i valori per le barre più popolose. Diamo quindi un'occhiata ad alcuni di questi. Inizierò con il numero di lotto. Quindi il numero di lotto mostra un istogramma e in realtà ha una forma uniforme. |
| Il batch numera qualcosa che probabilmente è un identificatore, quindi subito posso vedere che questi dati sono probabilmente codificati in modo errato. |
| Vedo che questa distribuzione è molto distorta e vedo anche che il valore più basso è -6, e questo può indurmi a porre domande sulla fattibilità di avere un numero di scarto negativo. |
| Il processo è un altro. Fondamentalmente ho due barre e in realtà mi mostra un istogramma con solo due valori. |
| E mentre guardo questi grafici a colonne, questi grafici di intestazione, posso guardare il pannello delle colonne, |
| ed è abbastanza facile vedere che, ad esempio, il numero di lotto, il numero di parte e il processo sono tutti codificati come continui. Quando importi i dati in JMP, se JMP vede i numeri, codificherà automaticamente queste colonne come numeriche continue. Quindi queste sono cose che potremmo voler cambiare. |
| Possiamo anche guardare i dati stessi. Quindi, ad esempio, quando guardo l'umidità (e il contesto è davvero importante quando guardi i tuoi dati) l'umidità è qualcosa che considereremmo un dato continuo. |
| Ma qui ho un paio di campi in cui ho N/A. |
| Se disponi di dati alfanumerici, se disponi di dati di testo in una colonna numerica, la colonna verrà codificata come nominale quando inserisci i dati in JMP. Quindi questo è qualcosa di immediato che vediamo che dovremo risolvere. |
| E posso anche sfogliare le altre colonne. Quindi, ad esempio, Fornitore, vedo che mi mancano alcuni valori. Quando inserisci i dati in JMP, se ce ne sono |
| celle vuote per dati categorici, sappiamo che mancano valori. Vedo che ci sono alcune voci in cui non siamo coerenti... non coerenti nel modo in cui sono stati inseriti i dati. |
| Quindi sto ottenendo alcuni indizi seri su alcuni potenziali problemi con i miei dati. |
| notare tutti i punti. La temperatura è una variabile continua e dove vedo i punti, indica che mi mancano dei valori. Quindi la temperatura è qualcosa di veramente importante per la mia analisi, questo potrebbe essere problematico. |
| Una naturale estensione di ciò è iniziare a esplorare i dati, una variabile alla volta. Uno dei miei strumenti preferiti quando voglio iniziare a esaminare i dati è il visualizzatore di colonne. E il visualizzatore di colonne ci fornisce riepiloghi numerici per le variabili che abbiamo selezionato. |
| Se mancano valori, ci sarà una colonna N mancante. E qui posso vedere che mi mancano 265 dei 369 valori per la temperatura, quindi questo, questo è un divario serio se pensiamo che la temperatura sarà importante nell'analisi. |
| Posso anche vedere se ho dei valori strani. Quindi, quando guardo cose come Min e Max per il numero di scarti e il tasso di scarto, ottengo valori negativi. E se ciò non è fattibile, allora ho un problema con i dati o con il sistema di raccolta dati. |
| È anche abbastanza facile vedere un'errata codifica delle variabili. Quindi, ad esempio, l'impianto e il numero di lotto, che probabilmente avrebbero dovuto essere codificati come nominali, riportavano una media e una deviazione standard. |
| E un buon modo di pensare a questo è che, se non è fisicamente possibile avere un numero di lotto medio o (il numero di parte era l'altra variabile) o un numero di parte, allora questi dovrebbero essere modificati in variabili nominali, anziché continue. |
| Distribuzioni è il prossimo posto in cui vado quando prendo familiarità con i miei dati. |
| E le distribuzioni, se disponi di dati continui, ti consentono di comprendere la forma, la centratura e la diffusione dei tuoi dati, ma puoi anche vedere se hai valori insoliti. |
| Per i dati categorici, puoi anche vedere quanti livelli hai. Quindi, ad esempio, il numero cliente. Se il numero del cliente è una variabile importante o potenzialmente importante, |
| Ho molti livelli o valori per il numero cliente. Quando preparo i dati, potrei voler combinarli in quattro o cinque segmenti con un'altra categoria per quei clienti per i quali non dispongo di molti dati. |
| Umidità. Vediamo il problema con N/A nella colonna. Vediamo un grafico a barre invece di un istogramma. |
| Possiamo facilmente vedere cosa stavamo guardando nei dati del fornitore. Ad esempio, Cox Inc e Cox, Anderson è scritto in tre modi diversi, Hersh è scritto in tre modi diversi. |
| Per quanto riguarda la velocità, nota che abbiamo una distribuzione ondulata che va da circa 60 a 140 ma, proprio in fondo, vediamo che c'è un valore o due |
| è abbastanza vicino allo zero, e questo potrebbe essere... potrebbe essere stato un errore di immissione dei dati, ma è sicuramente qualcosa su cui vorremmo indagare. |
| Un'estensione di questo è iniziare a guardare i tuoi dati due variabili alla volta. Quindi, ad esempio, utilizzando Graph Builder o scatterplot. |
| E quando guardi le variabili due alla volta, puoi vedere schemi e puoi vedere più facilmente schemi insoliti che attraversano più di una variabile. |
| Quindi, ad esempio, se guardo il tasso di scarto e il numero di scarti, vedo che ho alcune bande. E potrebbe darsi che tu abbia qualcosa nella tua tabella dati che possa spiegare questo schema. |
| E in questo caso, la fascia è attribuita a lotti di dimensioni diverse, quindi questa fascia viola è dove ho una dimensione di batch di 5.000. |
| E ho molte più opportunità per gli scarti con lotti di dimensioni maggiori rispetto a quelli con lotti di dimensioni inferiori. Quindi potrebbe avere un senso, ma vedo anche qualcosa che non ha senso. Questi due valori quaggiù sono nell'intervallo negativo. |
| Quindi è abbastanza facile vederli quando guardo i dati in due dimensioni. |
| Posso aggiungere ulteriore dimensionalità ai miei grafici utilizzando i selettori di colonna e i filtri di dati. |
| Questo mi sta anche portando a una potenziale analisi, quindi potrei essere interessato a capire quali sono le x che potrebbero essere importanti, che potrebbero essere correlate al tasso di scarto. |
| E allo stesso tempo, esamina i problemi di qualità dei dati o i potenziali problemi. Quindi, per il tasso di scarto, sembra che ci sia una relazione positiva tra pressione e tasso di scarto. |
| non sembra che ci sia molta relazione. Il tasso di scarto rispetto alla temperatura è piuttosto piatto, quindi non c'è molto da fare qui. |
| Ma nota la velocità. C'è una relazione negativa, ma in alto vedo questi due valori; l'unico valore che ho visto sull'istogramma, ma ce n'è un secondo che sembra risaltare. |
| Quindi potrebbe essere che questo valore intorno a 60 sia semplicemente un valore anomalo, ma potrebbe essere un punto valido. Probabilmente mi chiederei se questo punto qui vicino allo 0 sia valido o meno. |
| Quindi abbiamo esaminato la tabella dei dati. Abbiamo esaminato i dati una variabile alla volta. Abbiamo esaminato i dati due variabili alla volta e tutto ciò si adatta perfettamente all'esplorazione dei dati e ci porta all'analisi. |
| Esistono strumenti più avanzati che potremmo utilizzare (ad esempio, esplorare valori anomali, esplorare dati mancanti) che vanno oltre lo scopo di questo corso o di questo discorso. |
| E quando inizi ad analizzare i tuoi dati, probabilmente identificherai ulteriori problemi. Quindi, ad esempio, se hai molte categorie di variabili categoriali |
| e provi ad adattare un'interazione in un modello di regressione, sai che JMP ti avvertirà che non puoi davvero farlo. Quindi, quando inizi ad analizzare i dati, l'intero processo è iterativo e identificherai potenziali problemi durante tutto il processo. |
| La chiave è prendere nota dei problemi che incontri mentre guardi i tuoi dati. E alcuni di questi possono esserlo |
| corretto man mano che procedi, in modo da poter nascondere ed escludere valori, puoi rimodellare e ripulire i tuoi dati man mano che procedi, ma potresti decidere che è necessario raccogliere nuovi dati. Potresti voler condurre un DOE in modo da avere maggiore fiducia nei dati stessi. |
| Se sai che ripeterai questa analisi o che qualcun altro vorrà ripetere questa analisi, |
| quindi vorrai assicurarti di catturare i passi che stai facendo in modo da avere riproducibilità. Qualcun altro può riprodurre i tuoi risultati oppure puoi ripetere l'analisi in un secondo momento. Quindi è qui che lo consegnerò a Jordan, e Jordan lo farà |
| Parliamo di data curation riproducibile. |
| Giordano Hiller | Ok, grazie, Mia. |
| Ciao, sono Jordan Hiller. Sono un ingegnere di sistema per JMP. Entriamo un po' nel dettaglio e parliamo ancora della riproducibilità |
| per la cura dei tuoi dati. |
| Mia ha introdotto molto bene questa idea, ma diamo qualche dettaglio in più. L'idea qui è che vogliamo essere in grado di eseguire nuovamente facilmente |
| tutte le fasi di cura che utilizziamo per preparare i nostri dati per l'analisi e ci sono tre vantaggi principali che vedo nel farlo. Il primo è l’efficienza. Se devi...se i tuoi dati cambiano e devi ripetere questi passaggi di curation su nuovi dati in futuro, |
| è molto più efficiente eseguirlo una volta con uno script con un clic piuttosto che ripetere tutte le attività punta e clicca da capo. La precisione è il secondo vantaggio. Puntare e fare clic può essere soggetto a errori e, trasformandolo in uno script, si garantisce una riproduzione accurata. |
| E infine c'è la documentazione, e questa forse è sottovalutata. Se disponi di uno script, documenta i passaggi che esegui |
| preso. È una scia di briciole che potrai rivisitare in seguito quando, inevitabilmente, dovrai rivisitare questo progetto e ricordare, cos'ho fatto per preparare questi dati? |
| Avere quella sceneggiatura è di grande aiuto. Quindi oggi esamineremo un caso di studio. Ti mostrerò come generare uno di questi script riproducibili di data curation |
| utilizzando solo punta e clicca. E la tecnologia abilitante è qualcosa di nuovo in JMP 16. È il registro avanzato e la registrazione dell'azione che si trovano nel registro avanzato. |
| Quindi ecco cosa faremo, eseguiremo le nostre attività di data curation come al solito puntando e cliccando. Mentre lo facciamo, |
| lo script di cui abbiamo bisogno, il codice del computer (si chiama codice JSL, JSL per il linguaggio di scripting JMP) verrà acquisito automaticamente per noi |
| nel nuovo registro migliorato. E poi, quando abbiamo finito con la nostra selezione punta e clicca, tutto ciò che dobbiamo fare è prendere quel codice e salvarlo. Potremmo voler apportare qualche ritocco, qualche modifica, solo per renderlo un po' più forte, ma quella parte è facoltativa. |
| Ok, quindi questo è un foglietto illustrativo che puoi usare. Queste sono alcune delle attività di pulizia dei dati più comuni |
| e come eseguirli in JMP 16 in modo da lasciare quella scia di briciole di pane, in modo da lasciare lo script JSL nel registro avanzato. Quindi copre cose come operare su righe, operare su colonne, |
| modi per modificare la tabella dati, tutte le nostre operazioni di pulizia dei dati e come farlo puntando e facendo clic. |
| Quindi non è un elenco esaustivo di tutto ciò che potresti dover fare per la pulizia dei dati, e non è nemmeno un elenco esaustivo di tutto ciò che viene catturato nel registro avanzato, ma queste sono le cose più importanti qui a portata di mano. |
| Va bene, quindi esaminiamo il nostro case study utilizzando il file Components introdotto da Mia e creiamo il nostro script di data curation in JMP 16 utilizzando il registro avanzato. |
| Eccoci al JMP 16. Noterò che questa è l'ultima versione del programma Early Adopter per JMP 16, quindi è una pre-release. Tuttavia sono sicuro che sarà molto, molto simile alla versione attuale di JMP 16. |
| Quindi, per arrivare al registro, |
| Te lo mostrerò qui. L'aspetto sarà diverso se sei abituato al registro delle versioni precedenti di JMP. È diviso in questi due pannelli, |
| ok, un pannello dei messaggi in alto e un pannello dei codici in basso. Trascorreremo un po' di tempo qui. Ti mostrerò di cosa si tratta, ma ti diamo solo una rapida anteprima, se dovessi eseguire alcune attività rapide come importare un file e magari eliminare questa colonna. |
| Puoi vedere che i due passaggi che ho eseguito (l'importazione dei dati e l'eliminazione della colonna) sono elencati qui in questo pannello dei messaggi |
| e il codice, il codice JSL di cui abbiamo bisogno per lo script di cura dei dati riproducibile, è qui in questo pannello inferiore. Ok, allora |
| che è davvero molto entusiasmante, la possibilità di avere semplicemente questo codice e di prenderlo ogni volta che ne hai bisogno semplicemente puntando e facendo clic è un enorme vantaggio in JMP 16. |
| Pertanto, in JMP 16, questa nuova visualizzazione registro migliorata è attiva per impostazione predefinita. Se desideri tornare alla vecchia versione del registro, quel semplice registro di testo, puoi farlo qui nella sezione delle preferenze di JMP. C'è una novità |
| sezione per il registro e puoi tornare alla vecchia visualizzazione testuale del registro, se preferisci. L'impostazione predefinita quando si installa JMP 16 è il registro avanzato e parleremo di alcune di queste altre funzionalità più avanti, più avanti nel nostro case study. |
| Va bene, quindi vado a sgombrare |
| il registro per ora dal triangolo rosso. Cancella il registro e iniziamo con il nostro case study. Importiamo i dati dei componenti che Mia stava condividendo con te. Inizieremo da questo file CSV. |
| COSÌ |
| Eseguirò il tipo più semplice di importazione semplicemente trascinandolo. Oh, ne avevo una...ne avevo già una versione aperta. Mi dispiace, lasciatemi iniziare chiudendo la vecchia versione |
| e cancella il registro ancora una volta. |
| Ok, semplice importazione |
| trascinandolo nella finestra JMP. E ora abbiamo quel file, Componenti A, con 369 batch, e procediamo con le nostre attività di pulizia dei dati. Mi accenderò |
| i grafici dell'intestazione. E la prima cosa che possiamo vedere è che la colonna della struttura ha solo una voce, un valore, FabTech, quindi non c'è alcuna variazione, niente di interessante qui. Lo eliminerò semplicemente con un clic destro, eliminerò la colonna. |
| E ancora, questo viene catturato mentre procediamo nel registro avanzato. |
| Ok, cos'altro? Immaginiamo che questa colonna del tasso di scarto quasi alla fine della tabella sia davvero importante per noi e mi piacerebbe vederne una precedente nella tabella. Lo sposterò in quarta posizione |
| afferrandolo nel pannello delle colonne e trascinandolo subito dopo il numero del cliente. Eccoci qua. |
| Mia ha affermato che questa colonna di umidità è rappresentata in modo errato durante l'importazione, principalmente a causa di N/A |
| caratteri dell'alfabeto che ne fanno sì che venga visualizzato come variabile di carattere. Quindi sistemiamolo. Entreremo nelle informazioni della colonna facendo clic con il pulsante destro del mouse qui |
| e modificare il tipo di dati da carattere a numerico, modificare il tipo di modellazione da nominale a continuo. Fare clic su OK. E facciamo semplicemente clic sul registro qui e potete vedere che ora abbiamo quattro passaggi che sono stati catturati e continueremo ad andare avanti. |
| Va bene, qual è il prossimo passo? Abbiamo diverse variabili che devono essere modificate da continue a nominali. Questi sono il numero di lotto, il numero di parte e il processo. Quindi, con i tre selezionati, farò clic con il pulsante destro del mouse e passerò da continuo a nominale. |
| E questi sono stati tutti corretti. |
| E ancora, possiamo vedere che questi tre passaggi sono registrati qui nel registro. |
| Va bene, cos'altro? Qualcos'altro di un po' cosmetico, questa rubrica, Pressione. Ai miei ingegneri piace vedere il nome della colonna come PSI, quindi lo modificheremo semplicemente selezionando quella colonna e digitando PSI. Esci da lì per andare da qualche altra parte. Anche questo verrà catturato nel registro. |
| Il fornitore. Mia ci ha mostrato che ci sono alcune ortografie incoerenti. Probabilmente troppi valori qui. Dobbiamo correggere i valori dei caratteri. Quando in una colonna sono presenti valori di caratteri errati e incoerenti, pensa allo strumento di ricodifica. |
| Lo strumento di ricodifica è un modo davvero efficace per risolvere questo problema. Quindi con il tasto destro su fornitore, andremo a ricodificare. |
| E raggruppiamoli in modo appropriato. Inizierò con alcune opzioni del triangolo rosso. Convertiamo tutti i valori in maiuscole e minuscole, |
| tagliamo anche quello spazio bianco, in modo che la spaziatura incoerente venga corretta. Questo ha già risolto un paio di problemi. Correggiamo tutto il resto manualmente. Raggrupperò gli Anderson. Raggrupperò i Cox. |
| Raggruppa gli Hersh. Trutna e Worley hanno già ragione con una singola categoria. E l'ultima correzione che farò riguarda le cose che sono, sai, semplicemente elencate come vuote o mancanti, darò loro un esplicito |
| etichetta mancante qui. |
| Va bene, e quando clicchiamo su ricodifica, |
| abbiamo inserito queste correzioni in una nuova colonna chiamata fornitore 2. |
| Sono state corrette e compresse solo 1, 2, 3, 4, 5, 6 categorie. |
| Bene. |
| Ok, facciamo un calcolo. Calcoleremo la resa qui, utilizzando la dimensione del lotto e il numero di scarti. |
| Giusto. E sì, mi rendo conto che è un po' ridondante. Abbiamo già un tasso di scarto e la resa è solo uno meno il tasso di scarto, ma solo per amor di discussione, eseguiremo |
| il calcolo. Quindi voglio che la colonna di rendimento venga inserita subito dopo il numero scartato, quindi evidenzierò il numero scartato e poi andrò al menu delle colonne, sceglierò una nuova colonna. |
| Chiameremo questa cosa rendimento. |
| E inseriremo la nostra nuova colonna dopo la colonna selezionata, dopo il numero scartato, e diamogli una formula per calcolare la resa. |
| Abbiamo bisogno del numero di unità buone. Sarà la dimensione del lotto meno il numero di scarti. |
| Questo è il numero di unità buone e divideremo l'intera cifra per |
| la dimensione del lotto. |
| Numero di unità buone diviso per la dimensione del lotto, questo è il nostro calcolo della resa. |
| E fare clic su OK. |
| Ecco il nostro nuovo |
| colonna di rendimento. Possiamo vedere che il tasso di scarto è uno meno. Questo è... va bene e ignoriamo, per ora, il fatto che abbiamo alcuni rendimenti superiori al 100%. |
| Ok, abbiamo quasi finito. Solo qualche altro cambiamento. Ho notato che abbiamo due processi e, per ora, sono etichettati solo come processo 1 e processo 2. |
| Non è molto descrittivo, né molto utile. Diamo loro etichette più descrittive. Processo 1, che chiameremo processo produttivo; e il processo 2, lo chiameremo sperimentale. Quindi lo faremo con le etichette dei valori, anziché con la ricodifica. Vado alle informazioni sulla colonna |
| e assegneremo le etichette dei valori a uno e due. |
| Uno in questa colonna rappresenterà la produzione. |
| Aggiungilo. |
| E due rappresentano sperimentali. |
| Aggiungilo. |
| Fare clic su OK. Bene. Mostra uno e due nei grafici dell'intestazione, ma produzione e sperimentazione qui nella tabella dei dati. |
| Va bene, un ultimo passaggio prima di salvare la nostra sceneggiatura. Diciamo, per amor di discussione, che a me interessano solo i dati... voglio procedere con l'analisi solo quando il vuoto è disattivato. |
| Esatto, quindi sottoinsiemerò i dati e creerò una nuova tabella dati che contenga solo le righe in cui il vuoto è disattivato. Lo farò facendo clic con il pulsante destro del mouse su una di queste celle con l'aspirazione disattivata |
| e selezionando le celle corrispondenti. |
| Ciò seleziona le 313 righe in cui il vuoto è disattivato. E ora andremo al sottoinsieme della tabella, |
| creiamo una nuova tabella dati, che chiameremo vac_off. |
| Fare clic su OK. |
| Va bene, e questa è la nostra nuova tabella dati con 313 righe che mostrano solo i dati dove il vuoto è disattivato. |
| Quindi questa è la fine. Abbiamo eseguito tutta la cura dei dati e ora torniamo indietro, rivisitiamo il registro e impariamo qualcosa in più su ciò che abbiamo. |
| Ok, quindi tutti questi passaggi, e alcuni altri che non intendevo eseguire, sono stati catturati qui nel registro. |
| Guarda qui, abbiamo... ogni riga è uno dei passaggi che eseguiamo. |
| Ci sono anche alcune cose estranee, come ad un certo punto ho cancellato la selezione delle righe. Non ne avevo davvero bisogno... non avevo davvero bisogno di realizzare quella parte della mia sceneggiatura. |
| Cancellando le righe selezionate, quindi rimuoviamolo. Farò semplicemente clic con il pulsante destro del mouse su di esso e cancellerò l'elemento per rimuoverlo. Va bene. |
| Ok, quindi messaggi quassù, codice JSL quaggiù. Vorrei richiamare la vostra attenzione sull'origine e sul risultato. Questo è piuttosto carino. |
| Ogni volta che eseguiamo un passo, ogni volta che eseguiamo un'azione puntando e facendo clic, c'è qualcosa su cui eseguiamo quell'azione e c'è qualcosa che risulta. Quindi questa è l'origine e il risultato. Quindi, ad esempio, quando abbiamo eliminato la colonna della struttura... |
| beh, forse è un cattivo esempio... scegliamo invece di modificare le informazioni sulla colonna relativa all'umidità. L'origine, la cosa su cui l'abbiamo fatto |
| era la tabella Componenti A e la vediamo elencata qui come tabella dati. Quando ci passo sopra, dice Porta i componenti A in primo piano, quindi facendo clic su quello, sì, questo ci porta alla tabella Componenti A. Molto bello. |
| E il risultato è qualcosa che abbiamo fatto alla colonna dell'umidità. Abbiamo cambiato l'umidità. Lo abbiamo modificato nel tipo di dati numerico e nel tipo di modellazione continuo. Guardalo qui sotto. |
| Quindi posso fare clic qui, andare alla colonna dell'umidità e... si evidenzia, seleziona per noi. JMP seleziona per noi la colonna dell'umidità. |
| verde ovunque, tranne quest'ultimo risultato in blu. Bene, questo ci aiuta a tenere traccia delle nostre attività su diverse tabelle di dati. Abbiamo svolto tutte queste attività sulla tabella dati Componenti A |
| e la nostra ultima attività, abbiamo eseguito un sottoinsieme sulla tabella dati Componenti A, il risultato è stato una nuova tabella dati chiamata vac_off. E quindi vac_off è in blu. Esatto, quindi possiamo usare quei colori per aiutarti a tenere traccia delle cose. |
| Va bene, l'ultima caratteristica che voglio mostrarti qui nel registro è... ecco |
| utile è se hai una serie di passaggi molto lunga e devi trovarne solo uno, questa casella di filtro ti consente di trovarli. Diciamo che voglio trovare il sottoinsieme. Eccolo. Abbiamo trovato la tabella dei dati del sottoinsieme e posso accedere direttamente al codice di cui ho bisogno. |
| Ok, quindi questo... è tutto ciò di cui abbiamo bisogno. I nostri passaggi di data curation sono stati acquisiti. Tutto ciò che dobbiamo fare per creare uno script di data curation riproducibile è andare sul triangolo rosso e salvare lo script in una nuova finestra di script. |
| la fase di importazione, la fase di eliminazione della colonna, la fase di spostamento della velocità di scarto. Tutti questi passaggi sono qui nello script. |
| Abbiamo la colorazione della sintassi per aiutarci a leggere la sceneggiatura. Abbiamo tutti questi commenti utili che ci dicono esattamente cosa stavamo facendo in ciascuno di questi passaggi. |
| Giusto, quindi questo è tutto. Questo è tutto ciò di cui abbiamo bisogno e lo conserverò. Lo salverò sul mio desktop come importa e pulisci... chiamiamolo importa e cura i componenti. |
| Esatto, questo è il nostro script di data curation riproducibile. Quindi, se tornassi alla finestra principale di JMP e chiudessi tutto tranne il nostro nuovo script, |
| ecco cosa facciamo se devo ripetere i passaggi di data curation. Ho appena aperto il file di script e possiamo eseguirlo facendo clic sul pulsante Esegui script. Apre i dati, esegue tutta la pulizia, esegue il sottoinsieme e crea il nuovo file di dati con 313 righe. |
| Immaginiamo ora di dover riprodurre questo su nuovi dati. |
| Ho un'altra versione del file Components. Si chiama Componenti B. Contiene altre 50 righe, quindi invece di 369 righe, ha 419 righe. Immagina di aver eseguito il processo per altri 50 batch e di avere più dati. |
| Si chiama Componenti B e voglio eseguire questo script sui componenti B. Ma noterai che in tutto lo script vengono chiamati i Componenti A più volte. Quindi dovremo solo cercare e sostituire i Componenti A e cambiarli in Componenti B. Eccoci qua. Modificare. |
| Ricerca. |
| Troveremo i Componenti A, sostituiamo con i Componenti B. Sostituiamo tutto. 15 occorrenze sono state sostituite. |
| Puoi vederlo qui e qui. |
| E ora eseguiamo semplicemente nuovamente lo script, ed eccolo lì nella nuova versione dei dati. Puoi vedere che ha più righe, in effetti era spento. Prima erano 313, adesso sono 358. |
| Va bene, quindi uno script di data curation riproducibile che può essere eseguito su nuovi dati. |
| Ok, quindi ecco ancora una volta quel foglietto illustrativo. Questo sarà nei materiali che salveremo con il discorso, così potrai arrivarci e trovarlo. E questo ti dice come puntare e fare clic per procedere attraverso la cura dei dati e ottenere uno script di cura dei dati riproducibile e riproducibile. |
| Lo script che abbiamo realizzato non richiedeva alcuna codifica, ma ti darò solo una manciata di suggerimenti, quattro suggerimenti che puoi utilizzare |
| per migliorare un po' gli script. Il primo consiglio è quello di inserire questa riga all'inizio dei tuoi script. È una buona cosa da fare per tutti i tuoi script. Basta inserire qui i nomi delle righe predefiniti. |
| Questo per impedire al tuo script di interagire con altri script. Si chiama collisione dello spazio dei nomi e non devi davvero capire cosa fa, fallo e basta. È una buona cosa da fare. È una buona pratica di programmazione. |
| Il secondo suggerimento è assicurarsi che ci siano punti e virgola tra le espressioni JSL. |
| Il registro avanzato lo fa automaticamente. Posiziona il punto e virgola richiesto tra ogni passaggio. Tuttavia, se apporti tu stesso qualche modifica, dovrai assicurarti che i punti e virgola siano posizionati correttamente. Quindi solo una parola a buon intenditore. |
| aggiungere commenti. |
| I commenti sono un modo per lasciare note nel programma e lasciarle in modo da non rovinare il programma, giusto. È un modo per |
| lascia qualcosa nel programma che non verrà interpretato dall'interprete JSL. E ci sono delle note che il registro migliorato ha lasciato per te... la registrazione delle azioni nel registro migliorato ha lasciato per te, ma puoi modificarle e aggiungerle, se lo desideri. Quindi ecco i punti principali sui commenti. |
| Il formato tipico è di due barre e tutto ciò che segue le barre è un commento. Quindi puoi farlo all'inizio di una riga o anche alla fine della riga. Quindi l'interprete eseguirà questa espressione JSL X = 9, ma poi ignorerà tutto ciò che segue le barre. |
| Puoi anche, se hai un commento più lungo, usare questo formato, che è /* all'inizio e */ alla fine. Questo racchiude un commento. Quindi i commenti sono utili per lasciare note per te stesso ma sono anche utili per eseguire il debug del tuo script JSL. |
| Se vuoi rimuovere una riga di codice e impedirne l'esecuzione, puoi semplicemente prefarla con quelle due barre e, se vuoi farlo per una porzione di codice più grande, puoi utilizzare questo formato. È così bello sapere come usare i commenti. |
| L'ultimo suggerimento con cui ti lascio è generalizzare i riferimenti alle tabelle dati. Ricordi come abbiamo dovuto eseguire la ricerca e la sostituzione per far funzionare lo script su un nuovo nome di file, Componenti B? |
| Abbiamo dovuto modificare 15 istanze nella tabella dati, nello script. Non sarebbe bello se dovessimo cambiarlo solo una volta, invece che 15 volte? Quindi puoi rendere i tuoi script più robusti |
| generalizzando i riferimenti alle tabelle dati. Invece di utilizzare i nomi, utilizzeremo una variabile JSL per contenere i nomi delle tabelle. Ecco di cosa sto parlando. Ti mostrerò un esempio. |
| Sulla sinistra c'è del codice generato dalla registrazione dell'azione nel registro avanzato. |
| Stiamo aprendo la tabella dati Big Class. Stiamo operando sulla colonna età, modificandola in un tipo di modellazione continua e quindi stiamo creando una nuova colonna calcolata, |
| all'apertura, lo usiamo per eseguire la modifica sulla colonna dell'età e lo usiamo qui. |
| Molto semplice, cosa devi fare per renderlo più robusto e generalizzato. |
| È necessario apportare tre modifiche. |
| A questo primo cambiamento qui, stiamo assegnando un nome. Ho scelto BC; puoi scegliere quello che vuoi. Vedrai spesso DT. |
| Quindi BC è il nome con cui faremo riferimento alla tabella dati Big Class nel resto dello script. E così quando vogliamo cambiare l'età |
| età indica la tabella dati BC e la colonna età in tale tabella dati. |
| Quaggiù stiamo inviando un messaggio alla tabella dati Big Class, e questo è ciò che significa la sintassi della doppia freccia. Quindi lo stiamo semplicemente generalizzando, lo stiamo generalizzando in modo da usare il nuovo nome per inviare quel messaggio |
| alla tabella dei dati. E ora, se dobbiamo eseguire questo script su una nuova tabella dati con un nome diverso da Big Class, ecco l'unica modifica che dobbiamo apportare. Dobbiamo cambiare solo un punto nella sceneggiatura. Non dobbiamo fare ricerca e sostituzione. |
| Ok, quindi dopo questi quattro suggerimenti, se sei pronto a portare il tuo script di curation al livello successivo, ecco alcuni passaggi successivi. Potresti aggiungere un selettore di file. Non ci vuole molta codifica |
| per modificarlo in modo che quando qualcuno esegue questo script, possa semplicemente accedere al file su cui desidera che venga eseguito invece di dover modificare manualmente lo script. |
| Quindi è una bella idea. Se desideri distribuire lo script ad altri utenti della tua organizzazione, puoi racchiuderlo in un componente aggiuntivo JMP e in questo modo gli utenti potranno eseguire lo script semplicemente scegliendolo da un menu all'interno di JMP. |
| Davvero utile. Infine, se hai bisogno di eseguire questo script di curation in base a una pianificazione per aggiornare una tabella di dati JMP principale che conservi sulla rete da qualche parte, puoi utilizzare l'utilità di pianificazione in Windows o l'automator nel sistema operativo Mac per farlo che secondo un programma. |
| Quindi, in sintesi, Mia ha parlato di come eseguire la cura dei dati esplorando i dati e ripetendo per identificare i problemi. |
| Se automatizzi questi passaggi, otterrai i vantaggi della riproducibilità, ovvero efficienza, precisione e documentazione del tuo lavoro. |
| Per fare ciò in JMP 16, basta puntare e fare clic come al solito e i passaggi di data curation vengono catturati dalla registrazione dell'azione che avviene nel registro avanzato. |
| Infine, puoi esportare e modificare il codice JSL dal registro avanzato per creare il tuo script di data curation riproducibile. Questo conclude il nostro discorso. Grazie mille per il tuo tempo e la tua attenzione. |