| Oratore |
Trascrizione |
| Mia Stephens |
screening del modello. |
| |
Se lavori con la modellazione predittiva, scoprirai che lo screening dei modelli ti aiuta a semplificare il flusso di lavoro della modellazione predittiva. |
| |
In questa presentazione fornirò una panoramica della modellazione predittiva e parlerò dei diversi tipi di modelli predittivi che possiamo utilizzare in JMP. |
| |
Parleremo del flusso di lavoro della modellazione predittiva all'interno del più ampio flusso di lavoro di analisi e vedremo come lo screening dei modelli può aiutarci a semplificare questo flusso di lavoro. |
| |
Parlerò di alcune metriche per confrontare modelli concorrenti utilizzando dati di convalida e vedremo un paio di esempi in JMP Pro. |
| |
Per prima cosa parliamo un po' della modellazione predittiva e di cosa è. |
| |
Probabilmente hai già avuto a che fare con l'analisi di regressione, e la regressione è un esempio di modellazione esplicativa. E nella regressione siamo tipicamente interessati a costruire un modello. |
| |
per una risposta, o Y, in funzione di una o più X, e potremmo avere obiettivi di modellazione diversi. Potremmo essere interessati a identificare variabili importanti. Quindi, quali sono le X chiave, o variabili di input chiave, |
| |
ad esempio, in un contesto di risoluzione dei problemi su cui potremmo concentrarci per affrontare il problema? |
| |
Potremmo essere interessati a capire come cambia la risposta, in media, in funzione delle variabili di input. |
| |
una variazione di un'unità in X è associata a una variazione di cinque unità in Y. Questa è quindi una modellazione esplicativa classica e se hai studiato statistica a scuola, è probabilmente così che impari la regressione. |
| |
Ora, per fare un paragone, la modellazione predittiva ha un obiettivo leggermente diverso. Nella modellazione predittiva, il nostro obiettivo è prevedere o classificare accuratamente i risultati futuri. |
| |
Quindi, se la nostra risposta è continua, vogliamo essere in grado di prevedere la prossima osservazione, il prossimo risultato, nel modo più preciso e accurato possibile. |
| |
E se la nostra risposta è categorica, allora siamo interessati alla classificazione. E ancora una volta siamo interessati a utilizzare i dati attuali per prevedere cosa accadrà a livello individuale in futuro. |
| |
Potremmo adattare e confrontare molti modelli diversi, e nella modellazione predittiva potremmo anche utilizzare modelli più avanzati. Potremmo utilizzare tecniche di apprendimento automatico come le reti neurali. |
| |
Alcuni di questi modelli potrebbero non essere così facili da interpretare e molti di essi hanno molti parametri di ottimizzazione diversi che possiamo impostare. Di conseguenza, con la modellazione predittiva potremmo avere problemi di overfitting. |
| |
Ciò che si intende per overfitting è che adattiamo un modello che è più complesso del necessario. |
| |
Quindi, con la modellazione predittiva utilizziamo generalmente la convalida e possiamo utilizzare diverse forme di convalida. |
| |
Utilizziamo la convalida per il confronto e la selezione dei modelli e, fondamentalmente, protegge sia dall'overfitting che dall'underfitting. |
| |
E l'underfitting si verifica quando adattiamo un modello che non è così complesso come dovrebbe essere. Non cattura realmente la struttura dei nostri dati. |
| |
Ora, nell'appendice alla fine delle diapositive, ho estratto alcune diapositive che illustrano perché la convalida è importante, ma per l'obiettivo di questa presentazione userò semplicemente la convalida quando adattamento modelli predittivi. |
| |
Esistono molti tipi diversi di modelli che possiamo adattare a JMP Pro e questo non è in alcun modo un elenco esaustivo. |
| |
Possiamo adattare diversi tipi di modelli di regressione. Se abbiamo una risposta continua, possiamo adattare un modello di regressione lineare. |
| |
Se la nostra risposta è categoriale, un modello di regressione logistica, ma possiamo anche adattare modelli lineari generalizzati e penalizzare i metodi di regressione, e tutto questo proviene dalla piattaforma del modello di adattamento. |
| |
Ci sono molte opzioni nella piattaforma di modellazione predittiva, quindi reti neurali, reti neurali con boosting e diversi numeri di livelli e nodi, |
| |
alberi di classificazione e regressione, metodi più avanzati basati sugli alberi e numerose altre tecniche. |
| |
E ci sono anche un paio di opzioni di modellazione predittiva dalla piattaforma di metodi multivariati, quindi analisi discriminante |
| |
e i minimi quadrati parziali sono due diversi... due ulteriori tipi di modelli che possiamo utilizzare per la modellazione predittiva. E a proposito, i minimi quadrati parziali sono disponibili anche nel modello di adattamento. |
| |
E perché abbiamo così tanti modelli? |
| |
Nella modellazione predittiva, scoprirai spesso che nessun modello |
| |
o il tipo di modellazione funziona sempre meglio. In determinate situazioni, una rete neurale potrebbe essere la soluzione migliore, e le reti neurali in genere hanno prestazioni piuttosto... piuttosto buone. |
| |
Ma in altri casi potresti scoprire che un modello più semplice in realtà funziona meglio, quindi il tipo di modello che si adatta meglio ai tuoi dati e prevede con maggiore accuratezza si basa in gran parte sulla tua risposta, ma anche sulla struttura dei tuoi dati. |
| |
Quindi potresti adattare diversi tipi di modelli e confrontarli prima di trovare il modello che si adatta più accuratamente o che prevede con maggiore accuratezza. |
| |
Quindi, all'interno del flusso di lavoro analitico più ampio, in cui si inizia con una sorta di problema che si sta cercando di risolvere, si compilano i dati, si preparano i dati e si esplorano i dati, |
| |
La modellazione predittiva è in fase di analisi e creazione di modelli. E il tipico flusso di lavoro della modellazione predittiva potrebbe essere simile a questo, in cui si adatta un modello con la convalida. |
| |
Quindi salvi la formula in una tabella dati o la pubblichi nel deposito delle formule. |
| |
E poi si adatta un altro modello e si ripete questo, quindi si possono adattare diversi modelli |
| |
e poi confrontare questi modelli. In JMP Pro, è possibile utilizzare la piattaforma di confronto modelli per farlo, confrontando le prestazioni dei modelli sui dati di convalida, quindi scegliendo il modello migliore o la migliore combinazione di modelli e infine distribuendolo. |
| |
La differenza con lo screening dei modelli è che tutto l'adattamento e il confronto dei modelli, questa selezione, avviene all'interno di un'unica piattaforma, la piattaforma di screening dei modelli. |
| |
Quindi useremo un esempio che potrebbe esservi familiare: esiste un blog sullo screening dei modelli che utilizza questi dati, pubblicato nella Community, e questi sono i dati sul diabete. |
| |
Lo scenario è quindi che i ricercatori vogliano prevedere il tasso di progressione della malattia un anno dopo la diagnosi iniziale. |
| |
Quindi ci sono diverse misurazioni di base e poi ci sono due diversi tipi di risposte. |
| |
La risposta Y è la misura quantitativa, una misura continua, quindi questa è la velocità di progressione della malattia e poi c'è una seconda risposta, Y binaria, che è alta o bassa. |
| |
Quindi Y Binary può rappresentare un tasso di progressione alto o basso. |
| |
E l'obiettivo della modellazione predittiva in questo caso è quello di prevedere i pazienti che hanno maggiori probabilità di avere un alto tasso di progressione della malattia, in modo che possano essere intraprese azioni correttive. |
| |
per evitare ciò. Quindi daremo un'occhiata all'adattamento dei modelli in JMP Pro per entrambe queste risposte e vedremo come adattare gli stessi modelli utilizzando lo screening dei modelli. |
| |
Prima di passare a JMP, vorrei parlare brevemente di come confrontiamo i modelli predittivi. |
| |
Confrontiamo i modelli predittivi sul set di validazione o sul set di test. In pratica, adattiamo un modello a un sottoinsieme dei nostri dati, chiamato dati di training. |
| |
Quindi adattiamo quel modello ai dati che ci sono stati forniti (solitamente li chiamiamo dati di convalida) per vedere quanto bene funziona il modello. |
| |
E se abbiamo risposte continue, possiamo usare misure di errore, come l'errore quadratico medio (RMSE) o RASE, che è l'errore quadratico medio del percorso, che è la misura dell'errore di previsione. |
| |
AAE, MAD, MAE sono misure di errore medio e potremmo usare diverse misure R quadrato. |
| |
Per ottenere risposte categoriali, siamo spesso interessati a misure di errore o di classificazione errata. |
| |
Potremmo anche essere interessati a esaminare una curva ROC, l'AUC (area sotto la curva) o la sensibilità, o la specificità, i falsi positivi, il tasso di falsi negativi. |
| |
il punteggio F1 e MCC, ovvero il coefficiente di correlazione di Matthews. |
| |
Ora passiamo a JMP. |
| |
Metti da parte questo e aprirò i dati sul diabete. |
| |
E lasciate che lo ingrandisca così potete vederlo. |
| |
Quindi questi sono i dati. Ci sono... ci sono informazioni su 442 pazienti e, ancora una volta, abbiamo una risposta Y, che è continua e rappresenta l'entità della progressione della malattia dopo un anno. E inizieremo a considerare Y, ma poi abbiamo anche la seconda variabile, Y binaria. |
| |
Abbiamo informazioni di base. |
| |
E c'è una convalida di colonna. Quindi, ancora una volta, quando adattiamo i modelli, li adatteremo solo utilizzando i dati di training e useremo i dati di convalida per dirci quando interrompere la crescita del modello e per darci misure di quanto sia effettivamente valido il modello. |
| |
Per creare questa colonna, nella modellazione predittiva esiste un'utilità chiamata colonna di convalida del modello. |
| |
Questo ci offre numerose opzioni per creare una colonna di convalida, in modo da poter suddividere i dati in una convalida di addestramento e un set di test. |
| |
E, nella maggior parte dei casi, se utilizziamo questo tipo di tecnica di partizionamento dei nostri dati in sottoinsiemi, |
| |
Si consiglia di avere un set di test. Avere un set di test consente di valutare le prestazioni del modello su dati non utilizzati per la costruzione del modello o per interromperne la crescita, quindi lo consiglierei, anche se in questo caso non disponiamo di un set di test. |
| |
Supponiamo che io voglia... voglio trovare un modello che preveda la risposta con la massima accuratezza. Come hai visto, ci sono molti modelli diversi tra cui scegliere. |
| |
Inizierò con il modello in forma. |
| |
E questo di solito è un buon punto di partenza. |
| |
Quindi costruirò un modello di regressione con Y come risposta, le X come effetti del modello e, a questo punto, inserirò solo gli effetti principali. Aggiungerò una colonna di convalida. |
| |
Ora, dal modello di adattamento, l'impostazione predefinita sarà quella dei minimi quadrati standard, ma ci sono molti tipi diversi di modelli che possiamo adattare. |
| |
Eseguirò semplicemente il modello dei minimi quadrati. |
| |
Un paio di cose da sottolineare qui. Notate il marcatore qui, V. |
| |
Ricorda che adattiamo il nostro modello ai dati di addestramento, ma vogliamo anche vedere quanto bene si comporta il modello sui dati di convalida, quindi tutti questi marcatori con una V sono osservazioni nel set di convalida. |
| |
Poiché abbiamo la convalida, qui c'è una sezione di convalida incrociata, quindi possiamo esaminare R quadrato sul set di addestramento e anche sul set di convalida e quindi RASE. |
| |
E spesso ciò che si nota è che le statistiche di convalida saranno leggermente peggiori delle statistiche di addestramento e più sono lontane, maggiore è la probabilità che il modello sia sovra o sottoadattato. |
| |
Vorrei sottolineare un'altra cosa che va ben oltre lo scopo di questo intervento: il profiler di previsione. |
| |
E il profiler di previsione |
| |
è in realtà uno dei motivi per cui ho iniziato a usare JMP. È un modo davvero potente per comprendere il tuo modello. |
| |
E così posso cambiare i valori di qualsiasi X e vedere cosa succede alla risposta prevista, e questa è la media, quindi con |
| |
Con questi modelli, stiamo prevedendo la media. Ma notate come queste bande si diffondano per colesterolo totale, LDL e HDL, giusto? E questo perché non abbiamo dati in quelle regioni. |
| |
Quindi, la nuova funzionalità, che vorrei sottolineare molto velocemente e che va oltre lo scopo di questo intervento, è questa cosa chiamata controllo di estrapolazione. E se attivo un avviso e trascino |
| |
colesterolo totale, nota che mi sta dicendo che c'è una possibile estrapolazione. Questo mi sta dicendo che sto cercando di fare una previsione in una regione in cui non ho davvero dati, e se giro |
| |
Con questo controllo di estrapolazione attivo, notate che tronca questa barra, questa linea, quindi in pratica significa che non è possibile fare previsioni in quella regione. Quindi è qualcosa che potreste voler controllare se state adattando i modelli. È uno strumento davvero potente. |
| |
Supponiamo che abbia completato tutto il lavoro diagnostico. Ho ridotto questo modello e voglio poter salvare i risultati. |
| |
Beh, ci sono un paio di modi per farlo. Posso andare alla colonna rossa, salvare le colonne e salvare la formula di previsione. |
| |
In questo modo, il modello lineare che ho appena costruito viene salvato nella tabella dati. Potete vederlo qui sullo sfondo. E poi, se aggiungo nuovi valori a questa tabella dati, la risposta verrà automaticamente prevista. |
| |
Ma potrei voler salvare il modello in un'altra forma, quindi per farlo, potrei pubblicarlo |
| |
questa formula nel deposito delle formule. E il deposito delle formule è in realtà indipendente dalla mia tabella dati, ma questo mi consente di copiare lo script e incollarlo in un'altra tabella dati con nuovi dati per valutarli. |
| |
Oppure potrei voler generare codice in un linguaggio diverso per poterlo distribuire in un qualche tipo di sistema di produzione. |
| |
Proseguo e chiudo. Questo è solo un modello. Ora, è possibile che, se ne adattassi uno più complesso o sofisticato, le prestazioni sarebbero migliori? |
| |
Quindi potrei adattare un altro modello. Quindi, per esempio, potrei... premo semplicemente "richiama". Potrei cambiare la personalità dai minimi quadrati standard alla regressione generalizzata. |
| |
Questo mi permette di specificare diverse distribuzioni di risposta. E io opterò per la modalità normale e cliccherò su Esegui. |
| |
Questo mi permetterà di adattare diversi metodi penalizzati e di utilizzare anche diverse tecniche di selezione delle variabili. E se non avete ancora dato un'occhiata alla regressione generalizzata, |
| |
È una piattaforma di modellazione moderna, super potente e super flessibile. Ora clicco su "Vai". E diciamo che ho inserito questo modello. |
| |
E voglio poter confrontare questo modello con quello che ho già salvato. Quindi potrei salvare la formula di previsione nella tabella dati. Ora ho un'altra colonna sullo sfondo della tabella dati. |
| |
Oppure potrei voler pubblicare di nuovo questo |
| |
A |
| |
il dettaglio della formula, quindi ora ho due modelli diversi qui. E posso continuare. Quindi questo è solo un modello di regressione generalizzata. Posso anche adattare diversi tipi di |
| |
modelli predittivi dal menu di modellazione predittiva, ad esempio reti neurali o partizioni o foreste bootstrap o alberi potenziati. |
| |
Ora, in genere quello che dovrei fare è adattare tutti questi modelli, salvare i risultati nella tabella dati o nel deposito delle formule e, se li salvo in |
| |
Nella tabella dei dati, posso usare questa piattaforma di confronto modelli per confrontare i diversi modelli concorrenti. E potrei avere molti modelli, qui ne ho solo due. |
| |
E in realtà non devo nemmeno specificare quali siano i modelli, devo solo specificare la convalida. E in effetti mi piace inserire la convalida qui nel campo "by". |
| |
Questo mi fornisce le statistiche di adattamento sia per il training set che per il validation set, e considererò solo le statistiche relative alla fase di validation. Quindi, userei questo dato per aiutarmi a scegliere il modello più performante. |
| |
Ciò che mi interessa è un valore più alto di R quadrato, un valore più basso di RASE (l'errore quadratico medio) e un errore assoluto medio più basso. E tra questi due modelli, sembra che questo modello di regressione dei minimi quadrati sia il migliore. |
| |
Ora, se dovessi adattare tutti i modelli possibili, questo potrebbe... potrebbe richiedere parecchio tempo. Invece di procedere in questo modo, la novità di JMP Pro 16 è una piattaforma chiamata "screening dei modelli". |
| |
E quando avvio lo screening del modello, c'è una finestra di dialogo in alto, proprio come abbiamo visto, quindi vado avanti e la popolo. |
| |
Aggiungerò una convalida, ma qui a lato, quello che vedi è che posso selezionare diversi modelli e adattarli tutti contemporaneamente. |
| |
Quindi albero decisionale, foresta bootstrap, albero potenziato, K vicini più prossimi, giusto, posso adattare tutti questi modelli. |
| |
E non eseguirà modelli che non hanno senso, quindi ho una regressione logistica a risposta continua come una delle mie opzioni, non eseguirà un modello di regressione logistica |
| |
con una risposta continua. Nota che ho anche questa opzione qui sotto, XGBoost. |
| |
E il motivo per cui appare è che esiste un componente aggiuntivo e che in realtà utilizza librerie open source, e se installi questo componente aggiuntivo (è disponibile nella nostra community di utenti JMP, |
| |
si chiama XGBoost e funziona solo in JMP Pro), ma se installi questo componente aggiuntivo, apparirà automaticamente nella finestra di dialogo di screening del modello. |
| |
Quindi clicco semplicemente su OK e, quando clicco su OK, il programma avvia ciascuna di queste piattaforme. |
| |
E poi tutti i risultati vengono visualizzati in un'unica finestra. Quindi ho cliccato su OK. Non ho molti dati qui, quindi è molto veloce. |
| |
E sotto i dettagli, ci sono tutti i singoli modelli che sono stati adattati. E se apro una qualsiasi di queste finestre di dialogo, posso vedere i risultati e ho accesso ad altre opzioni che saranno disponibili da quel menu. |
| |
Quindi nasconderò i dettagli. Di default, riporta le statistiche per i dati di training, ma mi mostra i risultati per i dati di validazione, quindi posso vedere R al quadrato e RASE. |
| |
Per impostazione predefinita, l'ordinamento avviene in base al RASE, dove il valore più basso è il migliore. |
| |
Ma ho alcune piccole opzioni di scelta rapida qui sotto, quindi se volessi trovare i modelli migliori e potrebbe essere che R quadrato sia il migliore per alcuni modelli, ma RASE è migliore per altri, cliccherò su Seleziona dominante. |
| |
E in questo caso, è stato selezionato il modello neurale potenziato, quindi tra tutti questi modelli, il modello migliore è quello neurale potenziato. E se voglio analizzare più da vicino questo modello, posso guardare i dettagli qui sotto, sotto neurale. |
| |
oppure, posso semplicemente dire, esegui selezionato. |
| |
Ora, non ne ho parlato, ma nella finestra di dialogo c'è un'opzione per impostare un seed casuale. |
| |
E se imposto quel seme casuale, i risultati che vengono lanciati qui saranno identici a quelli che vedo qui. Quindi questo è un... questo è un |
| |
Modello neurale con tre nodi che utilizza la funzione TanH, ma utilizza anche il boosting. Quindi, durante la progettazione di questa piattaforma, gli sviluppatori hanno effettuato numerose simulazioni per determinare il punto di partenza migliore e le migliori impostazioni predefinite per i diversi modelli. |
| |
Quindi la versione neurale potenziata è la migliore. |
| |
E |
| |
se voglio poter distribuire questo modello, ora quello che posso fare è salvare lo script |
| |
oppure potrei eseguirlo, oppure posso salvarlo più in profondità nella formula. |
| |
Quindi, questa è una risposta continua e ci sono altre opzioni sotto il triangolo rosso. E se avessi una risposta categorica? Per una risposta categorica, posso usare la stessa piattaforma. Quindi, di nuovo, passerò allo screening del modello. |
| |
Farò clic su Richiama, ma invece di usare Y, userò Y Binario. |
| |
E non cambierò nessuno dei metodi predefiniti. Inserirò un seed casuale, quindi, ad esempio, 12345, prenderò semplicemente un numero casuale. |
| |
E questo mi garantirà ripetibilità. Quindi, se salvo un modello nella tabella dati o nel deposito delle formule, |
| |
Le statistiche saranno le stesse nel modello, l'adattamento sarà lo stesso. Ci sono altre opzioni qui. Potremmo voler disattivare alcune funzioni, come i report. |
| |
Potremmo voler utilizzare un metodo di convalida incrociata diverso, quindi questa piattaforma include la convalida K fold, ma utilizza anche la convalida incrociata K fold annidata. |
| |
E possiamo ripeterlo. Davvero molto bello. A volte suddividere i nostri dati in training, validazione e test non è la soluzione migliore e K fold |
| |
In realtà potrebbe essere un po' meglio. E ci sono alcune opzioni aggiuntive in basso. Quindi potremmo voler aggiungere interazioni bidirezionali. Potremmo voler aggiungere effetti quadratici. |
| |
In Metodi aggiuntivi, questo si adatterà ad altri metodi di regressione generalizzata. Quindi procedo e clicco su OK. |
| |
OK. Esegue tutti i modelli e, ripeto, si tratta di un piccolo set di dati. È molto veloce. |
| |
Esatto, l'aspetto è lo stesso, ma ora le statistiche sono diverse. Quindi ho il tasso di classificazione errata. Ho un'area sotto la curva. Ho anche alcune misure R al quadrato e poi la radice dell'errore quadratico medio. |
| |
Farò clic su "Seleziona dominante" e, ancora una volta, il metodo dominante è "Neural Boosted". |
| |
Ora, cosa succederebbe se volessi esplorare alcuni di questi diversi modelli? Quindi, l'errore di classificazione in questo caso è notevolmente inferiore rispetto a quello riscontrato nel modello stepwise. |
| |
L'AUC è piuttosto simile, è la più bassa in assoluto, ma forse non molto migliore. E lasciatemi prendere un po' di queste. Quindi, se clicco su alcune di queste, forse... forse selezionerò queste quattro, queste cinque. |
| |
Se sono interessato a confrontare i modelli, posso esaminare le curve ROC. |
| |
E ci sono alcuni controlli utili che mi permettono di disattivare i modelli e di concentrarmi su alcuni modelli specifici. |
| |
E una nuova funzionalità che mi entusiasma molto è questa cosa chiamata soglia decisionale. |
| |
E ciò che la soglia decisionale ci consente di osservare, |
| |
e inizia esaminando i dati di addestramento, fornendoci un'istantanea dei nostri dati. |
| |
E il tasso di classificazione errata si basa su un cut-off di 0,5 per la classificazione. Quindi, per ciascuno dei modelli, mi mostra i punti che erano effettivamente alti e bassi. E se ci concentriamo sui punti alti, i punti verdi sono stati correttamente classificati come alti. |
| |
E quelli nell'area rossa sono stati classificati in modo errato, quindi ci mostra le classificazioni corrette e quelle errate, e poi riporta tutte le statistiche qui a lato |
| |
E poi più in basso vediamo diverse metriche e molti grafici che ci consentono di analizzare le classificazioni false e anche quelle vere. |
| |
Chiuderò questo e guarderò il |
| |
dati di convalida. |
| |
Quindi, perché è utile? Beh, potresti trovarti in uno scenario particolare in cui sei interessato a massimizzare la sensibilità. |
| |
pur mantenendo una certa specificità. E sensibilità... e qui ci sono alcune definizioni. La sensibilità è il tasso di veri positivi; |
| |
La specificità è il tasso di veri negativi. Questo è uno scenario in cui vogliamo osservare la progressione della malattia, quindi vogliamo assicurarci di mantenere un tasso di sensibilità elevato. |
| |
assicurandoci anche che la nostra specificità sia elevata, ok. Quindi quello che possiamo fare è usare un cursore qui, e possiamo prenderlo, |
| |
e possiamo vedere come cambiano le classificazioni quando modifichiamo il limite per la classificazione. |
| |
Quindi penso che questo sia uno strumento davvero potente quando si esaminano modelli concorrenti, perché potresti avere alcuni modelli che hanno un limite complessivo di 0,5 e potrebbero avere il miglior tasso di classificazione errata. |
| |
Ma potrebbero anche verificarsi scenari in cui, modificando il cut-off di classificazione, modelli diversi potrebbero avere prestazioni diverse. Ad esempio, se mi trovassi in una determinata regione, potrei scoprire che il modello stepwise è effettivamente migliore. |
| |
Ora, per illustrare meglio questo concetto, vorrei fare un altro esempio. |
| |
E questo esempio si chiama marketing delle carte di credito. |
| |
E se torno alle mie diapositive solo per introdurre questo scenario. |
| |
Questo è uno scenario in cui |
| |
disponiamo di molti dati basati su ricerche di mercato sull'accettazione delle offerte di carte di credito. |
| |
La domanda è: l'offerta è stata accettata? E questo è uno scenario in cui solo il 5,5% delle offerte analizzate nello studio è stato effettivamente accettato. |
| |
Ora ci sono fattori che ci interessano, quindi ci sono diversi tipi di ricompense che vengono offerte, |
| |
e ci sono diversi tipi di mailer. Quindi questo è in realtà un esperimento progettato. Ignoreremo, in un certo senso, davvero, in un certo senso, quella parte... quell'aspetto di questo studio. |
| |
E ci sono anche informazioni finanziarie, quindi in questo esempio ci concentreremo su un obiettivo, ovvero identificare i clienti che hanno maggiori probabilità di accettare l'offerta. |
| |
E se riuscissimo a identificare i clienti più propensi ad accettare, in questo scenario potremmo inviare offerte solo al sottoinsieme che ha maggiori probabilità di accettarle e ignorare il resto. Ecco lo scenario. |
| |
E ora aprirò questi dati. |
| |
Ho ricevuto 10.000 osservazioni e la mia risposta è: offerta accettata. |
| |
E ho già salvato lo script nella tabella dati, quindi ho miglia aeree, tipo di mailer, livello di reddito, rating creditizio e qualche altra informazione finanziaria. |
| |
Sta eseguendo... Ho eseguito uno script di salvataggio. Sta eseguendo tutti i modelli. E neural, in questo caso, impiegherà più tempo perché sta eseguendo un neurale potenziato. |
| |
Ci vorranno ancora alcuni secondi. Sono in esecuzione le macchine a vettori di supporto. Le macchine a vettori di supporto scadono e in realtà non funzionano se ho più di 10.000 osservazioni. |
| |
Ci metto un altro secondo. Sto usando la convalida, quindi uso la convalida standard per questo, dove ho una colonna di convalida. E in questo caso, ho una colonna di zeri e uno e JMP riconoscerà gli zeri per i dati di training e gli uno per i dati di convalida. |
| |
Ok. Eccoci qui. Ok, quindi è stato eseguito, e se hai a che fare con una tabella dati di grandi dimensioni, c'è un... c'è un report che puoi eseguire |
| |
per esaminare i tempi trascorsi. E per questo scenario, la macchina a vettori di supporto ha effettivamente impiegato più tempo, ed è per questo che, a volte, non funziona se abbiamo più di 10.000 osservazioni. |
| |
Diamo un'occhiata a questi. Il nostro modello migliore, se seleziono dominante, è un albero neurale potenziato e un albero decisionale, ma vorrei sottolineare una cosa. Notate il tasso di classificazione errata. |
| |
Il tasso di classificazione errata è identico per tutti i modelli, ad eccezione delle macchine a vettori di supporto. E perché? Beh, se eseguo una distribuzione di offerte accettate |
| |
(permettetemi di ingrandirlo un po' così possiamo vederlo) e concentrandoci solo sui dati di convalida, notate che lo 0,063% delle nostre osservazioni era Sì. Questo è esattamente ciò che il nostro modello aveva previsto. |
| |
E perché lo fa? |
| |
Chiederò di nuovo la soglia decisionale. |
| |
E concentrandoci su questo grafico qui, e questo grafico ha molti usi, e in questo caso, ciò che ci mostra è che il nostro limite per la classificazione è 0,5 |
| |
ma nessuna delle nostre probabilità stimate era minimamente vicina a quella, giusto? Quindi, di conseguenza, il modello ha classificato correttamente i no come no |
| |
o classificato i sì come no. Non ha mai classificato nulla come sì, perché nessuna delle probabilità era maggiore di 0,5. Quindi se allungo questo tizio, |
| |
Giusto, vedo la differenza tra questi due modelli. Quindi la probabilità massima era di circa 0,25 per il modello neurale e di circa 0,15 per quello ad albero decisionale. |
| |
E notate che per un albero decisionale, l'albero decisionale esegue fondamentalmente una serie di suddivisioni binarie e sostanzialmente ottengo diversi valori predittivi, mentre un albero neurale mi mostra un pattern casuale nei punti. Quindi modifico questo in qualcosa come 0,12. |
| |
Esatto, e si è fermato a 0,12, in effetti, se lo faccio scorrere, nota che più scendo, più inizio effettivamente a ottenere (adescherò le metriche qui) inizio a ottenere dei veri positivi. |
| |
E inizio a vedere alcuni falsi positivi. Quindi, mentre trascino questo, potete vederlo nella barra, ma la barra è un po' piccola, giusto? Con il potenziamento neurale, inizio a vedere alcuni veri positivi e alcuni falsi positivi. |
| |
E ora inizi a vederli. Non appena supero questa prima serie di punti, inizio a vederli per l'albero decisionale. |
| |
Quindi, usare un valore soglia di 0,5 non ha senso per questi dati e, ancora una volta, potrei... potrei provare a trovare un valore soglia che mi dia la massima sensibilità, mantenendo al contempo un livello decente di specificità. |
| |
In questo caso, vorrei sottolineare queste altre due statistiche. |
| |
F1 è il punteggio F1, e questo è in realtà un indicatore di quanto siamo in grado di cogliere i veri aspetti positivi. |
| |
MCC è il coefficiente di correlazione di Matthews, ed è un buon indicatore di quanto bene si classifichi all'interno di ciascuna delle quattro possibilità. Quindi ho... |
| |
Posso avere un falso positivo, un falso negativo, un vero positivo, un vero negativo. |
| |
E non ho detto esattamente questo in riferimento alle caselle qui, ma ho quattro opzioni diverse. MCC è un coefficiente di correlazione compreso tra meno uno e più uno, che misura come farò una previsione in ciascuna delle quattro... in ciascuna di quelle quattro caselle. |
| |
Quindi potrei voler esplorare un cut-off che ti dia il valore massimo di F1 o il valore massimo di MCC. E diciamo che trascino verso il basso. Nota che |
| |
la sensibilità sta crescendo rapidamente e la specificità sta iniziando a calare, quindi forse è intorno a 0,5, giusto, raggiungo un punto in cui sto iniziando a scendere troppo in specificità. |
| |
Potrei trovare un limite e in basso c'è questa opzione per impostare una matrice di profitto. Se imposto questa come matrice di profitto, in pratica, ciò che accadrà è che mi permetterà di valutare nuovi dati utilizzando questo limite. |
| |
Quindi se imposto questo qui e clicco su OK, tutte le previsioni future che faccio, se le salvo nella tabella dati o nel deposito delle formule, utilizzeranno quel limite. |
| |
E questo è uno scenario in cui potrei effettivamente avere delle informazioni finanziarie che potrei inserire nella matrice dei profitti. |
| |
Quindi, ad esempio, invece di usare il cursore per scegliere il limite, forse ho una certa conoscenza del valore in dollari associato alle mie classificazioni. E forse, se la risposta effettiva è un no, |
| |
Ma io mando loro un'offerta, quindi c'è un sì, penso che accetteranno e mando loro un'offerta. Forse questo mi costa 5 dollari, giusto, quindi ho un valore negativo. |
| |
E forse ho un'idea del profitto potenziale, quindi forse i profitti... il profitto potenziale in questo periodo di tempo è di $ 100 e forse ho perso qualche opportunità. Forse dico, sai, è -100 se |
| |
La persona avrebbe effettivamente risposto, ma non le ho inviato l'offerta. Quindi forse è un'occasione persa e a volte lasciamo questo campo vuoto. Ora, se uso questo invece, |
| |
Ho alcune informazioni aggiuntive che vengono visualizzate, quindi il sistema riconosce che ho una matrice di profitto. E ora, se osservo le metriche, posso prendere decisioni sul mio modello migliore in base a questo profitto. |
| |
Quindi inserisco queste informazioni aggiuntive nel processo decisionale, e a volte abbiamo una matrice dei profitti e possiamo usarla direttamente, a volte no. E questo è uno di quei casi in cui posso vedere che il modello basato su neural boosting mi darà i migliori profitti complessivi. |
| |
Quindi questa è un'anteprima dello screening del modello e ora torno alle mie diapositive. |
| |
E cosa abbiamo visto qui? Beh, abbiamo parlato di modelli predittivi. |
| |
e come la modellazione predittiva abbia un obiettivo diverso dalla modellazione esplicativa. Quindi, il nostro obiettivo qui è prevedere o classificare accuratamente i risultati futuri, quindi vogliamo valutare le osservazioni future. |
| |
E in genere adatteremo e confronteremo molti modelli utilizzando la convalida e sceglieremo il modello o la combinazione di modelli che svolge il lavoro migliore, che prevede con la massima accuratezza. |
| |
Lo screening dei modelli semplifica notevolmente questo flusso di lavoro, consentendo di adattare contemporaneamente molti modelli diversi su un'unica piattaforma. |
| |
E ho scelto solo l'impostazione predefinita, così posso adattare modelli molto più sofisticati di quelli che effettivamente ho inserito lì. Rende davvero facile selezionare i modelli dominanti ed esplorarne i dettagli. Possiamo adattare nuovi modelli. |
| |
dai dettagli. Questa soglia decisionale, se si ha a che fare con dati categoriali, consente di esplorare i limiti per la classificazione e integra anche la possibilità di includere una matrice di profitto. |
| |
E per qualsiasi modello selezionato, possiamo distribuirlo nel deposito delle formule o salvarlo nella tabella dati. Quindi, uno strumento davvero potente. |
| |
Per maggiori informazioni. Le metriche di classificazione, sapevo che prima di vedere il punteggio F1 e il coefficiente di correlazione di Matthews, quelle statistiche erano relativamente nuove per me. |
| |
Per dare un senso alla sensibilità e alla specificità, questo post di Wikipedia contiene alcuni esempi davvero molto interessanti e una discussione molto interessante. |
| |
Esistono anche risorse davvero utili per la modellazione predittiva e lo screening dei modelli. Nella community degli utenti JMP è disponibile un nuovo percorso, Learn JMP, che offre accesso a video, |
| |
Video sulla serie Mastering JMP. L'anno scorso, al JMP Discovery di Tucson, Ruth Hummel e Mary Loveless hanno tenuto una presentazione molto interessante su quale modello e quando. |
| |
E questo fa un buon lavoro nel parlare dei diversi obiettivi di modellazione e di quando potresti voler utilizzare ciascuno dei modelli. |
| |
Se sei alle prime armi con la modellazione predittiva, il nostro corso online gratuito STIPS, ovvero Statistical Thinking for Industrial Problem Solving, Modulo 7, è un'introduzione alla modellazione predittiva. |
| |
Quindi lo consiglierei. C'è un blog sullo screening dei modelli che utilizza i dati sul diabete che vi indicherò, e vorrei anche sottolineare che esiste una seconda edizione di questo libro, "Building Better Models with JMP Pro", |
| |
Uscirà nei prossimi due mesi. Non hanno ancora una nuova copertina, ma... includeranno lo screening delle modelle in quel libro. |
| |
Quindi questo è tutto. Sentitevi liberi di commentare questo post o di porre domande. Spero che il resto della conferenza vi piaccia. Grazie. |