Prediction Profiler e funzioni di desiderabilitàCiao a tutti,
JMP Pro 16.1.0.
Sto usando il Prediction Profiler per lavorare attraverso alcune verifiche dell'ottimizzazione del modello e mi chiedevo se esiste un modo per "ingannare" le funzioni di desiderabilità nel fare qualcosa per cui non sono realmente progettate. Con l'impostazione standard per la desiderabilità, hai la possibilità di Massimizza, Corrispondenza target, Riduci a icona o Nessuno.
Durante il processo di messa a punto del modello, registro i valori R^2 per l'addestramento e la convalida, nonché la differenza tra i due. Una delle cose che cerco di cercare durante l'ottimizzazione del modello sono le impostazioni dei parametri che non solo massimizzano R ^ 2 per ENTRAMBI l'addestramento e la convalida, ma riducono al minimo la differenza tra i due. Ad esempio, per me è meglio se ho un modello con un addestramento R^2 di 0,4 e una convalida R^2 di 0,35 piuttosto che un addestramento R^2 di 0,7 e una convalida R^2 di 0,25. Cioè, più i set di addestramento e convalida sono vicini tra loro, anche se più piccoli tendono a funzionare meglio per le mie situazioni.

Il problema è che con Prediction Profiler, se imposti sia l'addestramento che la validazione R^2 per massimizzare e minimizzare la differenza, il profiler suggerisce impostazioni che si traducono in training R^2 di 0,6 e validazione R^2 di 0,2 o giù di lì. Non quello che sto cercando.
Quello che mi piacerebbe davvero che il Profiler facesse è cercare di convergere su R ^ 2 di addestramento e convalida che siano il più vicino possibile l'uno all'altro, pur essendo il più grande possibile, al fine di ridurre al minimo la differenza mantenendo un R elevato ^2 valori. Sfortunatamente, cambiare cose come l'importanza (da 0 a 1) o l'obiettivo non raggiunge davvero quello che cerco.
Se qualcuno conosce un trucco su come convincere il Profiler a fare qualcosa del genere, sarebbe bello saperlo. Oppure, se non è possibile, potrebbe essere una nuova funzionalità davvero interessante poter indirizzare il Profiler a provare a far convergere due delle risposte massimizzandole (o minimizzandole).
Grazie!,
DS
Accesso ai datiEsplorazione e visualizzazione dei datiPersonalizzazione di massaRe: Prediction Profiler e funzioni di desiderabilitàCIAO @ih ,
Entrambi avete sicuramente ragione sul fatto che non posso aggirare i miei pensieri e l'influenza soggettiva sul processo e sulle decisioni, il che quindi rende l'insieme in qualche modo soggettivo e incline al pregiudizio di qualcuno. Sarebbe bello rimuoverne il più possibile in modo da limitare il pregiudizio di una persona nella questione in questione. Dopotutto, stiamo cercando il modello con le migliori prestazioni, non quello che qualcuno vuole/desidera essere il modello con le migliori prestazioni.
È anche vero che non utilizzo esclusivamente l'R2 come metrica per i modelli che genero. È tuttavia uno dei metodi più affidabili per aiutare a guidare il processo di messa a punto di alcuni adattamenti del modello, ad esempio con alberi potenziati e foreste bootstrap. Entrambi questi metodi hanno una certa casualità coinvolta nel processo, il che è positivo, ma la messa a punto dei parametri del modello può diventare piuttosto scomoda: è molto facile generare tabelle di regolazione di grandi dimensioni in quanto vi sono diversi parametri, rendendo lo spazio dell'iperparametro molto grande . Per aiutare un po' questo processo, la piattaforma Gaussian Fit può ridurre lo spazio dei parametri su adattamenti iterativi. R2 funziona come una metrica sostitutiva molto efficace con quella piattaforma.
L'opzione bootstrap per la diagnostica dei report è uno strumento molto utile che utilizzo abitualmente. Trovo anche molto utile con il fattore nullo del componente aggiuntivo di convalida automatica per verificare quali fattori (su un insieme ampio) dovrebbero essere veramente mantenuti nel modello, una sorta di tecnica di riduzione del fattore di pre-modellazione.
Come accennato in precedenza, i modelli tendono a funzionare meglio quando l'addestramento e la validazione R2 si avvicinano a valori simili. L'altro estremo, l'allenamento elevato e la bassa convalida, di solito si comportano molto peggio nel complesso. Quando si impostano le funzioni e i livelli di desiderabilità (o cutoff), questa può essere una parte molto soggettiva e può influenzare pesantemente il risultato. Ciò che sarebbe più bello è un algoritmo che ottimizzerebbe quel processo per te. Naturalmente, la decisione finale è ancora quella che richiede all'utente di effettuare la chiamata, per valutare se il risultato ha un significato fisico, non solo un significato matematico. Un'analogia sarebbe data dai dati spettrali, diciamo Raman o spettri fotoelettronici, che spesso hanno forme di linea che sono lorentziane o gaussiane (o un mix). Matematicamente, è possibile avere un sigma negativo (deviazione standard) poiché nella funzione sigma è al quadrato. Ma fisicamente, questo non ha significato, quindi qualsiasi risultato di adattamento di un algoritmo che ha suggerito un sigma negativo per la curva può essere scartato perché non esiste una base fisica per una misurazione che abbia una deviazione standard negativa. Allo stesso modo, è possibile ottenere valori R2 negativi o avere valori di convalida R2 maggiori rispetto al set di addestramento, ma tali casi dovrebbero essere importanti segnali di allarme e non essere considerati in ulteriori analisi.
Alla fine, questo metodo viene utilizzato per aiutare a restringere lo spazio degli iperparametri in modo che trovare un minimo globale più stabile sia più veloce e più facile che generare un'enorme tabella di sintonizzazione con centinaia di migliaia di righe per testare tutte le possibili combinazioni. Ciò fornisce ancora solo raccomandazioni per i parametri di ottimizzazione e si deve ancora valutare se tali risultati abbiano un senso. Il modello è ancora generato in modo iterativo in condizioni iniziali casuali, ma ogni volta restringendosi su un set di parametri più stabile. Questo approccio è utile con le altre piattaforme di modellazione che dispongono di molti parametri di input per l'ottimizzazione.
Grazie!,
DS
Re: Prediction Profiler e funzioni di desiderabilitàSono d'accordo con @Mark_Bailey , non puoi evitare che i tuoi pensieri e le tue opinioni facciano parte della soluzione che fornisci qui.
Ti incoraggio a non rimanere bloccato su RSquared.Avere un R2 alto non significa che hai un modello utile, e averne uno basso non significa che il tuo modello non servirà al suo scopo.Sarebbe giusto che qualcuno dicesse che l'RMSE del tuo modello deve essere al di sotto di una soglia, ma non ha senso per loro dire che R2 deve essere al di sopra di un valore arbitrario.In effetti, se stai prevedendo qualcosa con molti errori di misurazione o variazioni dovute a qualcosa che non è nel tuo set di dati e hai un R2 molto alto, probabilmente hai un problema.
L'utilizzo di R2 per confrontare test e convalida è certamente valido e può aiutare a rilevare un modello di overfit. Solo avendo righe diverse nel tuo set di dati, però, dovresti farlo aspettarsi l'R2 deve essere diverso.Ad esempio, prova a prendere il set di dati di una grande classe e prevedere l'altezza utilizzando un modello lineare dei minimi quadrati dall'età e dal peso.Ora, se hai JMP Pro, fai clic con il pulsante destro del mouse sul valore RSquare visualizzato e seleziona bootstrap.Usa i valori predefiniti e poi fai una distribuzione nella tabella risultante e dovresti ottenere una distribuzione simile a quella qui sotto.Se non si dispone di JMP Pro, è possibile ottenere qualcosa di simile prendendo un sottoinsieme della tabella con 30 righe casuali e adattando i minimi quadrati, registrando R2 e quindi ripetendo il processo un sacco di volte.

