miglior modelloCiao
la mia domanda è: come posso trovare il miglior modello parametrico che si adatti molto bene al mio set di dati?
Voglio trovare un modello parametrico in grado di prevedere bene la mia risposta
Modellazione statistica avanzataAnalisi e modellazione dei dati di baseRi: miglior modelloCiao @maryam_nourmand ,
La tua domanda riguarda un argomento ampio e potrebbero esserci (molte) domande a cui rispondere e a cui rispondere prima di rispondere a questa domanda:
- Come vengono raccolti i dati? Studio osservazionale, disegno sperimentale, ... ? Rappresentatività e completezza del dataset ? Un'analisi esplorativa dei dati può essere utile per rilevare alcuni modelli e possibili insidie per quanto riguarda le ipotesi nei modelli di regressione , come la multicollinearità che potrebbe richiedere un modello adattato come PLS o fasi di pre-elaborazione come PCA.
- Obiettivo del/i modello/i? Spiegazioni causali, previsione e ottimizzazione o entrambi (anche collegati al set di dati disponibile e al metodo di raccolta)?
- Selezione della strategia/funzionalità di convalida? Come garantire che i modelli creati abbiano il giusto livello di complessità e abbiano comunque buone prestazioni predittive, ad esempio? Si valutano le prestazioni e la robustezza del modello attraverso una strategia di validazione di Machine Learning "standard" (con validazione incrociata o suddivisioni train/validation/test), o attraverso un approccio "statisticamente orientato", basato su verosimiglianza, criteri informativi (AICc, BIC), valori p ... ? Tieni presente che la complessità del modello dovrebbe anche essere direttamente limitata dalla raccolta dei dati: se ad esempio hai fattori con 3 livelli diversi, non sarai in grado di adattare termini più alti dei termini del 2° ordine.
- Metriche e soglie di valutazione/selezione ? Come valuta i modelli? Qual è il processo/criterio di selezione: selezioni quelli con i migliori risultati predittivi con la metrica selezionata oppure selezioni tutti i modelli che hanno prestazioni migliori rispetto a un modello benchmark o un modello ingenuo, ...? Come testare infine il modello?
Alcune di queste domande e risposte sono già state descritte nei post precedenti:
https://community.jmp.com/t5/Discussions/Statistical-Significance/mp/765928/highlight/true#M94573
https://community.jmp.com/t5/Discussions/Analysis-of-split-plot-design-with-full-factorial-vs-RSM/mp/770579/highlight/true#M95183
La creazione, il confronto e la selezione dei modelli richiedono metriche di valutazione collegate al tuo obiettivo e soglie/criteri per selezionare uno o più modelli. Se desideri semplicemente il miglior modello predittivo, potresti:
- Creare un modello con una strategia di convalida ML standard (ad esempio convalida incrociata) o una strategia in grado di controllare la complessità del modello,
- Utilizza una o più metriche legate all'accuratezza predittiva, come RMSE, MAPE, ...
- Confronta i modelli in base alle metriche e alle competenze del settore: quale/i è/sono più appropriato/rilevante per il tuo argomento e quali hanno le migliori prestazioni,
- Scegli di stimare le singole previsioni con i modelli selezionati per vedere come/dove differiscono e/o di utilizzare un modello combinato per calcolare la media degli errori di previsione.
- Testare il modello in una situazione/ambiente di produzione "reale".
Potrebbero interessarti anche queste risorse:
Quale modello e quando?
Specificazione e adattamento dei modelli
Costruire e comprendere modelli predittivi
Costruzione di modelli predittivi per dati correlati e ad alta dimensionalità
Creazione di modelli predittivi migliori utilizzando JMP Pro - Screening dei modelli (potrebbe aiutare a selezionare le opzioni dei modelli parametrici e di machine learning e confrontarli simultaneamente)
Modellazione predittiva
Modulo STIPS 7: Modellazione predittiva e text mining
Che modello e quando? (e quale tipo di modellazione?) - (2023-US-PO-1509)
Scelta dei modelli in JMP con criteri di selezione del modello - (2023-US-30MP-1456)
Data Mining e modellazione predittiva
Spero che questo primo argomento di discussione ti sia d'aiuto,
Ri: miglior modello
Se voglio spiegare più precisamente il mio obiettivo:
Ho un set di dati iniziale relativo ai dati dei pazienti affetti da cancro. Desidero trovare un modello statistico parametrico adatto che si adatti meglio al mio set di dati. Utilizzando questo modello, mi propongo di simulare i dati per applicare uno spostamento nell'intercetta del modello. In definitiva, voglio vedere quanto velocemente il mio modello di machine learning preesistente può rilevare questo cambiamento in un grafico di controllo (ovvero, ottenere l'ARL). A questo scopo, ho bisogno del modello più adatto ai miei dati in modo da poter simulare i dati da essi.
Ri: miglior modelloCiao @maryam_nourmand ,
Ok, allora sarai più propenso a adottare un approccio di data mining, con un set di dati fisso di dati osservativi in cui cerchi di adattare un modello predittivo accettabile. L'uso delle colonne di convalida (con stratificazione delle funzionalità) aiuterà a convalidare (per evitare un adattamento eccessivo) e a testare il modello sui dati di produzione. In termini di strategia di modellazione, molto probabilmente utilizzerai approcci graduali per selezionare le funzionalità e approcci di regressione generalizzata con il metodo della colonna di convalida.
Ad esempio, ho utilizzato il set di dati Cancer_Data di Kaggle per prevedere se esiste un cancro benigno o maligno in base alle caratteristiche individuali: https://www.kaggle.com/datasets/erdemtaha/cancer-data?resource=download
Dopo una prima analisi esplorativa dei dati focalizzata principalmente su distribuzioni e correlazioni tra caratteristiche, ho creato una formula di colonna di validazione (stratificazione sulle caratteristiche) con rapporti 70/20/10 per set di training/validazione/test, e poi ho utilizzato un modello di regressione generalizzato con metodo della colonna di convalida e tutte le caratteristiche degli effetti principali e i termini delle interazioni tra due caratteristiche inseriti come possibili termini nel modello. Scelgo una rete elastica adattiva poiché le funzionalità sono fortemente correlate, ma potrebbero esserci anche altre opzioni, come la pre-elaborazione PLS o PCA.
È quindi possibile salvare la formula di questo modello e utilizzare Prediction Profiler per creare simulazioni , valutare l'impatto degli effetti delle caratteristiche sulla risposta ed eventualmente stimare l'effetto dell'aumento del rumore sulla risposta prevista.
Spero che queste poche opzioni possano aiutarti per il tuo argomento,
Ri: miglior modelloLa tua risposta mi spinge a chiedermi: cosa intendi per "modello statistico parametrico?" Di solito penso ai modelli di apprendimento automatico come non parametrici, quindi escludi tali modelli qui. Non è chiaro poiché dici di avere un modello di apprendimento automatico preesistente. Vuoi confrontare un modello parametrico e non parametrico? Se utilizzi la piattaforma di screening dei modelli, puoi creare una serie di entrambi i tipi di modelli predittivi. Utilizzando quello che ritieni sia il "miglior adattamento", puoi quindi salvare la formula di previsione per eseguire simulazioni. Non sono del tutto sicuro di cosa intendi per "spostamento nell'intercetta del modello", ma penso che potresti semplicemente inserire un disturbo additivo nella formula per generare i dati simulati.
Ri: miglior modelloGrazie per la vostra risposta.
Ma penso che per la simulazione sia meglio andare alla sezione "salva colonne->salva formula di simulazione" perché contiene una formula per la simulazione che posso usare anche per scrivere codice, giusto?
E grazie per aver introdotto il set di dati.
Ma disponi di un set di dati relativo a un processo di trattamento che comprende più fasi? Voglio dire, dopo il primo trattamento, la malattia recidiva e viene eseguito il secondo trattamento e vengono registrate le informazioni sul trattamento come la dose del farmaco, ecc. Se disponi di un set di dati di questo tipo, apprezzerei se potessi condividerlo.
Ri: miglior modelloSì, per "modello parametrico" non intendo modelli di machine learning.
Il mio obiettivo nel trovare il miglior modello parametrico è simulare e generare dati con una quantità maggiore rispetto al mio set di dati iniziale. Desidero utilizzare più dati per il mio modello di machine learning, ma desidero che i dati simulati assomiglino molto e siano simili al mio set di dati iniziale.
Ri: miglior modelloNon vedo perché sia necessario un modello parametrico per farlo. Puoi eseguire qualsiasi modello predittivo e utilizzare il Profiler per simulare un numero qualsiasi di punti dati aggiuntivi, specificando valori diversi per le variabili indipendenti e aggiungendo rumore casuale alle previsioni. Forse non capisco cosa intendi fare, ma non ritengo necessaria la parte del modello parametrico.
Ri: miglior modelloQual è la differenza tra salvare le formule di simulazione tramite "Salva colonne -> Salva formula di simulazione" e simulare utilizzando lo strumento Profiler?
Il motivo per cui utilizzo un modello parametrico per la simulazione è che voglio avere la relazione e la formula di simulazione in modo da poter scrivere il codice corrispondente e ripetere questo processo 100 volte in un ciclo (per ottenere l'ARL della mia carta di controllo basata su il modello che ho costruito nella fase I).
Se dovessi farlo manualmente con il software, sarebbe difficile e dispendioso in termini di tempo.
Ri: miglior modelloCiao @maryam_nourmand ,
Dipende qual è il tuo obiettivo.
Il salvataggio di una formula di simulazione può aiutarti a valutare le distribuzioni dei coefficienti del tuo modello, attivando la risposta della diagnosi con la formula di simulazione della diagnosi: Simula

La formula di simulazione è solo una versione condensata delle formule di previsione che puoi salvare dal report di adattamento del modello: invece di avere una colonna di probabilità per ogni classe e una colonna di classificazione finale, salvi solo una colonna con il calcolo e la classificazione delle probabilità all'interno della stessa formula .
Se sei più interessato alla robustezza del tuo modello per quanto riguarda le variazioni negli input, utilizzare il simulatore di Prediction Profiler con variazioni negli input (ed eventualmente aggiungere rumore nell'output) ed eseguire un esperimento di simulazione potrebbe aiutarti. Puoi quindi generare variazioni nei tuoi input ed eventualmente spostare la distribuzione delle tue funzionalità per vedere come influisce sul tuo modello, nonché aumentare il rumore per vedere quanto potrebbe essere robusto il tuo modello di previsione.
Nota a margine e relativa ai punti portati da @dlehman1 :
Il mio obiettivo nel trovare il miglior modello parametrico è simulare e generare dati con una quantità maggiore rispetto al mio set di dati iniziale. Desidero utilizzare più dati per il mio modello di machine learning, ma desidero che i dati simulati assomiglino molto e siano simili al mio set di dati iniziale.
Per simulare e generare dati simili ai dati reali raccolti, è necessario "imitare" il processo di generazione dei dati. Se sono presenti forti non linearità, correlazioni o altri modelli rilevati dal tuo modello ML e non considerati dal modello parametrico, dovresti simulare e generare dati con il modello ML, altrimenti introdurrai una forte distorsione nella simulazione/ dati generati. Non capisco la necessità di disporre di un modello separato per la generazione e la previsione dei dati per questo caso d'uso.
Tieni presente che non importa quanto predittivo possa essere un modello, è solo una semplificazione di un fenomeno che stai cercando di comprendere e prevedere, quindi la generazione di dati da questo modello potrebbe essere ancora più o meno distorta (e probabilmente generare risultati meno rumorosi di quelli reali). dati).Ma può comunque essere utile valutarne la robustezza alle variazioni dei dati come intendi fare.
E no, mi dispiace, non ho un set di dati che includa più fasi di trattamento. Ho appena trovato questo e lo uso per fornire un esempio illustrativo che potrebbe adattarsi al tuo caso d'uso, tutto qui.
Spero che questa risposta ti possa aiutare,
Ri: miglior modello@VictorG
Immagino che imparerò alcune nuove funzionalità di JMP. Per favore dimmi dove hai trovato la finestra di simulazione con le colonne da cambiare che stai mostrando. Non riesco a trovarlo da nessuna parte. Vedo dove eseguire esperimenti di simulazione, ma non riesco a trovare nessun punto che richieda il salvataggio di una formula di simulazione. Grazie.
Ri: miglior modelloCiao @dlehman1 ,
È possibile accedere alla funzione di simulazione facendo clic con il pulsante destro del mouse su qualsiasi pannello/report della piattaforma del modello: Avvia la funzione di simulazione
Ecco un esempio del riepilogo del modello di SVM:

Quindi ti verrà richiesto di scegliere le colonne da inserire e disattivare. Nel contesto di Simulate, è possibile utilizzarlo sulle stime dei parametri di un modello di regressione lineare, sostituendo la risposta con la risposta simulata per valutare la distribuzione delle stime dei parametri, o sul riepilogo del modello per valutare la coerenza delle prestazioni del modello : Simula finestra
Per quanto riguarda la formula di simulazione, può essere trovata e salvata come una delle opzioni in "Salva colonne" nella piattaforma di regressione generalizzata:

Utilizzo questa opzione "Simula" per valutare la robustezza dei modelli di machine learning utilizzando una formula di colonna di convalida. Utilizzando questa colonna come convalida nella finestra di dialogo del modello, posso quindi simulare e attivare e disattivare questi valori di colonna, per rappresentare set di training/convalida/test leggermente diversi con lo stesso metodo di stratificazione o raggruppamento. Può aiutare a valutare la robustezza dell'algoritmo (come la convalida incrociata consentirebbe anche: https://community.jmp.com/t5/Discussions/How-can-I-automate-and-summarize-many-repeat-validations-into /mp/632192/highlight/true#M83061 ), ed eventualmente testare il miglioramento delle prestazioni (se presente) del modello ottimizzando gli iperparametri ( https://community.jmp.com/t5/Discussions/Boosted-Tree- Tuning-TABLE-DESIGN/mp/609591/highlight/true#M81062 ).
Spero che questa risposta possa aiutarti,
Ri: miglior modelloCiao di nuovo
ad esempio guarda questa formula di simulazione:
(-0.741104921699375) + 0.0237113448295257 * :peso + Corrispondenza( :sesso,
0, (:età - 33.8085106382979) * 0.0091364700024452,
1, (:età - 33.8085106382979) * 0,
.
) + (:peso - 63,3936170212766) * Corrispondenza( :famiglia, 0, -0,015643799304455, 1, 0, . ) + (:dimensione del tumore - 2,49893617021277) *
Corrispondenza( :famiglia, 0, 0.441690642908435, 1, 0, . ) + (:dimensione del tumore - 2.49893617021277) * Corrispondenza( :iper, 0, -0.346279666197286, 1, 0, . )
+Corrispondenza( :iper, 0, Corrispondenza( :dissection, 0, 0.354356313550484, 1, 0, . ), 1, Corrispondenza( :dissection, 0, 0, 1, 0, . ), . ) + (0.15468861367462
+ 0) * Tangente( Pi() * (Uniforme casuale() - 0,5) )
ho bisogno di una formula come questa per il mio progetto perché dovrei scrivere un codice Python e generarlo 100 volte per calcolare l'ARL
sono riuscito a esprimere il mio punto?