Altoparlante
|
Trascrizione
|
| Jeff Perkinson |
Quando si tratta di sviluppare le funzionalità di JMP, John Sall, il nostro prossimo relatore, ha un modo interessante di pensare a come stabilire le priorità. Dobbiamo dare la priorità a quali caratteristiche... |
| |
su quali caratteristiche vogliamo investire. Quindi, 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, alleggerendo il peso dell'analisi? |
| |
Bene, John pensa che il sollievo dal dolore dovrebbe essere la principale motivazione per il nostro team di ricerca e sviluppo. John è il co-fondatore di SAS. È l'architetto principale di JMP, che ha fondato più di 30 anni fa. |
| |
Per gli scienziati e gli ingegneri che hanno dati e hanno bisogno di un modo per esplorarli necessari... hanno bisogno di un modo per esplorarli facilmente visivamente sul desktop. |
| |
Parlerà delle forze motrici 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 Sal |
Grazie, Jeff. Ed eccoci 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. |
| |
Quindi di cosa dovrei parlare? |
| |
Bene, quando abbiamo i rilasci di JMP, in quegli anni in cui l'alleanza della conferenza insieme ai rilasci di JMP, è di questo che parliamo, ma negli anni alterni scelgo sempre solo un argomento. Quindi ho scelto grandi statistiche un anno, o dati fantasma l'anno successivo o caratteristiche segrete |
| |
due anni fa. Oggi il mio argomento sono i paroloni che iniziano con la lettera A. |
| |
Bene, queste sono parole caratterizzate da temi per lo sviluppo di JMP. Quindi fammi condividere il mio schermo. |
| |
E |
| |
minimizzare |
| |
Qui. Condividere. |
| |
Quindi qual è il tema più importante? Ed ecco le tre parole che iniziano con... i paroloni che iniziano con la lettera A. |
| |
Come ha appena detto Jeff, il primo è anabolico. Bene, l'anabolico riguarda la crescita muscolare, rendendo JMP più potente. |
| |
I processi anabolici costruiscono organi e tessuti e questi processi producono la crescita e la differenziazione delle cellule per aumentare le dimensioni del corpo. |
| |
Quindi aumentare la potenza di JMP sarebbe l'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 è appena servita...mi ha fatto risparmiare ore o addirittura giorni di lavoro su cui dovevo faticare.\!" Questo è un grande sollievo dal dolore. |
| |
Oppure \!"Prima dovevo fare ognuno 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 l'ho fatto così facilmente. E sono rimasti stupiti.\!" Oppure \!"Prima dovevo programmare tutto questo manualmente, e ora bastano pochi clic del mouse ed è fatta.\!" |
| |
Oppure \!"JMP mi tiene aggiornato, mantenendo la mia attenzione sull'analisi dei dati piuttosto che deviarla troppo sui dettagli operativi.\!" Queste sono le espressioni di sollievo dal dolore che vogliamo sentire. |
| |
Ora perché beh, il dolore e la frustrazione sono dei veri demotivatori. Il flusso è importante. Non sei distratto quando sei in movimento. Quando sei in flusso, è più probabile che impari qualcosa dai dati e fai scoperte. |
| |
Ora anche l'empowerment è importante, ma le nuove funzionalità tendono ad essere utilizzate solo da pochi e le vecchie funzionalità da molti. Quindi vogliamo far funzionare meglio le vecchie funzionalità |
| |
per ridurre il dolore nell'usarli. E, naturalmente, la produttività dipende in larga misura 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 passiamo attraverso un sacco di esempi. |
| |
Innanzitutto, gli script forniti con le tabelle dati. Quindi qui puoi vedere fianco a fianco, un esempio da una versione precedente di JMP. Penso che sia JMP 14 o 13, dove |
| |
dove dovevi tenere premuto il tasto del mouse su questo pulsante e poi si apriva una voce di menu e poi trovavi un pulsante Esegui per eseguire quello script. |
| |
Ma il nuovo modo ha solo un pulsante di riproduzione proprio accanto alla sceneggiatura. Quindi fai semplicemente clic su quel pulsante di riproduzione e salva tirando giù un menu. |
| |
Bene, non è una grande vittoria, pensi che solo la differenza tra fare clic su un pulsante e aprire un menu non sia molta. 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 che questi sono script. |
| |
E la capacità di memorizzare script con i tuoi dati è un grosso problema in JMP e vogliamo che le persone lo imparino subito |
| |
e non dover pescare intorno alle due o guardare una mancia per imparare che è così che funziona. Ed è una grande comodità poter memorizzare tutti i tuoi script |
| |
all'interno della tabella dati stessa e non trovare altri posti per memorizzarli. Quindi per i nuovi utenti il pulsante play. Quindi, questo è un sollievo dal dolore solo in quel semplice cambiamento. |
| |
E questo è un cambiamento che ci dispiace non aver apportato molto prima in JMP. |
| |
Parliamo della preparazione dei dati. E una delle grandi cose che devi fare quando prepari i dati è unire i dati da più fonti. |
| |
Ora JMP, anche dalla versione uno, doveva unirsi all'utilità. Ma ciò comporta ancora un dialogo complesso e il lavoro con più tabelle di dati. |
| |
Quindi ecco il classico esempio in cui sto noleggiando film e abbiamo la nostra tabella delle transazioni di noleggio film |
| |
che ha il cliente, il numero dell'articolo, la data dell'ordine, l'anno dell'ordine, e poi abbiamo il nostro inventario di film da noleggiare, dettagli su ogni film. E poi abbiamo i clienti... informazioni sui clienti e così via. E vogliamo fare domande, coinvolgere tutti e tre i tavoli come |
| |
quali generi sono prevalenti in quali generi di film. Beh, questo comporta |
| |
passando attraverso tutte e tre le tabelle e, naturalmente, il comando join è il modo per farlo. Prendo i dati delle transazioni e io |
| |
fonderlo con i clienti. E, naturalmente, l'ID cliente è la corrispondenza |
| |
colonna e voglio 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 si chiama join esterno sinistro, e quindi crea la nuova tabella di dati. E ora a quella tabella di dati, voglio unirmi a quella |
| |
ai dati di inventario. Quindi lo unisco con il numero dell'articolo che abbino quindi e che voglio anche un join esterno sinistro e ora ce l'ho |
| |
un altro tavolo. E così ora, invece di avere tre tabelle, ho cinque tabelle, i risultati di quell'unione, ma ora posso cercare di rispondere alla domanda genere per genere, che |
| |
genere tende ad affittare più di quale tipo di film. |
| |
E ha coinvolto anche la creazione di tutte queste nuove tabelle di dati intermedi. |
| |
Si scopre che c'è un modo molto più semplice di procedere e il dolore di questi passaggi e tavoli extra può essere notevolmente ridotto. Quindi lasciami disfare questo tavolo su questo tavolo. |
| |
E voglio sottolineare sotto il comando tables, c'è un comando chiamato JMP query builder e questo fa apparire la funzione sequel |
| |
per unire le tabelle, è molto più semplice di tutti quei dialoghi di unione, ma crea comunque 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 è l'unione virtuale. Quindi, se guardo questa tabella delle transazioni, |
| |
Ho notato che è già collegato. |
| |
Quindi quello che è successo è che quando ho preparato la tabella dell'inventario dei film, è stata identificata in modo univoco dal numero dell'articolo. E quindi do il numero dell'articolo allora |
| |
un ID collegamento che dice che è identificato in modo univoco da quello ed è così che 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 queste due chiavi esterne, in un certo senso, |
| |
un riferimento di collegamento e fa riferimento a diverse tabelle di dati tramite il, il ... l'ID identificativo su di essi. E così, lo collega automaticamente e ho già tutto ciò di cui ho bisogno per rispondere a questa domanda. Quindi posso fare |
| |
per ciascuno |
| |
sesso, posso |
| |
trovare il genere del film che voglio fare. E così posso vedere qui che i film d'azione piacciono di più ai maschi e i film per famiglie alle femmine e |
| |
rom com più dalle femmine e così via. Quindi ho risposto alla mia domanda coinvolgendo tre tabelle senza la necessità di passare attraverso tutti i join, perché è virtualmente unita abbinando quelle colonne ID attraverso le tabelle. |
| |
Così ho fatto |
| |
un sacco di sollievo dal dolore da quello. Quindi chiudiamolo, in effetti. |
| |
Quindi l'unione della tabella dei dati ha comportato, credo, molto sollievo dal dolore rispetto ai rilasci. |
| |
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 avviato con lo stesso del vecchio valore e quindi posso tagliare e incollare o modificare quei valori in ordine di ricodificare |
| |
in una nuova colonna o nella colonna esistente. |
| |
E la ricodifica di ogni versione ha subito notevoli miglioramenti e siamo molto entusiasti dello stato attuale. E quindi diamo un'occhiata a questo set di dati di ospedali, ospedali distrettuali. E ora la ricodifica è proprio sul |
| |
tasto destro o menu di scelta rapida nell'intestazione della colonna. E posso andare avanti e basta |
| |
seleziona un mucchio di cose e raggruppale in base a un nuovo valore, come la clinica. |
| |
Ma penso che ci siano anche molte scorciatoie. E una delle mie scorciatoie preferite è |
| |
per raggruppare valori simili. E così posso dare una certa soglia del numero di differenze di carattere e così via e raggrupperà automaticamente tutte quelle cose. Quindi raggrupperà tutti gli ospedali distrettuali con grafie leggermente diverse in uno solo. |
| |
E posso ancora... |
| |
sembra che ne sia mancato uno. Ma va bene, ora posso raggruppare quello con gli altri e |
| |
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 un sacco di fatica nel fare tutta quella ricodifica. |
| |
E, naturalmente, in JMP 15 abbiamo aggiunto nuove funzionalità, che non mostrerò qui, ma voglio sottolinearlo. Se hai un altro set di dati con tutti i file |
| |
...ha 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 per tutte quelle cose. COSÌ |
| |
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 passa dal 70 al 90% del nostro tempo a preparare i dati. E così, ridurre il dolore e ridurre il tempo di ciò diventa una vittoria importante. Quindi sollievo dal dolore durante la registrazione. |
| |
Cliccando 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 guardarlo in modo più dettagliato. E così posso trasformarlo in un collegamento. Quindi andiamo |
| |
trasformiamolo in una pagina wiki cosa pagina Wikimedia. Copierò quel testo lì e andrò alle informazioni della colonna e poi lo trasformerò in un collegamento, che è il gestore dell'espressione. |
| |
E ora posso prendere |
| |
Questo |
| |
table e convertirlo in un web |
| |
indirizzo. COSÌ |
| |
Vado su wikipedia.org e poi prendo il file |
| |
il nome di quella città e cambiarlo in maiuscolo e posso testarlo su quella riga e far apparire Albany. |
| |
E quindi 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 alla colonna info e ora invece di quello, lo farò |
| |
fare il caso del titolo su quello. |
| |
Vediamo se l'analisi va bene. E ora posso fare clic su Denver e interrogherà Denver e Google Maps. |
| |
Ok, quindi ho trasformato le cose in collegamenti da fare... posso fare ricerche, posso fare richieste di mappe e così via. posso anche |
| |
incolla questo discorso e fai clic su di esso e fallo pronunciare il nome della città. E quindi penso che questo dia un grande potere per poter memorizzare i collegamenti nelle nostre tabelle di dati |
| |
che si collegano a pagine Web o fanno altre cose, qualsiasi cosa tu possa esprimere con ACL, puoi fare con quei gestori di eventi. In modo che possa 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, allora |
| |
questo funziona non solo per i comandi di menu, ma anche per molti pulsanti e per ridimensionare le cornici dei grafici e fare altre cose, incollare 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 solo tenessi premuto |
| |
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 deseleziona 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, ad esempio il comando dei quantili, allora obbedirà a quel comando. |
| |
Ora funziona anche per alcune cose che hanno a che fare con i dialoghi stimolanti. Quindi diamo un'occhiata alle statistiche riassuntive. 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 dirò, va bene, e lo applicherà a tutti... |
| |
tutte le cose. Per farlo, è stato necessario |
| |
prendi i risultati di quel dialogo, creane una sceneggiatura e poi trasmetti quella sceneggiatura a tutti gli altri posti in quella finestra. |
| |
Ora questo non accade sempre. A volte quando ricevi un prompt, riceverai un prompt per ogni analisi. Per ogni rilascio ci proviamo |
| |
per implementare qualche dettaglio in più, in cui il dialogo viene fatto prima della trasmissione in modo che lo stesso dialogo venga trasmesso in ogni luogo disponibile. E, naturalmente, tutto il resto che posso trasmettere cambia 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 sembra rilevante per quella cornice. Quindi questa trasmissione diventa uno strumento molto potente. |
| |
COSÌ, |
| |
questo ha risparmiato molto dolore alla maggior parte di noi, ma ci sono ancora casi in cui potresti avere 40.000 per gruppi, 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 colonne formula. |
| |
Adoro le colonne formula. Quando si adatta un modello è possibile salvare una colonna di previsioni. Ma in quella previsione c'è una formula attiva in modo che tu possa esaminare quella formula, puoi modificarla, puoi applicarla ai nuovi dati che arrivano. Puoi profilarlo nella formula di salvataggio. Puoi |
| |
se hai |
| |
JMP Pro, puoi andare al deposito 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 hai per gruppi, ad esempio, il salvataggio delle formule ha molta sottigliezza in più. |
| |
Ad esempio, adattiamo, questi sono i dati sul diabete, dove adattiamo la risposta |
| |
contro tutti questi predittori e ma vogliamo farlo separatamente per ogni genere. |
| |
Quindi facciamolo. |
| |
E così abbiamo due gruppi per genere uno e genere due. E ora diciamo che vogliamo salvare |
| |
il valore previsto, infatti, per entrambi. Ora |
| |
nei vecchi tempi, prima che ci sottoponessimo a molti metodi per alleviare il dolore, |
| |
cosa accadrebbe quando lo salvi, andrebbe in una tabella di dati locale. Se guardi nella finestra della tabella dati sotto Ripristina, mostra la tabella per gruppo. |
| |
Quindi davvero per gender=1, c'è 235 in questa tabella di dati virtuali qui, che puoi mostrare per gender=1. C'è una variabile di tabella qui che mostra il gruppo per esso. |
| |
E lo salverebbe in questa tabella temporanea invece che nella tabella reale che hai che è davvero 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 genere=1, |
| |
e se guardo la formula per questo, mostra che se genere=1, quella era la clausola del gruppo, allora ha questa combinazione lineare che forma una previsione per quella variabile. |
| |
E poi se faccio gender=2 o se tengo 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 ogni volta una clausola a quell'output per gruppo. |
| |
A proposito, succede la stessa cosa quando salvi altre cose, quando salvo una colonna di residui, e questa volta teniamo premuto il tasto comando. |
| |
Se salvo una colonna di residui, la salverà per ogni gruppo, salverà il residuo appropriato per quel gruppo. È come se sottraessi la formula prevista dalla risposta originale, ma questa volta senza essere una colonna formula. |
| |
In quasi tutti i posti in JMP, non l'abbiamo fatto ovunque, ma lo abbiamo fatto nella maggior parte dei posti, salvando in un gruppo per |
| |
o in alcuni casi tramite una clausola where, lo salverà quindi nella tabella dati originale con la condizione nell'istruzione if. Ok, quindi è così |
| |
risparmiato un sacco di fatica. Se non fosse stato disponibile, tt è stato salvato in una tabella temporanea e quindi avresti dovuto tagliare e incollare quella formula e creare tabelle if nella tabella originale. Quindi abbiamo risolto questi problemi. Supponiamo ora che l'abbia salvato di nuovo, ho ripetuto l'intero processo, |
| |
E |
| |
e ha fatto un'altra cosa, diciamo con variabili diverse, alcune delle quali rimosse, |
| |
e ora l'ho salvato di nuovo. |
| |
COSÌ, |
| |
Salvo la formula di previsione, questa volta tenendo premuto il tasto di trasmissione, in realtà ne crea una nuova invece di salvarla in quella vecchia e aggiunge un 2 dopo di essa. Bene, come fa a non salvarlo in quello vecchio? |
| |
Bene, ogni adattamento ha un ID. E se guardo le proprietà |
| |
per ID, ha il numero ad esso, un numero univoco che viene rigenerato per ogni adattamento, e così fintanto che ha un diverso per ID, |
| |
i diversi per gruppi avranno lo stesso ID con uno per partizione. Ma fintanto che ha lo stesso ID, lo salverà nella stessa cosa. Altrimenti creerà un nuovo posto da formare per salvarlo. |
| |
Inoltre, ogni volta che diciamo valori predittivi, |
| |
soprattutto formule di previsione, |
| |
creerà un attributo il, il creatore e in alcuni casi altre informazioni. In questo caso ha la variabile target y, che è ciò che sta prevedendo e il creatore si adatta ai minimi quadrati. |
| |
E poi quando esegui altre piattaforme, ad esempio se hai il confronto del modello 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. |
| |
COSÌ, |
| |
le colonne formula funzionano aggiungendo nuove clausole e vengono utilizzate altre proprietà, incluso l'ID by. |
| |
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 risparmiare molto dolore. |
| |
COSÌ, |
| |
rimuovere gli effetti dai modelli. |
| |
Bene, diamo un'occhiata a un esempio |
| |
di adattamento |
| |
basta adattare l'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 di |
| |
polinomi del sesto ordine e così via. Ma ti fideresti che si adatta? |
| |
Si scopre che se dai al modello molta flessibilità introducendo termini polinomiali elevati o semplicemente introducendo più variabili, offre molte più opportunità di adattamento. E in questo caso lo è |
| |
è consentita la flessibilità di effettuare un'immersione profonda tra i dati precedenti e l'ultimo punto dati solo per adattarsi meglio a quell'ultimo punto dati. |
| |
E quindi è overfitting. È un modo ... sta usando quel parametro per adattare il rumore invece di adattare il |
| |
i dati stessi. |
| |
E quindi l'overfitting è un problema ogni volta che hai grandi modelli. COSÌ |
| |
vuoi adattare il segnale, non il rumore. Ok, i modelli grandi tendono a introdurre più variazioni nella previsione, perché la previsione, dopo tutto, lo è |
| |
una funzione della variabile y che stanno usando, ma anche quella variabile y è è una parte sistematica di quella variabile più la parte di errore di quella variabile se quella parte variabile |
| |
è casuale, allora 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 le dimensioni del modello o ridurre le dimensioni 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 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. |
| |
Pertanto, gli utenti spesso non lo apprezzavano finché 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 al fine di stimare l'errore su quel set di dati trattenuti. Ed ecco un esempio in cui ho... sto cercando di prevedere le proprietà concrete |
| |
a seconda di tutti questi ingredienti nel concreto, e ho un enorme modello per questo. E se eseguo solo quel modello, ma trattengo alcuni dati e guardo il quadrato R su questo, |
| |
Ho per SLUMP, ho una grande vestibilità. Ho un R^2 79, ma nel set di validazione che mi sta bene, ho un R^2 negativo. |
| |
Qualsiasi R quadrato negativo significa che si adatta peggio del semplice adattamento della media. Quindi se mi adattassi alla media, avrei un R quadrato pari a zero. Se mi adeguo a tutto questo modello, ho una R quadrata molto peggiore di quella. Quindi, con modelli di grandi dimensioni, puoi andare peggio che semplicemente adattare la media di cui è peggio |
| |
È una specie di anti-informativa perché il modello è così grande e non abbiamo avuto 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 eseguire questo modello e se, diciamo, voglio eliminare molte di queste cose non sono molto significative. Sai, l'età |
| |
ha un contributo totalmente non significativo al modello, quindi voglio eliminare l'età. Bene, allora lo farei, potrei tornare a adattarmi al modello e |
| |
ricordalo o e poi elimina l'età. Oppure c'è, posso semplicemente tornare al dialogo del modello direttamente qui e adattare l'età e rimuoverlo, ma potrei avere un lungo elenco 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. |
| |
Diversi rilasci fa, abbiamo introdotto un nuovo rapporto chiamato riepilogo degli effetti. |
| |
E con il riepilogo degli effetti, è banalmente facile creare sottoinsiemi del modello per fargli prevedere meglio, |
| |
dargli meno flessibilità. |
| |
Quindi posso dire, beh, età, posso rimuoverlo. |
| |
O, 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 indietro |
| |
tre delle variabili e posso annullarlo e riporta indietro l'età. Quindi in realtà memorizza, quando uso il riepilogo degli effetti per modificare il modello, in realtà memorizza un ricordo di tutte quelle cose. E se guardo quel copione, |
| |
Posso vedere questa storia. Quindi ogni volta che facevo un modello di effetto, memorizzava una clausola della storia. E quando eseguo l'annullamento, lo sto annullando per tornare a quella storia. |
| |
Quindi rimuovere è facile. Posso anche aggiungere cose. Se sottrassi queste due cose potrei aggiungerle di nuovo. Potrei aggiungere indietro, diciamo, l'età. |
| |
Non è una buona cosa da fare, ma posso farcela. Posso anche modificare il modello riportando una piccola versione del modello e |
| |
del dialogo del modello e aggiungere effetti composti e così via. |
| |
Ora un'altra cosa che accade con modelli di grandi dimensioni e |
| |
(lasciami annullare questo). |
| |
Con 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 il tasso di false scoperte. Quindi, 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 sottoinsieme del modello. E così posso applicare un falso tasso di scoperta |
| |
correzione ad esso. Quindi, invece del normale valore p, ho aggiustato il valore p per la falsa scoperta. E ora sono più realista. Quindi questo mi aiuterà con il problema dell'overfitting e l'ipotesi ... il problema del bias di selezione nel fare molti test multipli |
| |
cose. |
| |
COSÌ, |
| |
Ora |
| |
andiamo |
| |
fai l'argomento successivo e questo è trasforma. |
| |
Supponiamo |
| |
vuoi fare un modello, |
| |
Ma |
| |
invece di y, vuoi adattare il logaritmo di y. |
| |
Bene, prima di creare una nuova colonna nel set di dati, |
| |
Registrati, |
| |
e poi per Log y, tu |
| |
specificare un... |
| |
fai una formula |
| |
E posso prendere |
| |
un registro di esso. |
| |
E ora posso tornare alle specifiche del mio modello e farlo Log y |
| |
e poi ho avuto la mia forma. |
| |
Oh, manca, cosa ho fatto? |
| |
Ho dimenticato di inserire il |
| |
obiettivo, l'argomentazione. |
| |
E così ora posso |
| |
adatta il logaritmo di Y |
| |
E adesso |
| |
L'ho fatto. Ma facciamo il profiler. |
| |
Il mio profiler è in termini di registro di Y. Permettetemi di salvare il valore previsto. La mia formula di previsione è in termini di logaritmo di y, |
| |
e ora dovrò andare a modificarlo a mano... |
| |
quella formula e prendi l'esponenziale di quella |
| |
per riportarlo 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 |
| |
trasformarlo nel registro |
| |
e ora usalo direttamente lì come 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. Andiamo |
| |
rimuovi l'età in modo che si adatti un po 'meglio. |
| |
Ops. |
| |
Aveva selezionato anche quello. |
| |
E ora ho inserito la risposta Log y. |
| |
Quindi, se lo profilo, cosa ottengo? |
| |
Profilazione dei fattori, profiler. Invece di profilare il registro di y, profila y. Il profiler lo considera una trasformazione e dice, beh, posso invertire quella trasformazione e tornare alla scala originale. Ed è quello che fa. |
| |
Esso |
| |
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 l'originale |
| |
Stessa cosa quando salvo una colonna. Quando salvo la formula di previsione, |
| |
salva una formula di predizione sulla scala di y anziché sul logaritmo di y. |
| |
E quindi queste cose sono un incredibile risparmio di tempo e risparmiano un sacco di sforzi nell'uso delle trasformazioni. |
| |
Quindi c'è... |
| |
Lasciami |
| |
vai di nuovo al diabete |
| |
e fai un altro ... considera un'altra trasformazione. |
| |
Quando stai facendo variabile, |
| |
c'è una trasformazione Box-Cox che puoi ottenere. |
| |
E |
| |
tra i factor profiling, l'opzione Box-Cox |
| |
ti dice se hai trasformato un'intera gamma di funzioni di potere, |
| |
cosa, cosa sarebbe meglio fare? Dovrebbe essere solo non trasformato? Sarebbe un valore lambda Box-Cox di uno. |
| |
Se hai fatto zero, sarebbe equivalente a prenderne un registro. Se facessi -1, equivarrebbe a prenderne il reciproco. |
| |
Il potere al -1. Se facessi circa 0,5, equivarrebbe a ricavarne la radice quadrata. |
| |
E ti sta dicendo che questo modello si adatterebbe meglio su una scala di trasformazione aggiustata per quella trasformazione, se fosse più lungo la trasformazione della radice quadrata, dove lambda era .453. Questo è il valore ottimale nella trasformazione Box-Cox. |
| |
E puoi ingrandire questo |
| |
con una lente d'ingrandimento per ottenere |
| |
per ottenerlo più precisamente. |
| |
COSÌ, |
| |
Quindi ora posso trasformarmi, e diverse versioni fa |
| |
Posso...ho aggiunto diverse colonne. Uno è refit with 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 best è intorno a 1, che è dove dovrebbe essere, perché è già stato trasformato immediatamente dalla trasformazione Box-Cox. E ora posso salvare il valore previsto di questo e |
| |
profilarlo e così via. E posso anche annullarlo. Quindi, se non mi piace quella trasformazione e voglio tornare all'originale, posso tornare all'originale e rimontare. |
| |
COSÌ, |
| |
abbiamo risparmiato molto dolore |
| |
nel trasformare le risposte. |
| |
Così ora |
| |
c'è un dolore speciale, un posto speciale di dolore quando hai 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 disponiamo di analisi originariamente progettate per gestire piccoli problemi, potrebbe non essere appropriato per quelli grandi e il problema centrale con i grandi problemi è che c'è troppo output da risolvere. |
| |
Se adattando lo stesso modello a 1.000 variabili, ho 1.000 report 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 |
| |
ottenere in modo più efficiente molti set di dati di grandi dimensioni. Quindi abbiamo sviluppato il menu di proiezione, |
| |
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 i valori anomali, esplorano i valori mancanti, esplorano i modelli. Servono per controllare i dati e poi cercare associazioni, vagliare le risposte, |
| |
screening dei processi, screening dei predittori. E, naturalmente, la previsione delle serie temporali è un nuovo elemento. Non è nel menu di screening, 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 il tuo |
| |
il multiplo |
| |
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 dei processi è progettato per rispondere a questo. E quindi può ordinare in base alla stabilità o ordinare in base alla capacità (Ppk) o quali sono cattivi o ordinare in base a |
| |
misure della carta di controllo, conti fuori controllo e così via. |
| |
Ma ciò 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 adoro. Uno è il |
| |
la trama obiettivo che mostra |
| |
come si comporta ogni processo rispetto ai limiti delle specifiche e se è un processo capace è in questa zona verde qui. |
| |
Se è marginale, è in zona gialla. Se non lo è, è nella zona rossa, e se è in alto, ha troppa varianza. Se è da una parte dell'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 il |
| |
graphlets, l'aiuto al passaggio del mouse |
| |
così puoi vedere ogni processo mentre ci passi sopra. E poi l'altro |
| |
La trama che 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, allora 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 averne alcuni |
| |
cosa di stabilità che si aggira un po'. E se sei in zona gialla, lo sei |
| |
capace ma instabile e così via. La zona rossa è la brutta zona in cui sei sia incapace che instabile. E quindi esaminare centinaia o migliaia di processi è facile ora, dove prima era molto doloroso. |
| |
La domanda è: cosa è cambiato di più? Ecco alcuni dati del sondaggio dove |
| |
nel corso di molti anni diversi, hai posto una domanda sulle loro attività. Hai fatto |
| |
andare in campeggio? O giocare d'azzardo in un casinò? O hai avuto il raffreddore? Sai, tutte queste attività e vuoi sapere quale tra tutte queste attività (e c'è |
| |
Penso, 95 diverse attività) quale di queste ha fatto la differenza. E quindi stai cercando, sai... una cosa che potresti fare è esaminarne uno alla volta |
| |
e adattare tale attività per anno di indagine. |
| |
Invece di guardarne uno alla volta. Posso guardare lo screening della risposta |
| |
e basta guardare un grafico per vedere cosa è cambiato di più. |
| |
E quindi questo mostra un grafico per tutte e 95 queste cose. Innanzitutto, il significato in termini di log negativo del valore P, |
| |
che chiamiamo valore logaritmico, che viene aggiustato per il tasso di false scoperte. E quindi si prende cura di un po' di quel bias di selezione perché stai ordinando tutti quei valori p. |
| |
e selezionando il dietro...i valori P bassi. E trovo che il noleggio di una videocassetta sia cambiato di più, una videocassetta, e ovviamente sono diventati obsoleti. Quindi, ovviamente, è cambiato. |
| |
Un'altra videocassetta è cambiata molto, le cose raccolte per il riciclaggio sono cambiate molto, le persone intrattenuti a casa mia 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 cosa è 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 di loro? E posso guardare il rapporto Esplora 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 ne hanno molti. Quindi quando faccio un'analisi, un'analisi multivariata, probabilmente non voglio includere |
| |
376 su 452 variabili. O se voglio includere J, posso andare avanti |
| |
e imputare quei valori mancanti |
| |
facendo così, ok. |
| |
COSÌ, |
| |
Prossima domanda, i dati hanno valori anomali? |
| |
Bene, ho 387 misurazioni, lo faccio in questo processo. E voglio scoprire se ci sono valori anomali lì dentro. Quindi ora abbiamo una struttura per farlo nel menu di screening. Io posso |
| |
renderlo più o meno sensibile. |
| |
Rendiamolo più sensibile |
| |
quindi ci sono meno valori anomali e nuova scansione. |
| |
posso guardare |
| |
A |
| |
i nove. Molto 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 quindi posso, per quelli, posso dire bene aggiungere quei nove ai codici dei valori mancanti e ora la memoria è cambiata. |
| |
E ora posso |
| |
torna indietro (ci sono molte variabili qui) e ripeti la scansione e ci sono meno valori mancanti di cui preoccuparsi. |
| |
Quindi esplorare i valori anomali era una seccatura. |
| |
Può ancora essere un grosso lavoro, ma è molto più facile di prima. |
| |
Ora, nella versione 15, abbiamo aggiunto un'altra piattaforma di screening. I dati hanno schemi sospetti? E quindi ecco alcuni dati di laboratorio della sperimentazione clinica. Questi sono dati di laboratorio sulla nicardipina. Ci sono 27 risultati di laboratorio che potrei voler esaminare. E così invoco |
| |
la nuova piattaforma, esplora i valori mancanti. E questo mi mostrerà, ho una serie di valori? Quindi ho il valore .03536 ma ce ne sono sette di fila, a partire dalla fila. |
| |
2065. Posso colorare quelle celle, e posso guardare quei valori, e forse è l'ultimo valore riportato, 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 stiamo iniziando dalla riga 2816 e anche dalla riga 3034, ce ne sono quattro di fila che avevano gli stessi valori. Quindi se colorizzo quelle cose, ce ne sono quattro di fila lì. E se io |
| |
vai alla sequenza successiva, ce ne sono quattro di fila che hanno gli stessi valori. Quindi potrebbe essere un sintomo di tagliare e incollare gli stessi valori da un posto all'altro. |
| |
Quindi esplorare 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. |
| |
COSÌ, |
| |
esplorare i modelli parte della risoluzione di grandi problemi. |
| |
COSÌ, |
| |
Sollievo dal dolore. Gran parte del nostro sviluppo si concentra sul rendere il flusso di analisi più fluido, meno oneroso, meno dispendioso in termini di tempo e meno doloroso. Analgesici. |
| |
Ora non sempre sappiamo cosa è doloroso. Quindi dipendiamo dal feedback su cosa concentrarci. Quando riceviamo quelle e-mail in cui ho dovuto rispondere a un prompt centinaia di volte, |
| |
l'abbiamo ascoltato e sentiamo 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 un dialogo piuttosto che dialogare molte volte. Quindi inviarlo lo ha reso migliore per tutti gli altri, perché non l'abbiamo preso la prima volta. Quindi, per favore, dacci il tuo feedback. |
| |
Con tutti i miglioramenti che abbiamo già apportato, pensiamo che il processo di preparazione e analisi dei dati sia già diventato molto più agevole, molto meno interrotto, più in,flow. |
| |
COSÌ, |
| |
invece di passare il tempo a superare gli ostacoli, passi il tempo a imparare dai tuoi dati, a comprenderli. |
| |
analitica. Ci si potrebbe chiedere se provenissero dalla stessa radice, ovviamente, non ci piace abbreviare queste due parole. |
| |
Analytics viene dal greco analyein, e non so come pronunciarlo. |
| |
Ma in greco significa rompere, rilasciare o liberare. E prendere qualcosa di complicato e scomporlo in pezzi in modo che possiamo capirlo. |
| |
E questo è, ovviamente, esattamente ciò che facciamo con l'analisi dei dati, la scienza dei dati. E analgesici deriva da una diversa combinazione di parole \!"an-\!" significato senza, e \!"algesis,\!" che è il senso del dolore. Quindi stesso prefisso, radici diverse...un po' diverse. |
| |
E non abbreviarli. |
| |
anabolizzanti e afrodisiaci. Ci preoccupiamo per il potere. |
| |
Gran parte di ciò che facciamo è fornire 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à di 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. |
| |
Quindi cosa faremo l'anno prossimo? |
| |
Beh, paroloni che iniziano con la lettera B. |
| |
Inizia con A, poi c'è B, giusto? |
| |
Bene, l'anno prossimo abbiamo JMP 16 in arrivo. E quindi è di questo che parleremo. Chissà di cosa parleremo l'anno dopo. Quindi grazie mille. E speriamo che tu soffra pochissimo nell'analizzare i tuoi dati. |
| Jeff Perkinson |
Grazie mille, Giovanni. Lo apprezziamo. È stato un discorso fantastico ed essendo stato testimone di molto dolore nel corso degli anni, |
| |
è tutto ciò che dici è assolutamente vero. Il sollievo dal dolore è una cosa importante per noi. |
| |
Avevamo una domanda che è arrivata, in realtà, una serie di domande; abbiamo risposto ad alcuni di loro nelle domande e risposte, ma quello che volevo lanciarti |
| |
sia come sollievo dal dolore che ha fornito una certa attrazione e ha reso JMP più potente? |
| John Sal |
Bene, penso che la grande gioia di tutti sia Graph Builder. |
| |
Sembra incredibilmente potente trascinare semplicemente quelle variabili e fare qualche altro clic e hai il grafico che desideri e puoi cambiarlo così facilmente. |
| |
Quindi è, è un brivido. È una caratteristica potente e allevia il dolore; prima era più difficile da fare. Quindi penso che sia la cosa preferita da tutti. |
| |
Ma ovviamente c'è... JMP è un prodotto ricco e siamo orgogliosi di tutto ciò che contiene. Progettazione di esperimenti, tutti |
| |
il grande potere coinvolto lì e abbiamo cercato di rendere anche questo processo facile. E tante cose mi vengono in mente. |
| Jeff Perkinson |
Molto bene. Grazie mille Giovanni, lo apprezzo. Se ti è piaciuto questo discorso, ho due suggerimenti per te. Uno, pubblicheremo questo |