Il modello non è cambiato, solo le righe utilizzate per costruirlo, eppure guarda che variazione in R2!Quindi, aspettarsi che l'R2 di addestramento e convalida sia sempre entro il 10% l'uno dall'altro potrebbe imporre un vincolo artificiale non necessario alla soluzione.
Se vuoi testare l'overfitting utilizzando una soluzione con script, oltre ad alcuni limiti "mantienilo sulla strada" sulla differenza in R2, potresti provare a utilizzare la formula Col Shuffle e ad adattare il tuo modello con Ys randomizzato, dovresti vedere l'R2 scende quasi a zero.In caso contrario, il tuo modello è in grado di modellare il rumore casuale nei tuoi dati.
Re: Prediction Profiler e funzioni di desiderabilitàIl processo è oggettivo. Le decisioni no.
Re: Prediction Profiler e funzioni di desiderabilitàCIAO @Mark_Bailey E @ih ,
@Mark_Bailey , la tua prima risposta è stata quella che "farà funzionare". Sfortunatamente, non è un processo di ottimizzazione automatizzato, quindi non trova iterativamente le condizioni ottimali. Tuttavia, è certamente abbastanza semplice modificare manualmente l'importanza relativa di ciascuna risposta.
Utilizzando un mix del tuo suggerimento e @ih Il suggerimento di si sta dimostrando più in linea con ciò che penso che alla fine mi piacerebbe che facesse. C'è solo un sacco di regolazione manuale delle funzioni di desiderabilità -- cambiando i numeri a mano, o spostando le piccole caselle nel grafico. Sarebbe bello avere un metodo più automatizzato e leggermente meno soggettivo per ottenere il mio obiettivo finale.
@ih hai parzialmente ragione sul fatto che non mi interessa se R2 Diff è 0,01 o 0,1, tuttavia, se ho un R2 Diff di 0,1 e il mio allenamento R2 è 0,8 e la mia convalida R2 è 0,7, lo preferirei a un R2 Diff di 0,01 se la mia formazione è a 0,31 e la mia convalida è a 0,3. In pratica, i miei set di dati tendono a comportarsi più come il secondo piuttosto che il primo: vorrei poter ottenere che i miei due R2 fossero alti come 0,8 e 0,7!
Mescolare i due suggerimenti mi dà molto su cui giocare, vorrei solo che fosse un po' meno soggettivo.
Grazie per il feedback!,
DS
Re: Prediction Profiler e funzioni di desiderabilitàPuoi anche cambiare la forma del grafico della desiderabilità per indicare che una differenza maggiore è una penalità maggiore. Non deve essere lineare con un valore medio al centro.
Nota: è possibile controllare il clic (Windows) o il clic di comando (macOS) sul grafico del grafico della funzione e modificare rapidamente i valori mentre si provano diversi schemi. Consiglio di NON modificare la desiderabilità, ma solo di modificare i livelli di risposta Spostare il valore centrale verso un'estremità per renderlo non lineare.
Re: Prediction Profiler e funzioni di desiderabilitàImmagino che non ti interessi se la differenza R2 è 0,01 o 0,1, ma gradualmente ti preoccupi di più man mano che aumenta al di sopra di una certa soglia. Potresti provare a fare della differenza R2 una formula che è piatta quando è al di sotto di un certo valore e poi diminuisce gradualmente man mano che supera quel limite, oppure puoi impostare la funzione di desiderabilità per descriverlo.Faccio spesso quest'ultimo con la metrica T2 nei modelli multivariati.Puoi vedere un esempio di ciò saltando alle 16:30 circa nel video collegato di seguito.
Ottimizzazione dei modelli multivariati: dalla raccolta dei dati alle condizioni ottimali e ai modelli di punteggio (2021-US-45MP-927)
Re: Prediction Profiler e funzioni di desiderabilitàStai utilizzando correttamente le funzioni Profiler e Desirability. Non è sbagliato usare desiderabilità = (0,1), ma potresti provare a usare valori come 1 per massimizzare e 2 per differenza e vedere se questo ti avvicina a ciò che vuoi. La definizione delle funzioni (limiti, importanza) è la chiave per dire al profiler cosa stai cercando.
Detto questo, non è garantito che otterrai ciò che desideri!