La piattaforma PLS è in fase di refitting 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. Il mio Y è categorico, 2 o 3. Dopo aver eseguito il lancio della piattaforma, arrivo alla parte NIPALS / SIMPLS e non importa quale tipo di convalida utilizzo (Kfold, leave on, e holdout) o quanti fattori scelgo - ricevo sempre l'errore - "il miglior modello ha 0 fattori, rimontaggio senza convalida ".Qualche suggerimento su cosa posso fare per risolverlo? Voglio davvero usare PLS, ma la modellazione senza alcuna convalida è semplicemente overfitting ...
2) Una volta ottenuto il risultato, ho la formula di previsione. Quale sarebbe la procedura per avviarlo? Ho molte incertezze sulla procedura per eseguire il bootstrap dei risultati; Vorrei che JMP introducesse già il bootstrap nel processo di convalida. Suppongo che avrei bisogno di calcolare la media dei coefficienti di bootstrap, ma farei il bootstrap di quella tabella, l'intero modello incluso convalida k-fold (nel caso abbia funzionato)? In tal caso, devo utilizzare i dati centrati e scalati o i coefficienti originali? Dovrei inserire manualmente i risultati come formula, quindi presumo che dovrei eseguire il bootstrap dei coefficienti originali, ma quello eseguirebbe il modello utilizzando i dati in scala centrati e fornire i coefficienti originali, oppure eseguire il modello utilizzando i coefficienti originali ? L'intera procedura non mi è abbastanza chiara dal punto di vista del processo, ovvero cosa accade passo dopo passo per raggiungere il risultato che desidero; qualsiasi aiuto / intuizione sarebbe apprezzato!
Grazie,
Uriel.
AnalyticsRi: La piattaforma PLS si sta rimontando senza convalida + come utilizzare il bootstrap?Ciao @utkcito ,
Innanzitutto, 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 tuo numero di predittori sia compreso tra 24 e 240. Con così poche osservazioni relative al numero possibile di predittori, dovresti davvero fare uno screening dei predittori per assicurarti di non aggiungere troppi fattori non necessari nel tuo modello. PLS può gestirlo, ma i predittori devono anche covare con la risposta, altrimenti ottieni quell'errore, il che significa che non ci sono combinazioni lineari dei tuoi predittori che spiegano la variazione nella tua risposta. Tuttavia, se devi utilizzare PLS e non hai altre opzioni, potresti prendere in considerazione la possibilità di modificare la tua risposta da categoriale (2 o 3) a ordinale (2 o 3). Potrebbe essere in grado di trovare una migliore soluzione numerica. Consiglio vivamente anche di esaminare e utilizzare il file autovalidazione approccio per controllare il tuo ampio elenco di predittori.
In secondo luogo, quando JMP esegue un adattamento, credo che in background utilizzi sempre dati centrati e scalati per ottenere valori migliori delle stime e quindi calcola di nuovo le stime effettive. Quindi, non importa cosa finisci per eseguire il bootstrap, tuttavia potrebbe avere più senso o essere più facile interpretare i bootstrap stimati effettivi piuttosto che i dati centrati e scalati. E sì, il bootstrap delle stime eseguirà nuovamente l'adattamento con qualsiasi convalida tu stia facendo.
Infine, per eseguire il bootstrap delle stime, fai clic con il pulsante destro del mouse sulle stime della colonna nel rapporto JMP e quindi seleziona bootstrap. Se è veloce, mettine 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 dei valori per ciascun coefficiente dei predittori (è sufficiente 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 "trasforma 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 stime. Qui puoi vedere qual è la media (valore tipico) e quanto spesso (in percentuale) quella 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 meno nel modello.
Spero che sia di aiuto,
DS
Ri: La piattaforma PLS si sta rimontando 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 bootstrap forrest, e poi posso fare il fattoriale * 2. 237 è l'intera serie di citochine.
2) " anche i predittori devono covare con la risposta, altrimenti ottieni quell'errore - il che significa che non ci sono combinazioni lineari dei tuoi predittori che spieghino la variazione nella tua risposta "Puoi spiegare un po 'di più? Ho pensato che la covarianza è tra di loro, cioè sono multicolori, e che PLS utilizza quella covarianza tra le variabili creando i fattori che sono alla base di quella 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 delle citochine (sono in realtà la media, la mediana e l'IQR delle misurazioni longitudinali), nessuna combinazione lineare di esse possa spiegare qualsiasi variazione della risposta (malattia critica in terapia intensiva); in effetti è già stato stabilito che lo fanno in altre impostazioni, quindi non capisco perché JMP lo faccia.
3) Grazie per la spiegazione di come rendere operativo il bootstrap, ha molto più senso e l'ho provato e funziona. Sono sempre sorpreso di quanto poco sia di aiuto la documentazione formale di JMP, di quanto pochi dettagli su come funziona e su come farlo funzionare siano presenti e quanto i forum, i tutorial, ecc. Siano effettivamente utili.
Molte grazie!
Uriel.
Ri: La piattaforma PLS si sta rimontando senza convalida + come utilizzare il bootstrap?Ciao @utkcito ,
Ora capisco cosa intendevi originariamente per "bootstrap": eseguire la piattaforma bootstrap è un buon approccio, ma ti consigliamo anche di eseguire modelli predittivi con la rete neurale, GenReg, alberi potenziati e persino il componente aggiuntivo XGBoost- per confrontare la diversa formula di previsione su un set di test di convalida. Quando lo fai, vorrai essere sicuro e regolare le tue impostazioni in modo da ottenere la migliore vestibilità: le misure predefinite non sono sempre così buone.
Tuttavia, una cosa bella dell'approccio degli alberi è che è 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 spinti verso il basso e non mostreranno un contributo elevato al modello complessivo. Tuttavia, a causa degli avviamenti 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 è bene eseguire il bootstrap della "SS" o della "porzione" nel report di output (nella foresta bootstrap, per esempio) per ottenere una stima migliore di quanto sia forte quel fattore nel modello.
Detto questo, vorrai assicurarti di utilizzare metodi di convalida incrociata per assicurarti di non esagerare. E, con una tabella di dati relativamente breve (non molte misurazioni), sarà difficile farlo senza utilizzare un approccio di esclusione, a meno che non si utilizzi il metodo di autovalidazione 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 regolarmente distanziati in cui ogni lunghezza d'onda (o valore x) è correlata con il suo vicino. Potresti voler esaminare l'utilizzo di Esplora dati funzionale per generare un sottoinsieme migliore di predittori. Oppure, la PCA è anche un buon approccio per ridurre la dimensionalità dei predittori e utilizzare un set più piccolo di vettori ortogonali per modellare i dati.
Per quanto riguarda i tuoi punti:
1) C'è 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 esaminare 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 tua variazione% spiegata sarà piuttosto bassa, indicando che i tuoi predittori non stanno facendo un lavoro particolarmente eccezionale come combinazione lineare per spiegare la 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 probabilmente porterà a un overfitting perché non si hanno abbastanza gradi di libertà. Insieme a PLS, potresti prendere in considerazione la possibilità di rivedere la piattaforma Analisi fattoriale in Analisi multivariata. Penso che le tue variabili di citochine potrebbero essere troppe e perdi i tuoi gradi di libertà. Immagina di avere due punti e montare una linea, o tre e montare una parabola: ottieni un adattamento perfetto perché è esattamente il numero minimo di punti necessari per adattare quei polinomi, ma perdi tutti i gradi 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, specialmente per gli script JSL mentre codifico in JMP. Quasi sempre, c'è uno snippet di codice che qualcun altro ha risolto che è esattamente ciò di cui ho bisogno per il mio lavoro. Mi piace anche scorrere le domande e vedere cosa posso aiutare, specialmente quando imparo qualcosa di nuovo.
Buona fortuna!,
DS