Altoparlante | Trascrizione |
| Giordano Hiller | uscire. |
| Phil Kay | Ok, bene, grazie per esserti unito a noi. Sono Phil Kay. Sono il responsabile dell'apprendimento presso JMP e inizierò questa presentazione con un esempio interattivo di SVEM, che è la modellazione di ensemble auto-convalidata. |
| Approfondirò cos'è SVEM e il meccanismo di come funziona e poi Pete e Trent condivideranno esempi, |
| casi di studio e simulazioni, che spiegano davvero perché vorresti farlo. Lo presenterò solo su a |
| caso di studio molto semplice, quindi potrebbe non sembrare inizialmente il motivo... potrebbe non sembrare chiaro il motivo per cui vorresti farlo, ma spero che capirai il meccanismo dopo averlo spiegato. |
| Ok, ora interrompo il mio video e mi concentro solo sulla dimostrazione del software qui. |
| Abbiamo qui un diario di JMP, che condividiamo con voi, quindi potete accedervi dal post nella community di JMP su Community.JMP.com. |
| E l'esempio che useremo è un classico esempio DOE. Questi sono i dati di rimbalzo, che puoi ottenere dai file della guida in JMP. |
| Quindi sono tre fattori, 15 corse. È un design Box-Behnken e abbiamo una risposta lì, che è elastica, quindi davvero molto semplice, standard, |
| Ttadizionale DOE vecchio stile. |
| E non c'è una vera sfida con la modellazione di questi dati, e vediamo se adattiamo un modello di superficie di risposta che questi comportamenti curvilinei, questi effetti quadratici e anche quelle interazioni tra fattori che si rivelano importanti. |
| Quindi vediamo come potremmo modellarlo usando l'approccio SVEM. |
| Quindi, se lo modelliamo usando SVEM, la prima cosa che noterai è che abbiamo 30 righe di dati, quindi abbiamo effettivamente duplicato ogni riga di dati, il che può sembrare un po' folle. Può sembrare un imbroglio. Questo è un trucco chiave nella metodologia SVEM. |
| Vedrai che abbiamo alcune colonne aggiuntive qui, e quella chiave è questo peso di convalida. Quindi disegniamolo così puoi vedere cosa significa. |
| Quindi puoi vedere che, per ciascuna delle nostre righe di dati, ciascuna delle nostre esecuzioni, abbiamo effettivamente coppie di esecuzioni, quindi esecuzione numero uno, puoi vedere qui. |
| In realtà stiamo ponderando ciascuna di queste esecuzioni nel set di addestramento, che è pari a zero, o nel set di convalida, che è uno. E puoi vederlo per ogni coppia |
| tali ponderazioni sono inversamente proporzionali. Quindi, ad esempio, esegui il numero sette qui, puoi vedere che ha un peso elevato nell'addestramento, set di convalida pari a zero e corrispondentemente ha un peso basso nel set di convalida. |
| Ora quelli sono stati assegnati in modo casuale e possiamo... |
| cliccando qui, possiamo ridisegnarli, così possiamo riassegnare i pesi. E ancora, se una riga ha un peso elevato nel set di allenamento, quindi ad esempio, la riga numero sei qui ha un peso elevato nel set di allenamento, avrà un peso corrispondentemente basso nel set di convalida. |
| Quindi stiamo raddoppiando le nostre righe di dati qui. |
| E lo useremo per l'auto-convalida. Quindi quello che possiamo effettivamente fare è usare una variante sulla convalida trattenuta, dove |
| invece di trattenere completamente una riga di dati nel set di convalida, ciò che faremo è trattenere parti di ciascuna riga di dati, in modo tale che ciascuna riga possa effettivamente trovarsi all'interno del set di addestramento e del set di convalida e, cosa importante, possiamo riassegnare quei pesi |
| ripetutamente, il che andrà bene quando si tratta della modellazione dell'insieme. |
| Ok, quindi, giusto per riassumere, abbiamo... praticamente abbiamo raddoppiato ogni riga di dati e stiamo assegnando pesi a quelli in modo tale che alcune righe saranno più nell'addestramento e altre saranno più nel insieme di convalida. |
| Quindi ora possiamo adattare un modello usando la convalida. |
| Quindi stiamo usando GenReg qui, e puoi vedere che stiamo usando un set di convalida (e semplicemente ignoriamo il messaggio di errore lì). |
| Stiamo usando Lasso e stiamo usando la convalida come selezione del modello. E, in questo caso, in realtà non è selezionato alcun effetto attivo nel modello. Quindi si adatta a un modello di superficie di risposta e abbiamo utilizzato la convalida come metodo di selezione, utilizzando il lazo, |
| e abbiamo determinato che nessun effetto è effettivamente attivo, quindi abbiamo un modello con effettivamente nessun effetto attivo. |
| Quello che possiamo quindi fare è ridisegnare di nuovo quei pesi, così possiamo riponderare le nostre colonne. |
| E possiamo vedere, questa volta otteniamo un modello diverso. Quindi in realtà alcuni degli effetti ora diventano attivi, quindi la silice è attiva in questa interazione tra silice e zolfo. |
| Salviamo quel modello. |
| Quindi ora, con il nostro |
| tabella dei dati, puoi vedere che abbiamo una colonna della formula del modello salvata lì. |
| Ridisegniamo di nuovo quei pesi. Quindi ancora una volta le stiamo ridisegnando, in modo tale che alcune righe siano più pesantemente nell'addestramento, altre più pesantemente nella convalida. |
| E abbiamo di nuovo un modello diverso e salviamolo ora. Quindi ora abbiamo |
| due righe di...due colonne con formule di previsione salvate. |
| E possiamo farlo di nuovo. Quindi ridisegno i pesi e salverò la formula di previsione. Ho solo una sceneggiatura che lo fa per noi. E in realtà quindi crea questa media del modello, quindi abbiamo effettivamente calcolato la media dei nostri tre modelli salvati. |
| Quindi ogni singolo modello utilizzava una ponderazione di convalida diversa. |
| Ogni modello era diverso, alcuni erano migliori di altri. Il punto chiave è che quando facciamo la media di quelli insieme, |
| la media di questi è il miglior modello finora. Quindi puoi vedere che in realtà sembra abbastanza vicino al modello originale che abbiamo adattato usando metodi standard sullo standard ... |
| il set di dati originale. |
| E possiamo continuare a farlo. Possiamo farlo 10 volte, quindi lo ripeteremo. E puoi vedere ridisegnare i pesi; ogni volta otteniamo un modello leggermente diverso. |
| E possiamo salvare ciascuno di quei diversi modelli. |
| E alla fine si finisce con una media che è probabilmente il miglior modello. |
| E, infatti, se lo confrontiamo con il modello originale che abbiamo visto dall'analisi standard di questi dati, |
| puoi vedere che i due modelli sono in realtà in stretto accordo. |
| Quindi, in questo caso, l'utilizzo di questo modello di ensemble auto-convalidato è davvero arrivato allo stesso modello che otterremmo utilizzando lo standard |
| regressione lineare. |
| Quindi voglio esaminare i punti chiave di ciò che hai visto lì. E come ho detto, passeremo a Pete e Trent, che spiegheranno la motivazione per voler usare questa nuova tecnica di modellazione. |
| Quello che abbiamo fatto è stato duplicare le righe di dati originali. |
| Quindi ciò significa che possiamo applicare una ponderazione casuale per dire quanto di ogni coppia di righe è in addestramento rispetto alla convalida. |
| Questo ci consente di utilizzare la convalida. Non saremmo in grado di usarlo per un set di dati così piccolo. Non avrebbe senso mostrare completamente una riga di dati, ma cosa possiamo fare con questo set duplicato |
| è avere una validazione ponderata. Quindi in questo caso adattiamo un modello utilizzando la selezione Lasso e tale selezione Lasso ha utilizzato questa colonna di convalida ponderata. |
| Quindi ridisegniamo quei pesi. Assegniamo di nuovo in modo casuale pesi diversi a quelle coppie di righe e riadattiamo il modello. E, nel nostro caso, l'abbiamo ripetuto 10-15 volte, ma in pratica per ottenere un buon modello di ensemble auto-convalidato, vorremmo ripetere questo processo 100 o più volte. |
| E ogni modello è se stesso ... ogni singolo modello in ogni fase di quel processo iterativo non è particolarmente utile, ma la media del modello o l'insieme è, come abbiamo visto con il nostro modello finale che abbiamo ottenuto come media di tutte quelle iterazioni . |
| Quindi, ora voglio consegnarlo a Pete e ora parlerà di un caso di studio, che in realtà illustra perché vorresti usare questo metodo insolito per modellare dati come questo. |
| Pietro Hersch | Grazie mille, Phil. Vado avanti e condivido il mio schermo qui. |
| E facciamo un esempio su quando potremmo |
| usa questo metodo. Quindi eccomi qui |
| guardando prima i risultati, quindi stiamo esaminando un paio di progetti che sono DOE molto piccoli, quindi un DOE a sei esecuzioni, otto esecuzioni 10, con tre fattori. |
| E questi sono progetti di superficie di risposta che sono da super saturi a saturi in natura e sono tutti progetti ottimali, quindi si tratta di un numero molto ridotto di corse |
| per raggiungere il nostro obiettivo qui. Quindi è qui che stiamo andando. Quindi torniamo indietro e parliamo del design e poi di come siamo arrivati qui. |
| COSÌ. |
| Questo è un caso di studio in cui stiamo cercando di massimizzare il tasso di crescita di un microbo regolando diverse combinazioni di nutrienti. E come ho detto prima, stiamo usando un design ottimale super saturo e stiamo regolando il numero di corse. |
| E questi sono dati simulati, in cui sono attivi tutti gli effetti principali, così come tutti i quadratici. |
| Quindi, come è stato impostato, abbiamo iniziato con i nostri tre fattori. Ho disegnato il mio modello. Se non hai mai progettato un progetto saturo o super saturo in JMP, |
| il modo per farlo è trattare quegli effetti che non sono gli effetti principali come se possibile, e questo ti permette di avere meno corse o la stessa quantità di corse degli effetti del modello. E così ho generato lì i miei progetti. |
| E ha attraversato questo processo che Phil ha descritto così magnificamente lì di ricampionare i dati, ottenere quei pesi invertiti ... inversamente proporzionali, che sono la chiave di questo processo. |
| Abbiamo un paio di discorsi che sono stati fatti e ho solo codici QR per quelli. |
| Questa tecnica è stata sviluppata da Chris Gotwalt e Phil Ramsey e hanno introdotto la tecnica in alcuni discorsi precedenti. E quest'ultimo |
| Il codice QR era un componente aggiuntivo che impostava questa colonna di convalida nelle versioni precedenti di JMP. A partire da JMP 16, puoi farlo in modo nativo nel software, ma se hai JMP 15, dovrai utilizzare questa configurazione aggiuntiva. |
| E come ha detto Phil, così an |
| il modello individuale potrebbe non adattarsi molto bene ai dati, alcuni andranno bene, altri non avranno alcun termine. |
| Ma questo è solo un esempio qui, dove puoi vedere ogni singolo modello. Alcuni sono solo un'intercettazione, altri sono adattamenti piuttosto scadenti e il modello occasionale funziona piuttosto bene. |
| E quindi questo è come descritto da Phil, ognuno di questi ha un peso ricalcolato diverso. E quindi stiamo ottenendo un modello leggermente diverso e andremo avanti e li salveremo. Quindi questo è il primo passo lì. |
| E poi il passo successivo è la media di quei modelli. E come puoi vedere, man mano che fai la media di quei modelli, sempre più modelli, l'adattamento del modello migliora sempre di più. Quindi i singoli modelli non sono eccezionali, ma il modello medio complessivo ci offre un buon adattamento. |
| E l'ultimo passo di cui volevo parlare era che questi modelli sono prevenuti per natura. Come hai visto con il primo modello realizzato da Phil, non c'erano effetti attivi. COSÌ |
| quando esegui una tecnica di selezione di modelli o variabili con il tuo modello, occasionalmente otterrai un modello in cui quella variabile specifica non entra. |
| Quindi, se guardiamo qui a queste distribuzioni, potete vedere |
| tutti questi sono effetti attivi e hanno una distribuzione intorno a 5, che è la dimensione dell'effetto, ma hanno anche questa barra quaggiù che è 0. |
| Quindi non sopravvaluteremo l'effetto tutte le volte che otteniamo 0 per controbilanciare questo, quindi questo sarà distorto su un valore inferiore, quindi faremo un |
| piccolo trucco per screditare questi modelli, dove noi |
| tratta questo modello come un predittore in un modello dei minimi quadrati, e questo rimuoverà quei pregiudizi e illustrerò questo processo per mostrarti come è fatto. |
| Ma alla fine otteniamo quel bellissimo risultato che ho condiviso con un numero molto limitato di corse. Quindi questa è una specie di motivazione per cui dovresti usare SVEM è la capacità di prevedere e creare un modello decente con meno corse di quanto potresti senza usare questa tecnica. |
| Va bene, quindi passiamo a JMP qui |
| E |
| percorrere quel processo. |
| Ok, quindi ecco il DOE a sei esecuzioni di quell'esempio che ho mostrato, dove abbiamo i nostri tre fattori e il nostro tasso di crescita. E questo è dopo che abbiamo costruito il modello. |
| Questo è quello che sembra e ci siamo passati e corriamo ora. Quindi abbiamo le nostre sei corse con i nostri sei risultati. Il nostro prossimo passo è creare quella colonna di convalida e per farlo all'interno di JMP, andremo solo ad analizzare la modellazione predittiva, |
| crea una colonna di convalida, e quindi invece di una colonna di convalida, creeremo una tabella di convalida automatica. |
| Ok, ed è così che l'ho fatto. L'ho già fatto e fatto, quindi non ripeterò il processo. |
| Ma ecco quei dati con i dati ricampionati e quel peso inversamente correlato, come ha dimostrato Phil. Hai un peso elevato unito a un peso ridotto della corsa ripetuta. Dopo averlo fatto, esaminiamo e realizziamo il nostro modello. |
| In questo caso, ho usato un modello GenReg e vuoi selezionare una delle tecniche di selezione delle variabili. Quindi, se vado avanti ed eseguo questo, voglio fare qualcosa come la selezione in avanti Lasso |
| oo una di quelle tecniche di selezione. E Trent entrerà più in dettaglio su quelle tecniche di selezione e su quali hanno studiato. |
| Quindi, dopo aver eseguito il modello, vedrai che JMP ha esaminato e selezionato alcuni effetti attivi. Ne ha catturati alcuni, ma potete vedere qui |
| quella distorsione che stiamo vedendo, dove entrambi questi effetti principali dovrebbero essere attivi, ma sono risultati pari a 0. Quindi, quando lo salvo nella tabella dei dati, |
| Creerò una nuova colonna come ha mostrato Phil e poi ricalcolerò quel peso e lo farò più e più volte. Ed ecco un semplice script per farlo 100 volte, e |
| saremo felici di condividerlo. E questo è molto semplice, basta copiare e incollare il tuo script, il tuo script modello qui ed essere in grado di riprodurre ciò che abbiamo fatto qui. |
| Ok, quindi ecco il risultato finale, dove siamo passati con il nostro DOE, i nostri risultati, e poi abbiamo |
| i 100 modelli, che ho salvato |
| e nascosto qui. E poi il modello finale, che è |
| una media di tutti i 100 di quei modelli. E l'ultimo passo che vogliamo fare è quello di debiasing. Quindi tutto quello che faremo è trattare questo |
| modello medio come predittore del tasso di crescita. |
| Quindi qui puoi vedere il modello originale che abbiamo |
| ha una pendenza molto più ripida, quindi ha un discreto R al quadrato, ma non è così buono come speravamo di fare. Voglio dire, anche con sei tiri questo... sei tiri va bene, ma |
| se riusciamo a rimuovere quel pregiudizio, forse possiamo fare un po' meglio. Quindi una configurazione davvero semplice. Prendiamo solo il tasso di crescita. La nostra risposta è la nostra Y. Aggiungiamo il |
| modello di ensemble qui, media di tutti quelli |
| modelli individuali, come nostro predittore. Lo eseguiamo e otteniamo un risultato, e puoi vedere che è una trama molto migliore rispetto a quella prevista. E se eseguiamo un confronto lì, puoi vedere che rimuovere quel pregiudizio ha un grande effetto nella direzione positiva. |
| Giusto e quindi prima di restituirlo a Trent, volevo mostrarne un altro |
| slide qui, che è fondamentalmente solo un riassunto di |
| che noi... (ho perso la mia barra delle applicazioni eccola)... che vi incoraggiamo vivamente a usare |
| e dai un'occhiata a questa tecnica, ma non è una tecnica magica che funzionerà sempre in ogni situazione. Ma quando controlli questo nei progetti di screening e cose del genere, questa potrebbe essere una tecnica molto carina che lo farà |
| aiutarti a realizzare cose che potresti non essere stato in grado di fare con le tecniche di modellazione standard. E con questo, lo passerò a Trent che l'ha fatto |
| un po 'più di dettaglio su come questo è fatto e il |
| informazioni lì. Quindi Trent, vuoi portarlo via? |
| Trento Lemkus | Sì, grazie, Pietro. Lo apprezzo. |
| COSÌ |
| Condivido il mio |
| PDF. Voglio solo assicurarmi che si tratti effettivamente di condivisione e che tutti possano vederlo. |
| Pietro Hersch | Sì. |
| Trento Lemkus | Ok fantastico. COSÌ |
| mentre Phil e Peter hanno presentato, hanno presentato casi di studio, che penso siano aneddoti fenomenali che mostrano il potere di SVEM e quando e perché usare SVEM. |
| Quello che abbiamo fatto per il nostro documento di ricerca che è attualmente sottoposto al processo di revisione tra pari è che abbiamo condotto una quantità eccessiva di studi di simulazione per mostrare... per vedere empiricamente come SVEM si comporterebbe in un contesto predittivo. COSÌ |
| il prossimo... ho una serie di diapositive che mostrerò. So che può sembrare un po' noioso e arido, ma penso che sia imperativo solo discutere i dettagli |
| prima di entrare in qualcosa di un po' più divertente, che è un esempio di come abbiamo usato... |
| come abbiamo utilizzato JMP, JSL e come ho eseguito le simulazioni come esempio e per mostrarti l'aspetto di parte dell'output, nonché i risultati. |
| Quindi, prima di tutto, lo schema e gli obiettivi dei nostri studi di simulazione erano principalmente |
| volevamo creare un'architettura di simulazione del mondo reale. Quindi volevamo che le nostre simulazioni imitassero il DOE industriale del mondo reale il più umanamente possibile. |
| E in secondo luogo, volevamo vedere come si comportano le tecniche contemporanee di costruzione di modelli o di selezione di modelli contemporanei, nonché SVEM quando si concentrano principalmente sulla previsione pura, |
| chiaro e semplice. Quindi volevamo vedere quando adattiamo un modello a un progetto, come prevede una verità o un insieme di dati di controllo, o scusa il mio accento, i dati. |
| E da questo, se possiamo simulare queste esecuzioni uniche tutte le volte che è fattibile dal punto di vista computazionale, vogliamo rendere il mondo reale inferenziale ... vogliamo fare ... dedurre i risultati del mondo reale il più vicino possibile in modo che noi Potere |
| prescrivere le impostazioni e dove e come utilizzare SVEM, poiché SVEM è così nascente. |
| Quindi, prima di tutto, quali progetti abbiamo utilizzato nelle nostre simulazioni? Abbiamo utilizzato progetti di screening definitivi |
| e abbiamo utilizzato i progetti Box-Behnken in cui il vero modello di generazione sottostante nei nostri progetti erano modelli quadratici completi, o più colloquialmente noti come modelli di secondo ordine. E il motivo per cui abbiamo scelto questi progetti è perché A) per i progetti di screening definitivi, il |
| più effetti principali hai, più i modelli diventano saturi e poi super saturi, il che significa che hai molti meno gradi di libertà più alti diventano gli effetti principali. Mentre con i tuoi disegni Box-Behnken con gli effetti principali che abbiamo usato, |
| non ti imbatti in quello scenario. Quindi abbiamo... abbiamo una giustapposizione tra due scenari, dove in una mano abbiamo |
| adeguati gradi di libertà con i nostri progetti Box-Behnken per stimare i nostri coefficienti quando si applica una tecnica di selezione del modello, e nel caso del progetto di screening definitivo, abbiamo quasi |
| nella maggior parte dei nostri casi, avevamo un design super saturo, quindi avevamo una quantità inadeguata di gradi di libertà. Quindi, in altre parole, in poche parole, |
| non siamo riusciti a stimare tutti gli effetti quando si utilizzano tecniche di costruzione di modelli contemporanee, come le tue selezioni in avanti, come i tuoi lazo, i selettori Dantzig e così via, |
| che ci porta a quali algoritmi del modello effettivo abbiamo utilizzato per le nostre simulazioni. Quindi per i modelli SVEM, tenendo presente che se tu... |
| se non hai una buona comprensione di cosa sia SVEM, è molto importante che torni ad alcune delle presentazioni precedenti a cui si riferiva Peter. |
| Ma dobbiamo usare SVEM con una tecnica di costruzione del modello sottostante, come selezione in avanti, pruned forward e Lasso, che è ciò che usiamo per i nostri studi di simulazione. |
| Nei nostri casi modello non SVEM, utilizziamo gli stessi algoritmi di costruzione del modello, ma abbiamo anche incorporato il Dantzig Selector, che è piuttosto popolare in DOE, |
| così come il design dello screening definitivo adatto, che è pertinente esclusivamente allo screening definitivo; non è utilizzato su altri design. |
| Inoltre, utilizziamo un criterio informativo chiamato AICc o AIC corretto, che è molto comune nel DOE ed è in realtà abbastanza noto per selezionare modelli molto parsimoniosi. |
| Quindi, come puoi vedere, stiamo cercando di incorporare tecniche contemporanee che sono molto attuali nell'uso del DOE industriale, che si attiene al nucleo... al punto centrale che ho mostrato nella diapositiva iniziale, che è |
| vogliamo imitare il mondo reale il più vicino possibile umanamente con i nostri studi di simulazione, così possiamo rendere questi... |
| quindi possiamo valutare empiricamente come questi diversi algoritmi di costruzione di modelli si comportano in modo predittivo. E si spera di poter dimostrare empiricamente che SVEM si comporta o supera la concorrenza. |
| Quindi, per la struttura di simulazione effettiva, abbiamo eseguito 1.000 simulazioni per ogni algoritmo di costruzione del modello. Quindi, per esempio, se stessimo adattando un modello forward con AICc, |
| ognuna di quelle 1.000 corse genereremmo un vero modello, la verità, e poi aggiungeremmo rumore o. |
| rumore gaussiano (che è molto comune nel mondo accademico e in e ... quando si eseguono ricerche), |
| creando così un set di addestramento, se vuoi, e un set di verità in modo che, una volta adattato un modello, possiamo vedere come quel modello predice contro la verità. E rieseguiamo e rigeneriamo quei set di dati in modo casuale 1.000 volte. |
| L'iperparametro SVEM, che non entrerò in quello che è, abbiamo usato un nBoot di 200. In poche parole, stavamo praticamente adattando 200 modelli e stiamo calcolando la media di quei modelli per produrre il nostro modello SVEM finale. |
| I progetti sono stati anche iterati su diverse funzionalità. Quindi il numero di effetti principali |
| per i progetti di screening definitivi, avevamo quattro effetti principali e otto effetti principali. Per i nostri progetti Box-Behnken, abbiamo avuto |
| tre effetti principali e cinque effetti principali. Ciò significa, solo per darti un esempio, per il nostro DSD, ad esempio, dove K è otto, hai otto effetti principali. Se hai un modello quadratico completo, |