La piattaforma PLS si sta riadattando senza convalida + come utilizzare il bootstrap?CIAO,
1) Sto facendo un PLS, ho 42 osservazioni. Il numero di possibili predittori varia da 24 a 79 a 240 a seconda di quanto preseleziono le variabili. La mia Y è categorica, 2 o 3. Dopo aver eseguito il lancio della piattaforma, arrivo alla parte NIPALS/SIMPLS e, indipendentemente dal tipo di convalida che utilizzo (Kfold, Leave on, e Holdout) o quanti fattori scelgo, ottengo sempre l'errore: "il modello migliore ha 0 fattori, refitting senza validazione".Qualche suggerimento su cosa posso fare per risolvere questo problema? Voglio davvero usare PLS, ma la modellazione senza alcuna convalida è semplicemente eccessiva...
2) Una volta ottenuto il risultato ho la formula di previsione. Quale sarebbe la procedura per avviarlo? Ho molta incertezza riguardo alla procedura per eseguire il bootstrap dei risultati; Vorrei che JMP introducesse già il bootstrap nel processo di convalida. Presumo che avrei bisogno di calcolare la media dei coefficienti bootstrap, ma eseguirei nuovamente il bootstrap di quella tabella, l'intero modello inc. Convalida k-fold (nel caso abbia funzionato)? In tal caso, dovrei utilizzare i dati centrati e scalati o i coefficienti originali? Dovrei inserire manualmente i risultati come formula, quindi presumo che dovrei avviare il bootstrap dei coefficienti originali, ma eseguirei il modello utilizzando i dati in scala centrati e fornirei i coefficienti originali, oppure eseguirei il modello utilizzando i coefficienti originali ? L'intera procedura non mi è chiara dal punto di vista del processo, cioè cosa succede passo dopo passo per raggiungere il risultato che desidero; qualsiasi aiuto/comprensione sarebbe apprezzato!
Grazie,
Uriel.
Modellazione predittiva e machine learningRi: La piattaforma PLS si sta riadattando senza convalida + come utilizzare il bootstrap?CIAO @utkcito ,
Ora capisco cosa intendevi originariamente con "bootstrap": eseguire la piattaforma bootstrap è un buon approccio, ma vorrai anche eseguire modelli predittivi con la rete neurale, GenReg, alberi potenziati e persino ottenere il componente aggiuntivo XGBoost- per confrontare le diverse formule di previsione su un set di test di validazione. Quando lo fai, ti consigliamo di essere sicuro e di ottimizzare le tue impostazioni in modo da ottenere l'adattamento migliore: gli adattamenti predefiniti non sono sempre così buoni.
Ma una cosa bella dell’approccio degli alberi è che si tratta di un approccio aggregato che utilizza molti alberi decisionali diversi per elaborare un modello. Se i fattori non sono molto importanti nel loro contributo, verranno automaticamente respinti e non verranno visualizzati come aventi un contributo elevato al modello complessivo. Tuttavia, a causa degli avvii casuali e del processo decisionale, gli approcci della foresta bootstrap e degli alberi potenziati non sono particolarmente stabili: quando esegui le stesse impostazioni molte centinaia di volte, vedrai che in realtà ottieni risposte e formule leggermente diverse. Questo è il motivo per cui è utile eseguire il bootstrap della "SS" o della "porzione" nel report di output (ad esempio nella foresta bootstrap) per ottenere una stima migliore di quanto sia realmente forte quel fattore nel modello.
Detto questo, ti consigliamo di assicurarti di utilizzare metodi di convalida incrociata per assicurarti di non adattarti eccessivamente. E, con una tabella di dati relativamente breve (non così tante misurazioni), sarà difficile farlo senza utilizzare un approccio "leave-one-out", a meno che non si utilizzi il metodo di convalida automatica che ho menzionato nella risposta precedente. Anche la convalida incrociata K-fold potrebbe essere un buon approccio per te.
Non sono sicuro di come siano i tuoi dati di input, ma sembra quasi che siano quelli che JMP chiama "dati funzionali", come spettri o altri dati spaziati regolarmente in cui ciascuna lunghezza d'onda (o valore x) è correlata al suo vicino. Potresti voler esaminare l'utilizzo di Esplora dati funzionali per generare un sottoinsieme migliore di predittori. In alternativa, la PCA è anche un buon approccio per ridurre la dimensionalità dei predittori e utilizzare un insieme più piccolo di vettori ortogonali per modellare i dati.
Per quanto riguarda i tuoi punti:
1) Esiste una ragione teorica (biologica, chimica, fisica) per includere così tanti termini incrociati diversi dall'approccio fattoriale *2? Se non hai una ragione teorica per includerli, allora non è molto significativo e potresti introdurre un falso predittore.
2) Nella piattaforma PLS, è importante considerare anche la risposta Y cumulativa nella sezione "Spiegazione della variazione percentuale" nel report. Se le combinazioni lineari dei tuoi predittori non spiegano gran parte della risposta in Y, la variazione percentuale spiegata sarà piuttosto bassa, indicando che i tuoi predittori non stanno facendo un lavoro particolarmente ottimo come combinazione lineare di spiegazione della variazione in Y e una diversa la piattaforma probabilmente funzionerà meglio. Con così poche misurazioni della risposta, cercare di adattare un numero così elevato di predittori porterà probabilmente a un adattamento eccessivo perché non si hanno abbastanza gradi di libertà. Insieme a PLS, potresti prendere in considerazione la possibilità di rivedere la piattaforma di analisi fattoriale in Analisi multivariata. Penso che le tue variabili relative alle citochine potrebbero essere troppe e perderai i tuoi gradi di libertà. Immagina di avere due punti e adattare una linea, o tre e adattare una parabola: ottieni un adattamento perfetto perché è esattamente il numero minimo di punti necessari per adattare quei polinomi, ma perdi qualsiasi grado di libertà e non puoi più stimare gli errori o qualità adatta. Penso che questo sia ciò che sta accadendo nella piattaforma PLS.
3) Le pagine della community sono le migliori. Li controllo sempre, soprattutto per gli script JSL mentre codifico in JMP. Quasi sempre c'è un frammento di codice risolto da qualcun altro che è esattamente ciò di cui ho bisogno per il mio lavoro. Mi piace anche rispondere alle domande e vedere in cosa posso aiutare, soprattutto quando imparo qualcosa di nuovo.
Buona fortuna!,
DS
Ri: La piattaforma PLS si sta riadattando senza convalida + come utilizzare il bootstrap?Ciao DS,
1) il motivo per cui ho da 24 a 237 variabili è esattamente perché dipende da quanta selezione di variabili faccio. 24 è dopo il bootstrap Forrest, quindi posso eseguire il fattoriale *2. 237 è l'intero set di citochine.
2) " anche i predittori devono variare con la risposta, altrimenti si ottiene quell'errore, il che significa che non ci sono combinazioni lineari dei predittori che spiegano la variazione nella risposta" Puoi spiegare qualcosa di più? Pensavo che la covarianza fosse tra loro, cioè fossero multicolineari, e che PLS utilizzasse tale covarianza tra le variabili creando i fattori che sono alla base di tale covarianza. Non sono sicuro di capire cosa intendi quando dici che devono covare con il risposta . Faccio fatica a pensare che su 24, 79 o 237 variabili di citochine (sono in realtà la media, la mediana e l'IQR delle misurazioni longitudinali), nessuna combinazione lineare di esse possa spiegare alcuna variazione della risposta (malattia critica in terapia intensiva); in effetti è già stato stabilito che lo fanno in altri contesti, quindi non capisco perché JMP lo faccia.
3) Grazie per la spiegazione su come rendere operativo il bootstrap, ha molto più senso e l'ho provato e funziona. Sono sempre sorpreso di quanto poco sia d'aiuto la documentazione formale di JMP, di quanto pochi dettagli su come funziona e come farlo funzionare e di quanto i forum, i tutorial, ecc. siano effettivamente di aiuto.
Molte grazie!
Uriel.
Ri: La piattaforma PLS si sta riadattando senza convalida + come utilizzare il bootstrap?CIAO @utkcito ,
Prima di tutto, PLS potrebbe non essere la migliore piattaforma da utilizzare per i tuoi dati. Potrebbe essere meglio eseguirlo come GenReg o Stepwise per vedere quali predittori sono effettivamente importanti nel tuo modello. Trovo molto strano che il numero di predittori vari da 24 a 240. Con così poche osservazioni relative al numero possibile di predittori, dovresti davvero eseguire uno screening dei predittori per assicurarti di non aggiungere troppi fattori non necessari nel tuo modello. PLS può gestirlo, ma anche i predittori devono covariare con la risposta, altrimenti si ottiene quell'errore, il che significa che non ci sono combinazioni lineari dei predittori che spiegano la variazione nella risposta. Tuttavia, se devi utilizzare PLS e non hai altra opzione, potresti prendere in considerazione la possibilità di modificare la tua risposta da categorica (2 o 3) a ordinale (2 o 3). Potrebbe essere in grado di trovare una soluzione numerica migliore. Consiglio vivamente anche di esaminare e utilizzare il file autovalidazione approccio per verificare il tuo ampio elenco di predittori.
In secondo luogo, quando JMP esegue qualsiasi adattamento, credo che in background utilizzi sempre dati centrati e ridimensionati per ottenere valori migliori delle stime e quindi ricalcoli le stime effettive. Pertanto, non importa cosa si finisce per eseguire il bootstrap, tuttavia potrebbe avere più senso o essere più facile interpretare i bootstrap di stima effettivi piuttosto che i dati centrati e ridimensionati. E sì, il bootstrap delle stime rieseguirà l'adattamento con qualunque convalida tu stia eseguendo.
Infine, per eseguire il bootstrap delle stime, fai clic con il pulsante destro del mouse sulla colonna delle stime nel report JMP e quindi seleziona bootstrap. Se è veloce, inserisci forse 5000, ma se è lento, lascialo a 2500. Assicurati di selezionare la casella "pesi frazionari. Eseguirà nuovamente l'adattamento più volte e quindi fornirà una distribuzione di valori per ciascun coefficiente dei predittori (basta eseguire lo script "distribuzione" nella tabella dei dati di output. Quindi, con la distribuzione e le statistiche visualizzate, puoi fare clic con il pulsante destro del mouse sulle statistiche di riepilogo e selezionare "crea in tabella dati combinata". Assicurati di personalizzare anche le statistiche di riepilogo per mostrare la proporzione diversa da zero.
La tabella dei dati combinati conterrà la media e la proporzione diversa da zero per le tue stime. Qui puoi vedere qual è la media (valore tipico) e quanto spesso (in termini percentuali) tale stima è diversa da zero: se quel numero è piccolo, la stima è spesso zero. Se è grande, la maggior parte delle volte è diverso da zero. Questo è un buon modo per determinare quali termini e termini misti sono necessari o non necessari nel modello.
Spero che questo ti aiuti,
DS