Esperimento di simulazione con fattore categoriale casualeCiao a tutti,
Sto cercando di esaminare gli effetti della variazione del fattore continuo "liquido" sulla risposta ("forza") nell'esempio Flrpast.jmp. Nel modello finale, ho "Liquido", "Farina" e "Tipo" come fattori.
Vorrei eseguire un "Esperimento di simulazione" in base al quale per ogni corsa sperimentale (composta da 5000 N prove), avrei "Liquido" a un livello unico (tra 4 e 5), "Farina" fissata su Bianco e "Tipo " variando casualmente tra Acqua e Latte con uguale probabilità (quindi circa 2500 N Corse per ogni tipo). So che dalla piattaforma Simulation Experiment, potrei semplicemente selezionare "Liquido" nell'elenco dei fattori su cui sperimentare e lo script genererebbe una tabella in base alla quale ogni riga corrisponderebbe a una di queste esecuzioni sperimentali. Il problema è che Simulation Experiment accetta solo il tipo "Fisso" per il fattore categoriale, quindi non sarò in grado di variare tra Latte e Acqua per "Tipo".
Un'opzione che sto attualmente utilizzando per aggirare questo problema è farlo manualmente modificando il valore "Liquido" nell'immagine sottostante e registrando ogni volta il risultato della simulazione. Mi chiedo solo se questo potrebbe essere qualcosa che potrebbe essere facilmente fatto con lo scripting?
In allegato è il file "Flrpaste.jmp" modificato - fare riferimento allo script "Simulator" per generare l'interfaccia di simulazione come mostrato.
Grazie!

AnaliticaRe: Esperimento di simulazione con fattore categoriale casuale
@hxnduke ha scritto:
Grazie per il suggerimento, @martindemel
Sono un po' confuso. Nello script "Simulation Experiment Table", vengono forniti i valori di tutte le colonne oltre a Round(Type), ma come hai ottenuto questi valori? Inoltre, sembra che la colonna Round(Type) sia stata creata dopo la generazione della tabella di simulazione? In tal caso, la simulazione non sarebbe condotta sulla base di valori di Tipo come 1.2, 1.6 ecc. piuttosto che sui valori rotondi di 1 o 2?
Ok, penso che sia colpa mia. Hai ragione sul tasso di difetto complessivo, ODR, (poiché le altre colonne sono state calcolate in base ai valori numerici e il Round è stato applicato successivamente. Per avere un modello che tenga conto solo di 1 e 2 è necessario modellare ODR per Tipo e Liquido. Nella formula di previsione salvata scambi Type by Round(Type) poiché ora calcoliamo in base al modello l'ODR solo per 1 e 2 valori.
Quindi puoi regolare lo script del processo gaussiano con la colonna log10(newODR) e prima di eseguire impostare il limite di risposta per quella colonna da ridurre al minimo. Nel profiler puoi vedere i livelli 1 e 2 che hanno un impatto. Blocca Round(Type) e impostalo su 1, quindi ottimizza. Fai lo stesso per 2. E confronta i risultati. Questo probabilmente dà quello che vuoi.
Tuttavia, forse un altro approccio sarebbe quello di salvare la formula di previsione del modello con effetto categoriale. Quindi crea una tabella di simulazione di cui hai bisogno per le variabili continue, aggiungi una colonna categoriale casuale con i livelli necessari e aggiungi la formula della colonna di previsione in una nuova colonna. Questo ti fornirà una tabella di simulazione con tutti i livelli necessari per il tuo valore categoriale in base al modello creato in prima istanza.
Re: Esperimento di simulazione con fattore categoriale casualeGrazie per il suggerimento, @martindemel
Sono un po' confuso. Nello script "Tabella dell'esperimento di simulazione", vengono forniti i valori di tutte le colonne oltre a Round(Type), ma come hai ottenuto questi valori? Inoltre, sembra che la colonna Round(Type) sia stata creata dopo la generazione della tabella di simulazione? In tal caso, la simulazione non sarebbe condotta sulla base di valori di Tipo come 1.2, 1.6 ecc. piuttosto che sui valori rotondi di 1 o 2? Capisco perfettamente il tuo punto di usare la colonna Round(Type) come input per l'esperimento di simulazione, semplicemente non sono del tutto sicuro di come ciò possa essere fatto prima che la simulazione venga effettivamente condotta per calcolare il tasso di difetto ecc.
Ad esempio, questo fa parte dello script che mostra come viene generata la colonna Forza media nello script Simulation Experiment Table:
New Column( "Strength Mean",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[9.22251973143198, 9.52515071457111, 9.13419539683891, 8.40703105322384,
7.77461735393402, 7.52128272230656, 9.09993409369168, 9.55028950380741,
L'altra mia domanda è: è possibile farlo con fattori categoriali con più di 2 livelli? Per lo studio su cui sto lavorando, esiste un fattore categoriale con 5 livelli, quindi non sono sicuro se funzionerebbe a meno che non aggiunga termini di secondo, terzo e quarto grado per Tipo?
In alternativa, sarebbe possibile scrivere uno script per automatizzare il manuale, una procedura di simulazione alla volta utilizzando il pulsante Simula, ma avendo invece Liquid in esecuzione in un ciclo for?
Re: Esperimento di simulazione con fattore categoriale casualel'unico modo in cui mi viene in mente di utilizzare il valore categoriale in un esperimento di simulazione è imbrogliare.
È necessario creare una colonna continua con i valori 1 e 2, ad esempio .Questo può essere fatto selezionando la colonna Tipo. Poi menu Cols, utilità, etichette a codici. Ciò cambierà le voci di colonna in 1 e d2 e manterrà i valori originali come etichette. Ovviamente puoi creare una nuova colonna per un comportamento simile.
Quando usi la simulazione puoi usare uniform. Nell'esperimento di simulazione creato aggiungi una colonna facendo clic con il pulsante destro del mouse su tipo colonna, Nuova colonna formula, trasforma, arrotonda. Con ciò crei una nuova colonna di 1 e 2 che sono equamente distribuite.
Ora devi cambiare lo script del modello per usare questa colonna invece della colonna del tipo, in questo esempio quando non hai cambiato nulla :Type deve essere scambiato con :Name("Round[Type]") nello script se vuoi per eseguire il modello.
In allegato una modifica della tua tabella di dati (incluso uno script che crea la tabella di simulazione ne).