Parametri di ottimizzazione della foresta Bootstrap, numero di suddivisioni e formula di previsioneGentili JMP e comunità,
(W10 Enterprise, JMP Pro 15.0.0)
Sono curioso di sapere quale dei parametri di ottimizzazione per la modellazione della foresta bootstrap influisce sul numero di suddivisioni su ciascun fattore. Ho familiarità con l'utilizzo di una tabella di sintonizzazione e così via per ottimizzare l'adattamento per massimizzare l'adattamento, ad esempio R ^ 2 per il set di convalida. Dei sei parametri evidenziati di seguito, quale (i) può influenzare il numero di divisioni (dai contributi della colonna)?

Se guardi l'output del report dalla foresta bootstrap, c'è una colonna in Contributi colonna chiamata "Numero di divisioni". Se si sommano queste divisioni, si ottiene il numero totale di divisioni nella foresta. Presi singolarmente, questi sono il numero di volte in cui il modello si è suddiviso su un dato parametro.

Se poi inizi a esaminare i dettagli nella formula che puoi salvare nella tabella dei dati, a volte possono esserci differenze tra il numero di volte in cui il parametro viene conteggiato in una formula e il numero di divisioni su quel parametro.
Ad esempio, se un parametro ha 1000 suddivisioni, dovrebbe apparire nella formula due volte per un totale di 2000 volte, il che ha senso. Questo non sempre accade, però. Sospetto che sia dovuto a uno dei parametri di accordatura, ma non ne sono sicuro. In caso contrario, cos'altro potrebbe influire su questo?
Per fare un esempio specifico, di seguito è riportata una schermata dei contributi della colonna da un adattamento e il confronto con 2*numero di divisioni e il numero di volte in cui tale parametro viene conteggiato nella formula. Come si può vedere, il numero di volte in cui il parametro compare nella formula (es. 12626 per X_1) non corrisponde a 2*numero di divisioni (12636 per X_1). A volte è vicino, a volte è abbastanza grande (vedi colonna "Differenza"). Inoltre, la cosa interessante è che le differenze si sommano a zero. Quindi, qualunque cosa stia causando queste differenze viene "ponderata" in modo tale da non modificare effettivamente il numero totale di divisioni, ma solo il modo in cui sono allocate.

Trovo molto interessante che nella formula il parametro X_11 si trovi 276 volte più di 2*numero di split. Per me, questo suggerisce che in alcune divisioni non si decide in modo uniforme su X_11, ma piuttosto su un altro parametro. E lo fa in modo tale che il numero totale di divisioni rimanga costante. Potrebbe essere correlato ai termini campionati per divisione o alla dimensione minima della divisione? Ho provato alcuni test manuali e non sono riuscito a determinare in che modo uno di questi influisca sul numero di divisioni.
A proposito, copio la formula in Word ed eseguo un semplice conteggio sul parametro, X_1, X_2, ecc. Data la dimensione della formula e il numero di alberi, non c'è modo di cercare manualmente per trovare cosa sta causando questo. Sfortunatamente, non conosco alcun modo per valutare la formula con Text Explorer o qualcosa di simile all'interno di JMP.
Qualsiasi feedback da parte degli sviluppatori di JMP o dei modellatori della community è molto apprezzato.
Grazie,
DS
Oggetto: parametri di ottimizzazione della foresta Bootstrap, numero di divisioni e formula di previsioneCIAO @Byron_JMP ,
Sì, capisco che il numero di divisioni è il numero di volte in cui l'algoritmo sceglie di dividere un albero su quella particolare variabile. Se si scava un po' più a fondo nella formula scritta nella colonna, il numero di suddivisioni riportato nei contributi della colonna non è sempre esattamente la metà del numero di volte in cui il fattore X viene conteggiato nella formula.
Potresti considerare che una decisione sull'albero potrebbe essere qualcosa di simile (solo come esempio):
If(Manca(X_1) | X_1 <=32, 41, 35)
Se questo è il caso di ogni decisione, allora ti aspetteresti che il numero di volte in cui X_1 compare nella formula sia esattamente 2*il numero di divisioni associate a quel fattore.
Ma, se invece l'albero decisionale assomiglia più a:
If(Manca(X_1) | X_3 > 16, 20, 18)
Quindi potresti avere una situazione in cui il numero di volte in cui un albero è diviso su quella variabile differisce dal numero di volte in cui appare nella formula. Cosa potrebbe guidarlo quando vengono costruiti gli alberi decisionali?
Nella particolare situazione del post originale, puoi vedere che i fattori X_1, X_2 e X_7 si bilanciano a vicenda in modo tale che i valori sommati nella colonna "Differenza" danno come somma 0. Lo stesso vale per tutti gli altri fattori X quando le loro differenze vengono sommate.
Quindi, in questo caso, il fattore X_1 viene effettivamente utilizzato 5 volte MENO (Differenza/2) nella formula rispetto a quanto riportato dalla colonna Numero di suddivisioni nella colonna Contributi. Allo stesso modo, per X_2 e X_7, sono usati rispettivamente 124 volte PIÙ e 119 volte MENO nella formula. Se li sommi: 5 + (-124) + 119 = 0.
Potrebbe essere informativo mancante? Questo è troppo "perfetto" per essere una coincidenza, IMHO. Non riesco proprio a capire quale parte (i) del processo di messa a punto sia responsabile di questo.
Per quanto riguarda le tue domande:
1. Uso l'opzione Uniforme di riempimento dello spazio DOE per generare un ampio set di almeno 60 esecuzioni (10 volte il numero di fattori che sto modificando). Quindi, replico il DOE un paio di centinaia di volte e lo eseguo: lo faccio tramite script in modo che non consumi tutta la mia RAM. L'esecuzione può richiedere un paio di giorni.
2. Prendo la mia tabella di dati originale e la divido 80/20 insieme di dati di addestramento/test. Ho quindi diviso la tabella dei dati originale in tabelle di solo addestramento e test solo. Uso la tabella di addestramento e utilizzo una sospensione casuale tra circa 0,18 e 0,25 del set di dati per convalidare l'adattamento del modello. Ancora una volta, lo faccio attraverso lo scripting in modo da poter trovare i valori ottimali per l'ottimizzazione e l'utilizzo come parte di convalida. Trovo spesso che un'esatta ripartizione addestramento/convalida 80/20 non sia ottimale come qualcosa di leggermente fuori posto, diciamo .79/.21. Spesso puoi ottenere un R ^ 2 leggermente migliore sul set di convalida.
Grazie,
DS
Oggetto: parametri di ottimizzazione della foresta Bootstrap, numero di divisioni e formula di previsioneQuesta potrebbe non essere una risposta molto soddisfacente, ma il numero di divisioni è solo un conteggio di quante volte la variabile era il posto migliore per dividere un ramo.
Non c'è davvero un controllo su quante volte una variabile può essere divisa.
Forse un paio di domande per te:
1. Come stai costruendo il tuo tavolo girevole e quante piste usi?
2. Quando ti sintonizzi, ti sintonizzi sull'intero set di dati o su un sottoinsieme casuale?
-quale percentuale di dati usi in un sottoinsieme (se lo fai)
le tue osservazioni sul nome del parametro utilizzato nelle formule sono interessanti. Potrei esaminarlo un po'.