Selezione variabile e foresta BootstrapCiao,
Ho eseguito un'analisi della foresta Bootstrap con un risultato categorico con 230 funzionalità, molte delle quali sono altamente correlate. C'è un'enorme differenza nelle prestazioni tra il mio allenamento (AUC 0,98) e il set di convalida (0,68). Poiché i dati sono altamente dimensionali e molte variabili sono correlate, è necessaria una riduzione delle variabili. Posso usare GenReg con Lasso o altre tecniche penalizzate per questo scopo?. I miei dati non sono realmente distribuiti normalmente. Questo è uno dei motivi per cui ho preferito utilizzare un modello ad albero.
Grazie in anticipo,
Lu
Modellazione predittiva e machine learningRi: Selezione variabile e foresta BootstrapPer me, avere 1050 custodie e 230 funzionalità è un invito all'adattamento eccessivo.La tua drammatica differenza tra le prestazioni sui dati di allenamento e di convalida corrisponde a ciò che mi aspetterei da un adattamento eccessivo.Nella mia esperienza, le impostazioni predefinite nelle piattaforme modello JMP generalmente fanno un buon lavoro nell'evitare il problema, ma forse i tuoi dati sono un caso estremo.Potresti provare a forzare i modelli dell'albero in modo da evitare un adattamento eccessivo (ad esempio, puoi aumentare la dimensione minima di divisione per forzare un albero più semplice).Alla fine, penso che dovrai ridurre il set di funzionalità in un modo o nell'altro - la chiave è trovare le funzionalità che probabilmente saranno le più importanti - e avere una certa sicurezza di avere il set giusto (correlazioni tra le 230 funzionalità potrebbero renderlo difficile).Potresti anche provare alcune analisi dei componenti principali per ridurre il numero di funzionalità.
Ri: Selezione variabile e foresta Bootstrap@Lu : Quando ho parlato di stratificazione della risposta tra i livelli della risposta categoriale non mi riferivo alle suddivisioni% per la dimensione dei set di dati di training, validazione e test. Quello che consiglio è di selezionare la colonna di risposta come colonna di stratificazione, quindi nella finestra "Seleziona metodo" selezionare "Colonna di convalida stratificata". Ciò forza il più vicino possibile a una proporzione uguale di ciascun livello della risposta categoriale all'interno dei set di training, convalida e, facoltativamente, di test. A volte i demoni della selezione casuale pura creano uno SQUILLO significativo nei livelli della risposta, rendendo la validazione del modello potenzialmente più difficile. Ecco altra documentazione:
https://www.jmp.com/support/help/en/15.2/#page/jmp/launch-the-make-validation-column-platform.shtml
Per quanto riguarda i minimi quadrati parziali, i vantaggi, beh, non sono sicuro che ci siano vantaggi evidenti. Ma una cosa in cui PLS è MOLTO bravo è la creazione di variabili latenti per i predittori multicollineari, che possono a loro volta essere utilizzate per scopi di modellazione. Quindi è solo un diverso trattamento matematico dei predittori rispetto a Lasso, Elastic Net o qualsiasi metodo basato sugli alberi. Consulta la documentazione di JMP per questo approccio:
https://www.jmp.com/support/help/en/15.2/#page/jmp/partial-least-squares-models.shtml
La mia raccomandazione generale è di provare molti metodi di modellazione diversi... sia di tipo lineare che non lineare, compresi quelli menzionati da @Mark_Bailey , quindi esportare i risultati di ciascun modello sulle piattaforme Formula Depot o Model Comparison e vedere quale modello funziona meglio.
Non esiste un metodo adatto a tutti i problemi. Quindi provane molti e spero che tu possa trovare qualcosa che funzioni.
Ri: Selezione variabile e foresta BootstrapPotresti anche utilizzare la piattaforma Predictor Screening. Utilizza una foresta di bootstrap per raccogliere i contributi delle variabili, che possono essere utilizzati per selezionare le variabili per un modello. La foresta di bootstrap dovrebbe evitare nella maggior parte dei casi la collinearità.
Ri: Selezione variabile e foresta BootstrapGrazie per la risposta,
La dimensione del set di dati è di 1050 casi con 1 Y categoriale (leggermente sbilanciato 45/55). Le 230 caratteristiche che ho menzionato sono variabili (X), non la risposta. Alcuni di essi sono categorici, la maggior parte numerici. Ho utilizzato il metodo stratificato di addestramento/convalida/test (60/20/20) per l'addestramento e la convalida del modello.
Qual è il vantaggio di PLS rispetto a Lasso ed Elastic Net?
Saluti,
Lu
Ri: Selezione variabile e foresta BootstrapI metodi Lasso ed Elastic Net possono essere utili quando è presente multicollinearità tra le variabili predittive. Ciò che non mi è chiaro al 100% è quando dici "...230 funzionalità...", sono questi livelli categorici della risposta? O la tua variabile predittiva impostata?
Potresti voler leggere la documentazione di JMP Pro riguardante questi metodi:
https://www.jmp.com/support/help/en/15.2/#page/jmp/overview-of-the-generalized-regression-personality.shtml#ww349714
Potresti anche provare i minimi quadrati parziali.
Non menzioni la dimensione del tuo set di dati. Con una risposta categorica a volte un set di dati di piccole dimensioni può essere molto sensibile alla struttura dei set di dati di training, convalida e, facoltativamente, test. Li hai stratificati ciascuno in base ai livelli della risposta? Si tratta di una best practice generalmente riconosciuta per la creazione di set di dati di formazione, convalida e test.