Come imposto i vincoli per la variabile categorialeSto cercando di creare un progetto con circa 10 variabili categoriali, ciascuna con due livelli (0,1).Vorrei che il mio progetto modellasse gli effetti principali e tutte le interazioni binarie.Quando utilizzo le impostazioni predefinite di JMP, ottengo un progetto D-ottimale in modo tale che il numero medio di variabili cetegoriche al livello "1" sia di circa 5. Esiste un modo per limitare il progetto in modo tale da consentire solo al massimo 3 di le variabili devono essere al livello "1"?(Capisco che questo potrebbe richiedere più corse, ma a me va bene.)
Grazie.
Ri: Come imposto i vincoli per la variabile categorialeQuando dici non uguale, stai limitando troppo l'algoritmo con solo 100 esecuzioni. Potrebbe non essere possibile stimare tutti i termini del modello.
Ad esempio, quando limiti a soli 3 fattori la loro impostazione alta, ci sono 120 combinazioni possibili. Anche se scegli tutte le 120 combinazioni non puoi stimare un modello di effetti principali. Perché? Perché hai una singolarità incorporata. Nello specifico l'intercetta (una colonna di 1 nella matrice del progetto) sarebbe uguale a una combinazione lineare di tutti i fattori: 1/3*(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10 ). Pertanto, l'analisi non può essere completata e non è stato possibile trovare alcun progetto per tale modello.
Potresti stare meglio tornando a dire "non più di" 3 o 4 o qualsiasi livello desideri.
Ri: Come imposto i vincoli per la variabile categorialeDan, grazie ancora per una risposta molto utile.Sono felicemente alla ricerca di un buon design, ma mi ritrovo di nuovo ostacolato...
Sto cercando di creare un grafico che traccia la diagnostica del progetto (di particolare interesse è la varianza media della previsione) in funzione del numero di fattori categorici ad alto livello.In tutti i casi, ho dieci fattori a due livelli e consento solo un determinato numero di esecuzioni, 100.Mi aspetto che il design si degradi quando ne ho "troppi" o "troppo pochi" consentiti ad alto livello.
Pertanto, sto eseguendo lo script DOE più e più volte con una serie di vincoli diversi su quanti fattori consentiti ad alto livello, ad esempio:
Combinazioni non consentite (X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 2
Combinazioni non consentite (X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 3
Combinazioni non consentite (X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 4
Combinazioni non consentite (X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 5
Combinazioni non consentite (X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 6
Combinazioni non consentite (X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 7
Combinazioni non consentite (X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 != 8
(Sarebbe bello avere questo in un ciclo, ma ho solo copiato e incollato lo script).
Quello che trovo è che solo quelli con 2 o 8 fattori ai livelli alti convergono e realizzano il progetto!. Per gli altri, ricevo un messaggio di errore "la progettazione ottimale non è riuscita a convergere".C'è un modo per aggirare questo?
Ri: Come imposto i vincoli per la variabile categorialeNon è necessario utilizzare lo script per creare il design. Lo script è solo un modo conveniente per impostare tutto il lavoro.
Hai bisogno della sceneggiatura come avevo pubblicato per i vincoli. Dato il tuo desiderio di provare diversi scenari, consiglierei di utilizzare la GUI, ma specifica i vincoli lineari come "Script di combinazioni non consentite" e incolla lo script che ho fornito. Ciò ti consentirà di provare qualcosa e, se non ti piace, fai clic sul pulsante Indietro, apporta una modifica e riprova.
Per quanto riguarda il numero di esecuzioni, il numero minimo di esecuzioni è il numero totale di termini del modello che si sta tentando di stimare. Per 10 fattori di livello 2 avresti un'intercetta (1) + effetti principali (10) + interazioni a due vie (45). Ciò fornisce un totale di 56 termini, quindi questo è il numero minimo di esecuzioni.
Il numero predefinito di esecuzioni ha alcuni criteri incorporati che forniranno alcuni gradi di libertà per l'errore (di solito 4) e si adopereranno per l'ortogonalità (fino a un certo punto). Non è una formula semplice. Per questa stessa situazione, il numero predefinito di esecuzioni è 60 (motivo per cui Ryan ha generato quel progetto e nota 4 gradi di libertà per l'errore). Il numero predefinito di esecuzioni non tiene conto di alcun vincolo (a mia conoscenza!). Pertanto, se crei lo stesso disegno con o senza vincoli, il valore predefinito rimane 60. L'impostazione predefinita NON garantisce un design che soddisfi le tue esigenze! Come hai notato, quando aggiungi vincoli, trovare un buon progetto può essere più impegnativo e spesso richiederà più esecuzioni. Dal momento che 60 hanno dato risultati orribili, vai con un numero più alto. Non esiste un calcolo semplice che io conosca che ti dirà il numero di esecuzioni necessarie per ottenere un certo livello per la varianza media della previsione (ma non dimenticare la VARIANZA sulla varianza della previsione! In altre parole, non dimenticare la frazione di Design Space Plot).
Spero che questo aiuti e buona ricerca di un buon design!
Ri: Come imposto i vincoli per la variabile categorialeGrazie Ryan e Dan!
Ho lo script in esecuzione e posso realizzare i disegni. Ho aggiunto tutte le interazioni binarie tra le 10 variabili, ma ora è emersa un'altra domanda. Quando mi limito a un massimo di 3 fattori al livello superiore e consento solo 60 esecuzioni (come nella sceneggiatura), la diagnostica del progetto sembra davvero orribile (l'efficienza D è molto bassa e la varianza media della previsione è molto alta). Sembra che quando realizzo i progetti senza vincoli tramite la GUI, ci sia un calcolo in background per il numero minimo e predefinito di esecuzioni che viene popolato in base ai termini del modello. Quando utilizzo lo script, posso scegliere quante esecuzioni (Ryan ha scelto 60), ma c'è un modo per richiamare quel calcolo in background per il numero predefinito di esecuzioni?
(Quello che sto davvero cercando di fare è creare alcuni grafici per comprendere i compromessi tra il numero di variabili a due livelli, il numero massimo di variabili a livello superiore per esecuzione e il numero totale di esecuzioni necessarie per ottenere una determinata varianza media della previsione? )
Ri: Come imposto i vincoli per la variabile categorialeL'approccio di Ryan è esattamente quello che stavo per suggerire. Tuttavia, se vuoi DAVVERO lasciare i tuoi fattori come categorici (e supponendo che siano denominati x1 - x10), puoi specificare uno script Combinazioni non consentite simile a questo:
(x1 == 2) + (x2 == 2) + (x3 == 2) + (x4 == 2) + (x5 == 2) + (x6 == 2) + (x7 == 2)
+(x8 == 2) + (x9 == 2) + (x10 == 2) > 3
Nota che i fattori sono categorici, quindi ciascuno degli X# == 2 in realtà sta dicendo se quel fattore è al secondo livello.
Ri: Come imposto i vincoli per la variabile categorialeQuando mi imbatto in questo, di solito converto il categorico in un fattore numerico discreto 0/1, quindi utilizzo combinazioni non consentite per garantire che la somma non superi il numero desiderato di 1. Per 10 ingressi (modello di effetti principali, ma solo per darti un'idea), qualcosa del genere:
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ), Add Factor( Discrete Numeric, {0, 1}, "X1", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X2", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X3", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X4", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X5", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X6", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X7", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X8", 0 ), Add Factor( Discrete Numeric, {0, 1}, "X9", 0 ),
Add Factor( Discrete Numeric, {0, 1}, "X10", 0 ), Set Random Seed( 1550400750 ), Number of Starts( 3017 ),
Add Term( {1, 0} ), Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {4, 1} ),
Add Term( {5, 1} ), Add Term( {6, 1} ), Add Term( {7, 1} ), Add Term( {8, 1} ), Add Term( {9, 1} ),
Add Term( {10, 1} ), Set Sample Size( 16 ), Disallowed Combinations(
X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 > 3
), Make Design}
);