Man mano che sviluppiamo strumenti analitici in JMP, dobbiamo inevitabilmente prendere decisioni su come stabilire le priorità:
Dovremmo rendere il prodotto più potente aggiungendo più muscoli? Dovremmo renderlo più sexy, più eccitante? Dovremmo concentrarci sul sollievo dal dolore, rendendolo meno frustrante, meno gravoso? Nel linguaggio delle lunghe parole in A, dovremmo scegliere anabolico, afrodisiaco o analgesico?
John Sall pensa che la risposta sia analgesica. Il sollievo dal dolore dovrebbe essere la forza motivante centrale per lo sviluppo. Naturalmente, i tre non si escludono a vicenda. L'aggiunta di un'eccitante funzione di potenza potrebbe anche alleviare il dolore. Ma il sollievo dal dolore è fondamentale, perché il dolore è la condizione che può davvero congelarci, demotivarci, farci fermare a una prospettiva tutt'altro che completa di ciò che i nostri dati possono dirci.
Trascrizione generata automaticamente ...
Altoparlante
Trascrizione
Jeff Perkinson Quando si tratta di sviluppare funzionalità JMP, John Sall, il nostro prossimo oratore, ha un modo interessante di pensare a come assegnare le priorità. Dobbiamo dare la priorità a quali funzionalità ... su quali caratteristiche vogliamo investire. Allora come pensiamo a ciò che è più importante? Le caratteristiche che rendono il nostro prodotto più potente sono ciò su cui dovremmo lavorare? Che ne dici di caratteristiche che lo rendono più attraente o più sexy o caratteristiche che si concentrano sul sollievo dal dolore, alleviando il carico di analisi? Ebbene John pensa che il sollievo dal dolore dovrebbe essere la motivazione principale per il nostro team di ricerca e sviluppo. John è il co fondatore di SAS. È l'architetto capo di JMP, che ha fondato più di 30 anni fa. Per scienziati e ingegneri che dispongono di dati e hanno bisogno di un modo per esplorarli necessario ... bisogno di un modo per esplorarli facilmente visivamente sul desktop. Parlerà delle forze trainanti alla base dello sviluppo di JMP e dei modi in cui ci imbattiamo nelle funzionalità su cui vogliamo lavorare. Quindi, con questo, vorrei darti il benvenuto, John. Grazie. John Sall Grazie, Jeff. Ed eccoci qui in diretta dal nuovo centro conferenze digitale a Cary North Carolina, dove possiamo ospitare molte più persone. Quindi abbassiamo un po 'le luci. Beh, non sono davvero qui nel centro conferenze digitale. Sono davvero a casa. Quindi ho un ufficio a casa. Ops. Non quello. Come tutti noi. Sono a casa a tenere questa conferenza. Ma passiamo a un background aziendale e iniziamo. Allora di cosa dovrei parlare? Bene, quando abbiamo i rilasci di JMP, in quegli anni in cui la conferenza alleanza con i rilasci di JMP, è di questo che parliamo, ma negli anni alterni scelgo sempre un argomento. Quindi ho scelto grandi statistiche un anno, o dati fantasma l'anno successivo o funzioni segrete due anni fa. Oggi il mio argomento sono parole grandi che iniziano con la lettera A. Ebbene, queste sono parole caratterizzate da temi per lo sviluppo di JMP. Quindi fammi condividere il mio schermo. E minimizza qui. Condividere. Quindi qual è il tema più importante? Ed ecco le tre parole che iniziano con ... le parole grandi che iniziano con la lettera A. Come ha appena detto Jeff, il primo è anabolico. Bene, anabolic è tutto incentrato sulla crescita muscolare, rendendo JMP più potente. I processi anabolici costruiscono organi e tessuti e questi processi producono crescita e differenziazione delle cellule per aumentare le dimensioni del corpo. Quindi aumentare la potenza di JMP sarebbe un'opportunità e questo è ovviamente molto importante, ma il prossimo afrodisiaco, rendendo JMP più sexy, più eccitante, il brivido della scoperta. Quindi vogliamo che anche questo sia un attributo. Ma ci preoccupiamo anche dei tuoi progressi durante il flusso di lavoro, quindi analgesico è la terza parola e questo significa sollievo dal dolore. sollievo dal dolore. Quindi voglio che le persone esprimano cose come le seguenti citazioni immaginarie, \! "La versione 15 mi ha appena servito ... mi ha fatto risparmiare ore o addirittura giorni di lavoro su cui dovevo faticare. \!" È molto sollievo dal dolore. Oppure \! "Prima dovevo fare ciascuno di essi individualmente e ora è tutto in un colpo solo. \!" Un sacco di sollievo dal dolore lì. Oppure \! "Prima dovevo usare molti altri strumenti per fare tutto, ma ora posso fare tutto in JMP. \!" Oppure \! "Ho mostrato ai miei colleghi come ho fatto così facilmente. E sono rimasti sbalorditi. \! " Oppure \! "Prima dovevo programmare tutto questo manualmente, ora bastano pochi clic del mouse e il gioco è fatto. \!" Oppure \! "JMP mi tiene al corrente, concentrando la mia attenzione sull'analisi dei dati piuttosto che dirottarli troppo sui dettagli operativi. \!" Queste sono le espressioni di sollievo dal dolore che vogliamo sentire. Bene, perché il dolore e la frustrazione sono dei veri demotivatori. Il flusso è importante. Non sei distratto quando sei in flusso. Quando sei in flusso, hai maggiori probabilità di imparare qualcosa dai dati e fare scoperte. Ora anche il potere è importante, ma le nuove funzionalità tendono ad essere utilizzate solo da poche e le vecchie funzionalità da molti. Quindi vogliamo che le vecchie funzionalità funzionino meglio per ridurre il dolore nell'usarle. E, naturalmente, la produttività dipende in gran parte dall'efficacia dei nostri strumenti rispetto all'uso del tempo. Quindi, se riusciamo a rendere più facile e veloce il raggiungimento dei risultati, questa è una grande vittoria. Quindi esaminiamo molti esempi. Innanzitutto, gli script forniti con le tabelle di dati. Quindi qui vedete fianco a fianco, un esempio da una versione precedente di JMP. Penso che sia JMP 14 o 13, dove dovevi tenere premuto il tasto del mouse su questo pulsante e poi ha fatto apparire una voce di menu e poi hai trovato un pulsante di esecuzione per eseguire quello script. Ma il nuovo modo ha solo un pulsante di riproduzione proprio accanto allo script. Quindi fai clic su quel pulsante di riproduzione e salva un menu. Beh, non è una vittoria enorme, pensi che la differenza tra fare clic su un pulsante e aprire un menu non sia molto. Ma è anche una grande vittoria per i nuovi utenti, perché i nuovi utenti non devono più capire che un pulsante caldo avrà una corsa sotto. Ma c'è il pulsante di riproduzione proprio lì con la sceneggiatura. E quindi c'è una maggiore comprensione del fatto che questi sono script. E la capacità di memorizzare gli script con i tuoi dati è un grosso problema in JMP e vogliamo che le persone lo imparino subito e non debbano pescare intorno a due o guardare un suggerimento per capire che è così. Ed è una grande comodità poter memorizzare tutti i tuoi script all'interno della tabella dati stessa e non trovare altri posti in cui archiviarli. Quindi per i nuovi utenti il pulsante di riproduzione. Quindi, questo è un po 'di sollievo dal dolore solo in quel semplice cambiamento. E questo è un cambiamento che ci rammarichiamo di non aver apportato molto prima in JMP. Parliamo della preparazione dei dati. E una delle cose importanti che devi fare quando prepari i dati è unire i dati da più origini. Ora JMP, anche dalla versione uno, doveva unirsi a utility. Ma questo implica ancora un dialogo complesso e lavorare con più tabelle di dati. Quindi, ecco il classico esempio in cui sto noleggiando film e abbiamo la nostra tabella delle transazioni di noleggio di film che contiene il cliente, il numero dell'articolo, la data dell'ordine, l'anno dell'ordine e poi abbiamo il nostro inventario dei film da noleggiare, i dettagli su ciascuno film. E poi abbiamo i clienti ... informazioni sui clienti e così via. E vogliamo fare domande, coinvolgere tutte e tre le tabelle come quali generi sono prevalenti in quali generi di film. Bene, questo implica passare attraverso tutte e tre le tabelle e, naturalmente, il comando join è il modo per farlo. Prendo i dati delle transazioni e li unisco ai clienti. E, naturalmente, l'ID cliente è la colonna corrispondente e desidero includere le non corrispondenze dal lato della transazione. Quindi, se non ho i dati dei clienti, non perdo comunque i dati delle mie transazioni. E questo è chiamato join esterno sinistro, e così diventa la nuova tabella dati. E ora a quella tabella di dati, voglio unirla ai dati di inventario. Quindi mi unisco a quello per il numero di elemento che abbino allora e che voglio anche un join esterno sinistro e ora ho un altro tavolo. E così ora, invece di avere tre tavoli, ne ho cinque, i risultati di quell'unione, ma ora posso guardare a rispondere alla domanda di genere per genere, quale genere tende a noleggiare di più di quale tipo di film. E ha coinvolto anche la creazione di tutte queste nuove tabelle di dati intermedie. Si scopre che c'è un modo molto più semplice per andare e il dolore di questi passaggi extra e tavoli extra può essere notevolmente ridotto. Quindi fammi annullare questa tabella su questa tabella. E voglio sottolineare che sotto il comando tabelle, c'è un comando chiamato JMP Query Builder e questo fa apparire la funzione di sequel per l'unione di tabelle, è molto più semplice di tutti quei dialoghi di unione, ma crea anche una nuova tabella di dati. Ma un paio di versioni fa, siamo usciti con qualcosa di ancora migliore che riduce ulteriormente il dolore e questo è un join virtuale. Quindi, se guardo questa tabella delle transazioni, ho notato che è già unita. Quindi quello che è successo è che quando ho preparato la tabella dell'inventario dei film, è identificata in modo univoco dal numero di articolo. E quindi fornisco il numero dell'elemento, quindi un ID collegamento dicendo che è identificato in modo univoco da quello e questo è il modo in cui posso indicizzare quella tabella. Allo stesso modo, ho un ID articolo per identificare i dati del cliente. E quando preparo i dati della mia transazione, ho questi due, in un certo senso, chiavi esterne, un riferimento al collegamento e fa riferimento a una tabella di dati diversa da, il ... l'ID identificativo attraverso di loro. E così, lo collega automaticamente e ho già tutto ciò di cui ho bisogno per rispondere a questa domanda. Quindi posso fare per ogni genere, posso trovare il genere del film che voglio fare. E così posso vedere qui con i film d'azione sono piaciuti di più dai maschi e i film per famiglie dalle femmine e le commedie romantiche più dalle femmine e così via. Quindi ho risposto alla mia domanda riguardante tre tabelle senza la necessità di passare attraverso tutti i join, perché è virtualmente unito abbinando quelle colonne ID tra le tabelle. Quindi ne ho ricavato un sacco di sollievo dal dolore. Quindi chiudiamolo, in effetti. Quindi l'unione della tabella dati ha comportato, penso, molto sollievo dal dolore durante le versioni. Ricodifica, questa è una delle altre cose principali che facciamo quando prepariamo i set di dati. Abbiamo iniziato con una ricodifica molto semplice molte versioni fa in cui avevamo solo un campo per il vecchio valore e il nuovo valore e il nuovo valore è stato iniziato con lo stesso del vecchio valore e quindi posso tagliare e incollare o modificare quei valori in per ricodificare in una nuova colonna o nella colonna esistente. E ricodificare ogni versione ha subito notevoli miglioramenti e siamo molto entusiasti dello stato attuale di ciò. E quindi diamo un'occhiata a questo set di dati di ospedali, ospedali distrettuali. E ora ricodifica è proprio sul pulsante destro o menu di scelta rapida nell'intestazione della colonna. E posso esaminare e selezionare un mucchio di cose e raggrupparle in un nuovo valore, come la clinica. Ma penso che ci siano anche molte scorciatoie. E una delle mie scorciatoie preferite è raggruppare valori simili. Quindi posso dare una soglia del numero di differenze di carattere e così via e raggrupperà automaticamente tutte queste cose. Quindi raggrupperà tutti gli ospedali distrettuali con ortografie leggermente diverse in uno solo. E posso ancora ... sembra che ne abbia perso uno. Ma va bene, ora posso raggruppare quello con gli altri e tutti, tutti gli ospedali rurali sono stati automaticamente raggruppati in base a quelli corrispondenti e sembra che io possa abbinarne uno in più qui. E ora all'improvviso ho qualcosa. Ho risparmiato molti sforzi nel fare tutta quella ricodifica. E, naturalmente, in JMP 15 abbiamo aggiunto nuove funzionalità, che non mostrerò qui, ma voglio farlo notare. Se hai un altro set di dati con tutti i ... dimostrato che ... i migliori nomi di categoria per quelle categorie, posso passare attraverso un processo di corrispondenza e fargli scegliere la corrispondenza più vicina quando trova una corrispondenza con tutte quelle cose. Quindi, recode ha subito molte evoluzioni rispetto alle versioni per ridurre il dolore in quell'operazione. E, naturalmente, pensaci. Quanto tempo dedichiamo alla preparazione dei dati rispetto all'analisi? Spesso si impiega dal 70 al 90% del tempo a preparare i dati. E così, ridurre il dolore di questo e ridurre il tempo diventa una vittoria importante. Quindi sollievo dal dolore alla ricodifica. Facendo clic sui valori. Ecco il set di dati delle città. E supponiamo che quando guardo i dettagli per alcune di queste cose, come potrebbe essere un valore anomalo per qualcosa, voglio esaminarlo in maggiore dettaglio. E così posso trasformarlo in un collegamento. Quindi trasformiamolo in una pagina wiki in una pagina Wikimedia. Copierò quel testo lì e andrò alle informazioni sulla colonna e poi lo trasformerò in un collegamento, che è il gestore delle espressioni. E ora posso prendere questa tabella e convertirla in un indirizzo web. Quindi andrò su wikipedia.org e poi prenderò il nome di quella città e lo cambierò in caso del titolo e posso testarlo su quella riga e far apparire Albany. E così ora dirò ... Oh va bene. E ora posso fare clic su qualsiasi città e quindi ottenere l'articolo di Wikipedia su quella città. Oppure può cambiarlo per mappare le coordinate. Quindi posso ... copiamo quel testo e andiamo alle informazioni sulla colonna e ora invece di quello, farò il caso del titolo su quello. Vediamo se viene analizzato correttamente. E ora posso fare clic su Denver e interrogherà Denver e Google Maps. Ok, quindi ho trasformato le cose in link da fare ... Posso fare ricerche, posso fare richieste di mappe e così via. Posso persino incollare questo discorso e fare clic su di esso e fargli pronunciare il nome della città. E quindi penso che questo dia un grande potere per poter memorizzare collegamenti nelle nostre tabelle di dati che si collegano a pagine Web o fare altre cose, qualsiasi cosa tu possa esprimere con ACL, puoi farlo con quei gestori di eventi. Quindi questo può ridurre molto dolore. Quindi una delle mie tecniche di riduzione del dolore preferite è la trasmissione, ed è qui che tieni premuto il tasto di comando o il tasto di controllo per fare multipli, dove hai molte analisi simili. Ok, quindi questo funziona non solo per i comandi di menu, ma per molti pulsanti e per ridimensionare le cornici dei grafici e fare altre cose, incollare le cose nei grafici e così via. Quindi facciamo un esempio di questo. E facciamo clic su ... o semplicemente facciamo una distribuzione su tutte queste colonne. E diciamo che volevo sbarazzarmi di questo box plot. E se tenessi semplicemente premuta quella voce di menu, eliminerei il box plot per quella voce. Ma quello che voglio fare è eliminare il box plot per tutti gli elementi. Quindi quello che farò è tenere premuto il tasto Comando e deselezionare il box plot e ora è deselezionato per tutte quelle cose. Ora posso deselezionare i quantili e deselezionerà tutto, perché ha preso quel comando e trasmesso a tutti gli oggetti attivi in quella finestra, e per quegli oggetti attivi che capiscono quel comando, il comando quantili per esempio, obbedirà quindi che quel comando. Ora funziona anche per alcune cose che hanno a che fare con i dialoghi suggeriti. Quindi diamo un'occhiata alle statistiche di riepilogo. Fammi tenere premuto il tasto comando e personalizzare le statistiche di riepilogo. E diciamo che non voglio i limiti di confidenza, ma voglio il numero di valori mancanti. E io dico, va bene, e questo lo applicherà a tutti ... tutte le cose. Per fare ciò, è stato necessario prendere i risultati di quel dialogo, farne uno script e poi trasmetterlo a tutti gli altri posti in quella finestra. Ora non succede sempre. A volte, quando ricevi un prompt, riceverai un prompt per ogni analisi. Per ogni rilascio cerchiamo di implementare qualche dettaglio in più, dove il dialogo viene fatto prima della trasmissione in modo che trasmetta lo stesso dialogo in ogni luogo disponibile. E, naturalmente, tutto il resto posso trasmettere una modifica e cambierà, sai, la dimensione di tutti questi elementi, oppure posso trasmettere cambiando il colore di sfondo e posso cambiare tutti i colori di sfondo in arancione in tutte le trame che che sembra rilevante per quella cornice. Quindi questa trasmissione diventa uno strumento molto potente. Quindi, questo ha risparmiato molto dolore alla maggior parte di noi, ma ci sono ancora casi in cui potresti averne 40.000 per gruppo, come è successo all'inizio di quest'anno, e lui vuole fare una previsione inversa su tutti i 40.000 e ti chiede 40.000 volte . Questo verrà risolto per la versione 16. Questo è un grande sollievo dal dolore per quell'utente. Salvataggio delle colonne formula. Adoro le colonne formula. Quando si adatta un modello è possibile salvare una colonna di previsioni. Ma in quella previsione, c'è una formula live in modo che tu possa esaminare quella formula, puoi modificarla, puoi applicarla ai nuovi dati che arrivano. Puoi profilarlo nella formula di salvataggio. Puoi farlo se hai JMP Pro, puoi andare al deposito di formule e fare molte altre cose. Puoi generare codice da esso e così via. Quindi la possibilità di salvare le formule è una cosa importante, ma a volte se si dispone di gruppi, ad esempio, il salvataggio delle formule ha molta sottigliezza extra. Ad esempio, adattiamoci, questi sono i dati sul diabete, in cui adattiamo la risposta a tutti questi predittori e vogliamo farlo separatamente per ciascun sesso. Quindi facciamolo. E così abbiamo due gruppi per genere uno e genere due. E ora diciamo di voler salvare il valore previsto, infatti, per entrambi. Ora, ai vecchi tempi, prima di sottoporlo a questo metodo a molti metodi per alleviare il dolore, cosa sarebbe successo quando lo avresti salvato, sarebbe andato a una tabella di dati locale. Se guardi nella finestra della tabella dati sotto a Ripeti, mostra la tabella per gruppo. Quindi, in realtà, per sesso = 1, c'è 235 in questa tabella di dati virtuale qui, che puoi mostrare per sesso = 1. C'è una variabile di tabella qui che mostra il gruppo per esso. E lo salverebbe in questa tabella temporanea invece della tabella reale che hai che è realmente salvata. Ma qualche tempo fa, quando hai salvato la formula di previsione, la salviamo nella tabella dei dati reali. E se guardo questo, l'ho appena salvato per gender = 1, e se guardo la formula per questo, mostra che se gender = 1, quella era la clausola by group, allora ha questa combinazione lineare che forma un previsione per quella variabile. E poi se poi faccio sesso = 2 o se ho tenuto premuto il tasto comando per trasmettere la formula di previsione, ora li ha entrambi e ho entrambe le clausole disponibili per il genere 1 e il genere 2. Quindi aggiunge una clausola ogni volta a quell'output per gruppo. A proposito, la stessa cosa accade quando salvi altre cose, quando salvo una colonna di residui e questa volta teniamo premuto il tasto command. Se salvo una colonna di residui, la salverà per ciascuno per gruppo, salverà il residuo appropriato per quella per gruppo. È come se avessi sottratto la formula prevista dalla risposta originale, ma questa volta senza essere una colonna formula. In quasi tutti i posti in JMP, non lo abbiamo fatto ovunque, ma lo abbiamo fatto nella maggior parte dei posti, salvando in un gruppo per o in alcuni casi attraverso una clausola where, lo salverà quindi nella tabella dati originale con la condizione nell'istruzione if. Ok, quindi questo ha risparmiato un sacco di sforzi. Se non fosse stato disponibile, tt è stato salvato in una tabella temporanea e quindi avresti dovuto tagliare e incollare quella formula e rendere le tabelle if nella tabella originale. Quindi abbiamo risolto questi problemi. Supponiamo ora di averlo salvato di nuovo, di aver ripetuto l'intero processo e di aver fatto un'altra cosa, diciamo con variabili diverse, alcune di esse rimosse e ora salvato di nuovo. Quindi, salvo la formula di previsione, questa volta tenendo premuto il tasto di trasmissione, in realtà ne crea uno nuovo invece di salvare in quello vecchio e aggiunge un 2 dopo di esso. Ebbene, come fa a sapere di non salvarlo in quello vecchio? Bene, ogni adattamento ha un ID. E se guardo le proprietà per ID, ha il numero, un numero univoco che viene rigenerato per ogni adattamento, e così finché ha un diverso per ID, il diverso per gruppi avrà lo stesso ID con uno per partizione. Ma finché ha lo stesso per ID, lo salverà nella stessa cosa. Altrimenti creerà un nuovo posto in cui formarlo per salvarlo. Inoltre, ogni volta che diciamo valori predittivi, in particolare formule di previsione, creerà un attributo the, il creatore e in alcuni casi altre informazioni. In questo caso ha la variabile target y, che è ciò che prevede e il creatore si adatta ai minimi quadrati. E poi, quando esegui altre piattaforme, ad esempio se hai il confronto del modello di JMP Pro, quel confronto del modello capirà quali valori previsti si riferiscono a quale creatore, in quale target. E così può tenere traccia di tutte quelle informazioni per quelle piattaforme a valore aggiunto. Pertanto, le colonne formula funzionano aggiungendo nuove clausole e vengono utilizzate altre proprietà, incluso l'ID. E le clausole di previsione, se le salvi in variabili categoriali, salva un'intera gamma di variabili per avere le probabilità per ogni livello di risposta e tutto ciò che è contenuto con tutti i metadati e le esigenze. E questo dovrebbe far risparmiare molto dolore. Quindi, rimuovere gli effetti dai modelli. Bene, diamo un'occhiata a un esempio di adattamento dell'altezza in base al peso. Bene, ecco un esempio di un polinomio di alto grado. Questo è un polinomio del settimo ordine che si adatta meglio dei polinomi del sesto ordine e così via. Ma ti fideresti di quella vestibilità? Risulta che se si dà al modello molta flessibilità introducendo termini polinomiali alti o semplicemente introducendo più variabili, si danno molte più opportunità di adattamento. E in questo caso è consentita la flessibilità di fare un'immersione profonda tra i dati precedenti e l'ultimo punto dati solo per adattarsi meglio a quest'ultimo punto dati. E quindi è overfitting. È così ... sta usando quel parametro per adattare il rumore invece di adattare i dati stessi. E quindi l'overfitting è un problema ogni volta che hai modelli grandi. Quindi vuoi adattare il segnale, non il rumore. Ok, i modelli di grandi dimensioni tendono a introdurre più variazioni nella previsione, perché la previsione, dopotutto, è una funzione della variabile y che stanno usando, ma anche quella variabile y è è una parte sistematica di quella variabile più la parte dell'errore di quella variabile se quella parte della variabile è casuale, la tua previsione implica quella casualità. E se gli permetti troppa flessibilità, finirà con un problema di overfit che prevedi molto peggio includendo tutte le variabili in quel modello. Quindi la cura per questo è ridurre il modello, ridurre la dimensione del modello o ridurre la dimensione dei coefficienti nel modello, in modo che meno di quella variazione dal termine casuale del modello venga trasmessa nel valore previsto. E così nei piccoli problemi DOE, questo non è un problema perché i dati sono piccoli e i dati sono ben bilanciati per adattarsi esattamente al modello che stai cercando. Ma per i dati osservativi in qualsiasi modello di grandi dimensioni, l'overfitting è un vero problema. Quindi gli utenti spesso non lo hanno apprezzato fino a quando non abbiamo introdotto la convalida incrociata in JMP Pro. Quindi, se hai JMP Pro, puoi impostare una colonna di convalida, che tratterrà alcuni dei dati per stimare l'errore su quel set di dati trattenuto. Ed ecco un esempio in cui ho ... Sto cercando di prevedere le proprietà del calcestruzzo a seconda di tutti questi ingredienti nel calcestruzzo, e ho un enorme modello per questo. E se eseguo solo quel modello, ma trattieni alcuni dati e guardo il quadrato R su quello, ho per SLUMP, ho un ottimo adattamento. Ho un R quadrato 79, ma sul set di convalida che mi adatta, ho un R quadrato negativo. Qualsiasi quadrato R negativo significa che si adatta peggio del semplice adattamento della media. Quindi, se adattassi la media, avrei un quadrato R di zero. Se mi adatti all'intero modello, ho un quadrato R che è molto peggio di quello. Quindi, con i modelli di grandi dimensioni, puoi andare peggio del semplice adattamento significa che è peggio di È un po 'anti informativo perché il modello è così grande e non abbiamo fatto alcuno sforzo per ridurre le dimensioni del modello. Il modello è stato dominato dal rumore e non dal segnale. Quindi questo è un problema a cui dovresti prestare attenzione. Quindi, la parte importante è riuscire a ridurre le dimensioni del modello. E ora abbiamo introdotto un comando di dialogo del modello per farlo. Entriamo nel diabete con il modello. Posso utilizzare questo modello e se, diciamo, voglio tirare fuori molte di queste cose non sono molto significative. Sai, l'età ha un contributo totalmente non significativo al modello, e quindi voglio eliminare l'età. Bene, allora lo farei, potrei tornare a montare il modello e richiamarlo o quindi eliminare l'età. Oppure posso semplicemente tornare al dialogo del modello direttamente qui e adattare l'età e rimuoverlo, ma potrei avere una lunga lista di modelli qui e andare avanti e indietro per fare queste cose è una discreta quantità di lavoro. E quindi, piuttosto che farlo ... vediamo, cosa ci faccio qui. Diverse versioni fa, abbiamo introdotto un nuovo rapporto chiamato riepilogo degli effetti. E con il riepilogo degli effetti, è banalmente facile creare sottoinsiemi del modello per farlo prevedere meglio e dargli meno flessibilità. Quindi posso dire, beh, età, posso rimuoverlo. Oppure, beh, ci sono molte variabili. Rimuoviamone altri tre. LDL, beh, sembra più significativo. E così posso salvare quel modello. Salviamolo nella tabella dei dati. E torno più tardi e dico, beh, fammi ricordare quel modello che ha questo. Posso effettivamente annullare la cosa precedente. E così posso annullarlo e questo riporta tre delle variabili e posso annullarlo e questo riporta l'età. Quindi memorizza effettivamente, quando utilizzo il riepilogo degli effetti per modificare il modello, memorizza effettivamente una memoria di tutte quelle cose. E se guardo quel copione, posso vedere questa cosa della storia. Quindi ogni volta che ho effettuato il modello, memorizzavo una clausola della storia. E quando eseguo le operazioni di annullamento, le riporto a quella storia. Quindi rimuovere è facile. Posso anche aggiungere cose. Se sottrassi queste due cose potrei aggiungerlo di nuovo. Potrei aggiungere indietro, diciamo, l'età. Non è una buona cosa da fare, ma posso farlo. Posso anche modificare il modello riportando una piccola versione della cosa del modello e del dialogo del modello e aggiungere effetti composti e così via. Ora un'altra cosa che accade con i modelli di grandi dimensioni e (fammi annullare). Con i modelli di grandi dimensioni, stai facendo molti test di ipotesi. Quindi, se hai un gran numero di test di ipotesi, ci sono alcuni aggiustamenti che dovresti considerare e uno di questi è chiamato tasso di false scoperte. E così, invece di trattare tutti questi valori p come se fossero test indipendenti, voglio applicare un aggiustamento in modo che quei valori p siano aggiustati per il bias di test multipli, per il bias di selezione coinvolto nel sottoinserimento del modello. E così posso applicare una falsa correzione del tasso di scoperta. Quindi, invece del valore p regolare, ho aggiustato il valore p della falsa scoperta per quello. E ora sono più realistico. Quindi questo mi aiuterà con il problema dell'overfitting e l'ipotesi ... il problema del bias di selezione nel fare molte cose di test multiple. Quindi, ora passiamo al prossimo argomento e questo si trasforma. Supponi di voler creare un modello, ma invece di y, vuoi adattare il logaritmo di y. Bene, prima di creare una nuova colonna nel set di dati, Log y, quindi per Log y, specifichi a ... fare una formula. E posso prenderne un registro. E ora posso tornare alle specifiche del mio modello e farlo Log y e poi ho ottenuto la mia misura. Oh, manca, cosa ho fatto? Ho dimenticato di inserire l'obiettivo, l'argomento. E così ora posso adattare il registro di Y E ora l'ho fatto. Ma facciamo il profiler. Il mio profiler è in termini di log di Y. Fammi salvare il valore previsto. La mia formula di previsione è in termini di log di y, e ora dovrò andare a modificarlo manualmente ... quella formula e prendi l'esponenziale di quella per riportarla sulla scala originale. Quindi è molto doloroso fare trasformazioni in quel modo. Bene, diverse versioni fa abbiamo introdotto le trasformazioni. Quindi posso prendere quella trasformazione e trasformarla nel registro e ora usarla direttamente lì come una trasformazione e non fa parte della tabella dei dati. È una variabile virtuale con una formula, ma non aggiunta alla tabella dati. E ora posso adattare il mio modello al Log y. Rimuoviamo l'età in modo che si adatti un po 'meglio. Ops. Avevo selezionato anche quello. E ora ho adattato la risposta Log y. Quindi se lo profilo, cosa ottengo? Profilazione fattoriale, profiler. Invece di profilare il log di y, profila y. Il profiler la considera una trasformazione e dice, beh, posso invertire quella trasformazione e tornare alla scala originale. Ed è quello che fa. Non si trasforma, si trasforma all'indietro attraverso il logaritmo di y per prendere la previsione e metterla sulla scala originale. E lo farà per la maggior parte delle trasformazioni che possono svolgersi. Se una trasformazione coinvolge più variabili e così via, non può farlo e farà solo le trasformazioni. Quindi la stessa cosa originale quando salvo una colonna. Quando salvo la formula di previsione, salva una formula di previsione sulla scala di y invece che sul logaritmo di y. E quindi queste cose fanno risparmiare incredibilmente tempo e fanno risparmiare molti sforzi nell'utilizzo delle trasformazioni. Quindi c'è ... Fammi andare di nuovo al diabete e farne un altro ... considera un'altra trasformazione. Quando esegui una variabile, c'è una trasformazione Box-Cox che puoi ottenere. E tra i profili dei fattori, l'opzione Box-Cox ti dice se hai trasformato un'intera gamma di funzioni di potenza, cosa, cosa sarebbe il migliore da fare? Dovrebbe essere solo non trasformabile? Sarebbe un valore lambda Box-Cox pari a uno. Se facessi zero, sarebbe equivalente a prenderne un logaritmo. Se facessi -1, sarebbe equivalente a prenderne il reciproco. Il potere di -1. Se facessi circa 0,5, sarebbe equivalente a prendere la radice quadrata di quello. E ti sta dicendo che questo modello si adatterebbe meglio su una scala di trasformazione adattata per quella trasformazione, se fosse più lungo la trasformazione della radice quadrata, dove lambda era .453. Questo è il valore ottimale per la trasformazione Box-Cox. E puoi ingrandire questo con una lente d'ingrandimento per ottenerlo in modo più preciso. Quindi, così ora posso trasformarmi, e diverse versioni fa posso ... Ho aggiunto diverse colonne. Uno è il refit con Transform, che creerà una nuova finestra con la risposta Transform. E un altro sta sostituendo la trasformazione e lo farò. E invece di .453, prenderò solo la trasformazione della radice quadrata (.5) e ora adatterò il modello con quella trasformazione. E ora lambda migliore è intorno a 1, che è dove dovrebbe essere, perché è già trasformato immediatamente dalla trasformazione di Box-Cox. E ora posso salvare il valore previsto e profilarlo e così via. E posso persino annullarlo. Quindi, se non mi piace quella trasformazione e voglio tornare all'originale, posso tornare all'originale e rimontarlo. Quindi, abbiamo risparmiato molto tempo nel trasformare le risposte. Quindi ora c'è un dolore speciale, un luogo speciale di dolore quando si hanno molti dati. E ci siamo impegnati molto per cercare di risolvere grandi problemi con meno dolore. Che tu abbia molte righe, molte colonne, molti gruppi, molti modelli da provare, nel mondo di oggi viviamo in un mondo di big data con grossi problemi. Quindi, se abbiamo analisi che sono state originariamente progettate per gestire piccoli problemi, potrebbe non essere appropriato per quelli grandi, e il problema centrale con i grandi problemi è che c'è solo troppo output da risolvere. Se adattando lo stesso modello a 1.000 variabili, ho 1.000 rapporti da ordinare. Se sto cercando valori anomali tra 1.000 colonne, ci sono solo valori anomali, sai, rapporti separati per ogni colonna e così via. Voglio essere in grado di gestire in modo più efficiente molti set di dati di grandi dimensioni. Quindi abbiamo sviluppato il menu di screening, che ha lo scopo di risolvere questi grandi tipi di problemi. Inoltre, ci sono molti posti in JMP che risolvono meglio anche problemi di grandi dimensioni. Ad esempio, serie temporali. La nuova piattaforma di previsione delle serie temporali prevede molte serie temporali, invece di una sola. Quindi gli elementi sulla piattaforma di screening esplorano valori anomali, esplorano valori mancanti, esplorano modelli. Questi servono per eseguire controlli dei dati e quindi cercare associazioni, screening della risposta, screening del processo, screening dei predittori. E, naturalmente, la previsione delle serie temporali è un nuovo elemento. Non è nel menu di proiezione, ma è organizzato per gestire problemi di grandi dimensioni. E tutte queste cose traggono vantaggio, non solo da modi più compatti per rappresentare i risultati in modo da non dover migliaia di rapporti, ma sono anche efficienti dal punto di vista computazionale. Usano il multithreading, quindi sfrutta i tuoi più core nella tua CPU per renderlo molto veloce. Quindi diciamo che hai molti dati di processo; hai 568 variabili. Quindi, quale di queste variabili sembra sana? Lo screening del processo Well è progettato per rispondere a questo. E così può ordinare in base alla stabilità o ordinare in base alla capacità (Ppk) o quali sono fuori uso o ordinare per misure del grafico di controllo, account fuori controllo e così via. Ma quello che è anche ... mi piace anche di più, sono alcuni degli strumenti che mostrano tutti i processi in un grafico. E ce ne sono due che amo. Uno è il grafico degli obiettivi che mostra come ogni processo si comporta rispetto ai limiti delle specifiche e se è un processo capace è in questa zona verde qui. Se è marginale, è nella zona gialla. Se non lo è, è nella zona rossa, e se è in alto, ha troppa varianza. Se è da una parte all'altra, allora c'è un problema. Con... È fuori centro, è fuori bersaglio. Ma se è nella zona verde, allora è un buon processo e con la versione 15 introduciamo i graphlet, l'aiuto al passaggio del mouse in modo da poter vedere ogni processo mentre ci passi sopra. E poi l'altra trama in cui amo riassumere tutte queste cose e ridurre il dolore di guardare attraverso tutti questi rapporti è questo grafico delle prestazioni del processo. Quindi sull'asse verticale, ti dice se sei entro i limiti delle specifiche dalla capacità Ppk. Quindi, se sei al di sopra di questa linea a 1,33, stai bene per quanto riguarda la distribuzione dei valori rispetto ai limiti delle specifiche. Sei ben entro i limiti delle specifiche. Se ... allora l'indice di stabilità è sull'asse x. Quindi, se è un processo piuttosto instabile, anche se potrebbe essere capace ma instabile. Quindi, se guardi a quel processo, potrebbe avere qualche cosa di stabilità che vaga intorno ad alcuni. E se sei nella zona gialla, sei capace ma instabile e così via. La zona rossa è la zona cattiva in cui sei incapace e instabile. E quindi guardare attraverso centinaia o migliaia di processi è facile ora, dove prima era molto doloroso. La domanda è: cosa è cambiato di più? Ecco alcuni dati del sondaggio in cui, in molti anni diversi, hai posto una domanda sulle loro attività. Sei andato in campeggio? O scommettere in un casinò? O hai avuto il raffreddore? Sai, tutte queste attività e vuoi sapere quale tra tutte queste attività (e credo ci siano 95 attività diverse) quale di queste ha fatto la differenza. E quindi stai cercando, sai ... una cosa che potresti fare è esaminarne una alla volta e adattare quell'attività per anno di indagine. Invece di guardarli uno alla volta. Posso guardare lo screening delle risposte e solo guardare un grafico per vedere cosa è cambiato di più. E quindi questo mostra un grafico per tutte e 95 queste cose. Primo, la significatività in termini di log negativo del valore P, che chiamiamo valore log, che è aggiustato per il tasso di false scoperte. E quindi si prende cura di alcuni di quei pregiudizi di selezione perché stai ordinando tutti quei valori p. e selezionando il dietro ... i bassi valori di P. E trovo che noleggiare una videocassetta sia cambiata di più, videocassetta, e ovviamente sono diventate obsolete. Quindi, ovviamente, è cambiato. Un'altra videocassetta è cambiata molto, le cose raccolte per il riciclaggio sono cambiate molto, le persone intrattenute nella mia casa sono cambiate molto. Ed ecco quello che è meno significativo, ma di grandi dimensioni, usi Internet. E ovviamente questo sondaggio è stato avviato prima che esistesse Internet. E così è cambiato molto. Quindi la domanda su ciò che è cambiato di più è stata facile ora, dove prima era difficile. Un'altra domanda che hai posto sui big data, dove sono i valori mancanti. Quindi ecco 280 variabili. Dove sono i valori mancanti? Devo preoccuparmi per loro? E posso guardare il rapporto di esplorazione dei valori mancanti e vedere che, beh, ci sono solo cinque di queste variabili con valori mancanti. E alcuni di loro hanno solo una variabile, un valore mancante, ma alcuni di loro hanno molto. Quindi, quando eseguo un'analisi, un'analisi multivariata, probabilmente non voglio includere 376 variabili su 452. Oppure, se voglio includere J, posso passare attraverso e imputare quei valori mancanti in questo modo, okay. Quindi, domanda successiva, i dati hanno valori anomali? Bene, ho 387 misurazioni, in questo processo. E voglio scoprire se ci sono valori anomali lì dentro. Quindi ora abbiamo la possibilità di farlo nel menu di proiezione. Posso renderlo più o meno sensibile. Rendiamolo più sensibile in modo che ci siano meno valori anomali e ripetiamo la scansione. Posso guardare i nove. Così spesso, una stringa di nove viene utilizzata per rappresentare un valore mancante e quei nove possono essere veri nove, ma possono essere solo un indicatore di un valore mancante. E così posso, per quelli, posso dire bene di aggiungere quei nove ai codici di valore mancanti e ora la memoria è cambiata. E ora posso tornare indietro (ci sono molte variabili qui) e ripetere la scansione e ci sono meno valori mancanti di cui preoccuparmi. Quindi esplorare i valori anomali era una seccatura. Può ancora essere un grande lavoro, ma è molto più facile di quanto non lo fosse prima. Ora, nella versione 15, abbiamo aggiunto un'altra piattaforma di screening. I dati hanno schemi sospetti? E quindi ecco alcuni dati di laboratorio dalla sperimentazione clinica. Questi sono i dati dei modelli di laboratorio della nicardipina. Ci sono 27 risultati di laboratorio che potrei voler esaminare. E così invoco la nuova piattaforma, esploro i valori mancanti. E questo mi dimostrerà, ho una serie di valori? Quindi ho il valore .03536 ma ce ne sono sette di seguito, a partire dalla riga. 2065. Posso colorare quelle celle e posso guardare quei valori, e forse è l'ultimo valore riportato, il che potrebbe non essere sospetto. In questo caso, è il ... è la stessa persona. Quindi forse l'ultimo valore riportato è una cosa ragionevole da fare, ma è un evento raro, raro se hai distribuito queste cose ... se, se assumi una distribuzione casuale per queste cose. Anche la sequenza duplicata più lunga. Quindi per questa variabile e iniziamo dalla riga 2816 e anche dalla riga 3034, ce ne sono quattro di seguito che avevano gli stessi valori. Quindi, se coloro quelle cose, ce ne sono quattro di seguito. E se vado alla sequenza successiva, ce ne sono quattro di fila che hanno gli stessi valori. Quindi questo potrebbe essere un sintomo di tagliare e incollare gli stessi valori da un luogo all'altro. Quindi esplora i modelli sta cercando quelle cose. E ci sono molte altre cose che puoi guardare nei dettagli su ciascuna di queste 27 variabili e cercare sintomi di cose sospette o o effetti negativi del modo in cui hai elaborato i dati e così via. Quindi, esplora i modelli che fanno parte della risoluzione di grandi problemi. Quindi, sollievo dal dolore. Gran parte del nostro sviluppo si concentra sul rendere il flusso delle analisi più fluido, meno gravoso, meno dispendioso in termini di tempo e meno doloroso. Analgesici. Ora non sappiamo sempre cosa è doloroso. Quindi dipendiamo dal feedback su cosa concentrarci. Quando abbiamo ricevuto quelle e-mail a cui dovevo rispondere centinaia di volte, le abbiamo ascoltate e abbiamo sentito il dolore e l'abbiamo risolto in modo che ora tu possa trasmettere in un gruppo con migliaia di cose e trasmettere i risultati di uno dialogare piuttosto che dialogare molte volte. Quindi inviarlo lo ha reso migliore per tutti gli altri, perché non l'abbiamo capito la prima volta. Quindi, per favore, dacci il tuo feedback. Con tutti i miglioramenti che abbiamo già fatto, pensiamo che il processo di preparazione e analisi dei dati sia già diventato molto più fluido, molto meno interrotto, più in flusso. Quindi, invece di sprecare il tuo tempo a superare gli ostacoli, trascorri il tuo tempo ad imparare dai tuoi dati, comprendendo i tuoi dati. analisi. Ci si potrebbe chiedere se provengano dalla stessa radice, ovviamente, non ci piace abbreviare queste due parole. L'analisi proviene dal greco analyein e non so come pronunciarlo. Ma in greco significa sciogliersi, liberarsi o liberarsi. E sta prendendo qualcosa di complicato e spezzandolo in pezzi in modo che possiamo capirlo. E questo è, ovviamente, esattamente ciò che facciamo con l'analisi dei dati, la scienza dei dati. E gli analgesici provengono da una diversa combinazione di parole \! "An- \!" che significa senza, e \! "algesis, \!" che è il senso del dolore. Quindi stesso prefisso, diverse ... radici un po 'diverse. E non abbreviarli. anabolico e afrodisiaco. Ci interessa il potere. Molto di ciò che facciamo è darti strumenti più potenti per l'analisi dei dati, in gran parte in JMP Pro e in JMP. E speriamo che i dati rendano eccitante, sai, il brivido della scoperta. L'emozione di imparare a utilizzare le potenti funzionalità in JMP e pensiamo che sia entusiasmante. Sai, è un afrodisiaco. Quindi anche il potere e l'eccitazione sono un valore per noi. Non è solo sollievo dal dolore. Allora cosa faremo il prossimo anno? Bene, paroloni che iniziano con la lettera B. Inizia con A, il prossimo è B, giusto? Bene, l'anno prossimo avremo JMP 16 in arrivo. Ed è di questo che parleremo. Chissà di cosa parleremo l'anno dopo. Quindi grazie mille. E speriamo che tu soffra pochissimo nell'analisi dei tuoi dati. Jeff Perkinson Grazie mille, John. Lo apprezziamo. È stato un discorso fantastico ed essendo stato in giro a testimoniare molto del dolore nel corso degli anni, è che tutto quello che dici è assolutamente vero. Il sollievo dal dolore è una cosa importante per noi. Abbiamo avuto una domanda che è arrivata, in realtà, diverse domande; abbiamo risposto ad alcune di esse nella sessione di domande e risposte, ma cosa volevo darti sia come sollievo dal dolore che come attrazione e ha reso JMP più potente? John Sall Beh, penso che la grande gioia di tutti sia Graph Builder. È incredibilmente potente trascinare queste variabili e fare alcuni altri clic e hai il grafico che desideri e puoi cambiarlo così facilmente. Quindi è un brivido. È una caratteristica potente ed è un sollievo dal dolore; era più difficile da fare. Quindi penso che sia la cosa preferita di tutti. Ma ovviamente c'è ... JMP è un prodotto ricco e siamo orgogliosi di tutto ciò che contiene. Progettazione di esperimenti, tutto il grande potere coinvolto in essi e abbiamo cercato di semplificare anche questo processo. E vengono in mente tante cose. Jeff Perkinson Molto bene. Grazie mille, John, lo apprezzo. Se ti è piaciuto questo discorso, ho due suggerimenti per te. Uno, pubblicheremo questo