Ottieni il valore MaxPro per qualsiasi progetto di riempimento dello spazioCiao cari utenti JMP ed esperti di scripting,
Vorrei confrontare diversi DoE (tipo Space-Filling). Alcuni sono generati con JMP (con tutte le proprietà di colonna necessarie per i fattori e la risposta), alcuni sono creati con altri strumenti esterni (quindi nessuna proprietà di colonna dopo l'importazione del file in JMP).
Poiché questi progetti sono di tipo Space-Filling, vorrei confrontarli in base alla discrepanza e ai valori del criterio MaxPro (qui un esempio con un progetto Fast Flexible Filling per 4 fattori continui):

Questi valori sono disponibili direttamente per i progetti generati da JMP nello script "DOE Dialog", ma non con strumenti esterni.
Ho letto l'indice degli script e la funzione " << Ottieni valori MaxPro ", ma non so come utilizzarla in uno script per DoE "esterni"?
In pratica, vorrei avere uno script in grado di calcolare le discrepanze e i valori MaxPro per qualsiasi progetto e di fornire una tabella dati con i risultati.
L'ideale sarebbe (magari un'idea per la Wish List), avere una piattaforma di confronto come Compare Designs , dove poter confrontare i fattori tra tabelle diverse e aprire una finestra con il confronto di questi due valori, discrepanza e criterio MaxPro.
Ho allegato due tabelle dati per i test, ciascuna delle quali è un progetto con 4 fattori continui, uno generato esternamente e uno generato con JMP.
Ogni aiuto è benvenuto!
Grazie,
Automazione e scriptingProgettazione degli esperimentiRe: Ottieni il valore MaxPro per qualsiasi progetto di riempimento dello spazioCiao @Victor_G ,
Di seguito è riportato un codice JSL che farà ciò che desideri. Non è niente di speciale o altro, e ho scritto esplicitamente tutti i comandi DOE per generare l'SFD. Potresti farlo in questo modo, oppure potresti anche puntare a una finestra di report ed estrarre il valore della casella numerica da essa. Ma, < <>
Speriamo che questo ti aiuti almeno a iniziare.
Names Default to Here(1);
dt = current data table();
dtdoe =
DOE(
Space Filling Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, 0, 0.5, "X1", 0 ),
Add Factor( Continuous, 0, 0.5, "X2", 0 ),
Add Factor( Continuous, 0, 0.5, "X3", 0 ),
Add Factor( Continuous, 0, 0.5, "X4", 0 ), Set Random Seed( 1622525169 ),
FFF Optimality Criterion( MaxPro ),
Space Filling Design Type( Fast Flexible Filling, 20 ), Simulate Responses( 0 ),
Set Run Order( Randomize ), Make Table}
);
MaxPro_value = dtdoe <<GET max="" pro="" values=""></GET>
<P> </P>
<P>Spero che questo aiuti!</P>
<P>S.S.</P>Re: Ottieni il valore MaxPro per qualsiasi progetto di riempimento dello spazioCiao @SDF1 ,
Grazie per il tuo interesse e per le tue prime idee!
Ho accesso ai valori MaxPro (e di discrepanza) per qualsiasi progettazione Space-Filling creata in JMP (sono calcolati di default) e stavo pensando di estrarli molto ingenuamente con "Make Into Datatable". Penso che ci possa essere un modo più elegante per farlo identificando qual è la proprietà di queste caselle di valori e creando uno script JSL da aggiungere a qualsiasi progettazione Space-Filling in JMP in modo che questi valori possano essere estratti in una datatable separata. Il tuo script è molto simile a quello "DOE Dialog" generato dopo la creazione di una progettazione Space-Filling in JMP.
La mia domanda era correlata alla domanda: è possibile calcolare i valori MaxPro e di discrepanza per qualsiasi progetto Space-Filling (anche quelli generati al di fuori di JMP) e, in caso affermativo, come crearne uno script o automatizzarlo?
MODIFICA: ho appena realizzato che potrei usare la tabella dati generata all'esterno di JMP e usarla come set di candidati nella piattaforma Space-Filling (per applicare le esecuzioni tramite l'uso di fattori di covariazione), in modo che JMP possa calcolare i valori MaxPro e di discrepanza (esempio qui con la tabella dati esterna fornita nel mio post originale):

Tuttavia non sono sicuro che questi valori siano corretti, poiché ottengo gli stessi valori MaxPro e di discrepanza indipendentemente dal design che carico in JMP con questo approccio "candidate set" (anche i design Space-Filling generati da JMP). Quindi questo sembra un bug e non valori calcolati effettivi. Se qualcuno ha un'idea su come effettuare i calcoli e visualizzarli, ne sarei molto felice!
Migliore,
Re: Ottieni il valore MaxPro per qualsiasi progetto di riempimento dello spazioCiao @Victor_G ,
Capito. Mi dispiace, non mi era del tutto chiaro che volevi fare il calcolo da solo, o almeno scriverlo e non estrarlo dalla finestra del report. L'ho letto come un "o l'uno o l'altro", o estrarlo dalla finestra del report o calcolarlo. Ma capisco perché vuoi calcolarlo da solo, perché sembra strano che tu ottenga lo stesso valore MaxPro indipendentemente dalla tabella che analizzi.
La guida online contiene un riferimento a un articolo di giornale: Joseph, VR, Gul, E. e Ba, S. (2015). "Maximum Projection Designs for Computer Experiments". Biometrika 102:371–380, che dovrebbe contenere la formula (o l'algoritmo) per calcolare MaxPro. Non ho accesso alla rivista Biometrika, ma se ce l'hai, dovresti essere in grado di impostare un po' di JSL per eseguire il calcolo per tuo conto. Dalla descrizione nella guida online di JMP, sembra quasi che stiano prendendo il prodotto scalare della distanza tra potenziali punti di progettazione e cercando di massimizzarlo.
Speriamo che questo aiuti a far progredire le cose.
S.S.
Re: Ottieni il valore MaxPro per qualsiasi progetto di riempimento dello spazioCiao @SDF1 ,
Grazie per il riferimento.
Potrei avere qualcosa da cui iniziare leggendo vecchi post della Community, utilizzando la piattaforma Hierarchical Clustering per accedere a Matrix Distance:
A = Current Data Table() <<
Hierarchical Cluster(
Y( :X1, :X2, :X3, :X4 ),
Method( "Ward" ),
Standardize By( "Columns" ),
Dendrogram Scale( "Distance Scale" ),
Number of Clusters( 3 ),
Set Random Seed( 2088588291 ),
SendToReport(
Dispatch( {"Dendrogram"}, "Clust Dendro", FrameBox,
{Frame Size( 35, 325 )}
)
)
);
A << Save Distance Matrix;
A << Close Window;
Poi, non so come usare la matrice delle distanze per ottenere le stesse informazioni presenti nella finestra di dialogo DOE da Space-Filling Designs: distanza minima, punti più vicini, valore MaxPro e valore di discrepanza.
Ho testato utilizzando la piattaforma Multidimensional Scaling con la matrice delle distanze generata in precedenza e definendo il numero di dimensioni come il numero di fattori originali nel mio progetto; sono in grado di individuare correttamente i punti più vicini, ma la distanza (minima) sembra essere diversa rispetto ai calcoli effettuati nella finestra di dialogo DoE:

Avete suggerimenti da @Mark_Bailey , @Ryan_Lekivetz e altri esperti JMP?
MODIFICA: Utilizzando "Non standardizzato" nelle opzioni del clustering gerarchico per il formato dei dati, ottengo le distanze giuste... Mi sto avvicinando!
Ora posso confrontare i progetti in base ai valori di distanza minima, media e massima e alla variabilità delle distanze tra i punti (intervallo, deviazione standard/varianza, ...). Ancora nessun calcolo MaxPro, ma una migliore comprensione della distribuzione dei punti nei progetti Space-Filling.
Anche l'uso della piattaforma Distributions e il confronto delle distribuzioni dei valori dei fattori con le distribuzioni uniformi (Beta con valori alfa e beta impostati su 1) mi aiutano ad avvicinarmi a questi valori di "discrepanza". Potrebbe esserci qualcosa a che fare con i valori p, la verosimiglianza logaritmica, i valori chi-quadrato che sembrano correlati alla discrepanza:

Re: Ottieni il valore MaxPro per qualsiasi progetto di riempimento dello spazioHo pubblicato due elementi della lista dei desideri su questo argomento:
Design Explorer per progetti che riempiono lo spazio
Confronta la piattaforma di design per progetti che riempiono lo spazio
Generare diversi design e usare le distanze dalla piattaforma Hierarchical Clustering aiuta già a valutare le "prestazioni" e la distribuzione dei punti dei design che riempiono lo spazio. Ecco un confronto visivo dei valori di distanza minima, media e massima di 2 tipi di design con un numero crescente di fattori (dimensionalità). Il primo vede un netto aumento delle distanze con l'aumento della dimensionalità, mentre il secondo sembra più "robusto" con un aumento lineare della distanza per quanto riguarda l'aumento dei fattori.

Osservando la varianza delle distanze tra i punti (che sembra essere correlata ai valori di discrepanza), il progetto 1 sembra avere un modo più compatto di distribuire i punti rispetto al progetto 2. Il progetto 2 è in grado di distribuire i punti con la stessa "variabilità" quando si aumenta la dimensionalità:

Re: Ottieni il valore MaxPro per qualsiasi progetto di riempimento dello spazioMi scuso per la risposta tardiva (e breve): c'è effettivamente un problema quando si carica un design esterno. Nota che, in particolare, quel denominatore si basa su distanze monodimensionali, quindi se hai un input che ha lo stesso valore, il denominatore è 0 (di solito stiamo cercando la proprietà non collassante, che protegge da questo). Da quello che ricordo, quella formula può essere utilizzata sulle stime in scala:
https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/fast-flexible-filling-design-details.shtml
Per evitare discrepanze, stavamo discutendo di aggiungere quella formula direttamente nella documentazione: se riesci ad accedervi, in Hickernell, è in fondo a pagina 317.
Fang, K., Lin, D., Winker, P. e Zhang, Y. (2000). “Progettazione uniforme: teoria e applicazione”. Technometrics 42:237-248.
Hickernell, F. (1998). “Un limite generalizzato di discrepanza e errore di quadratura”. Matematica del calcolo 67:299-322.