Non è possibile impostare DOE con molti vincoli<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Il mio cliente ha la seguente situazione per impostare un DOE:
3 componenti di una miscela (S, X, M, possono essere trattati come miscela o continua) più un componente riempitivo (W), nonché due fornitori per ciascuno degli ingredienti S e X, chiamati OS e OX (ciascuno categoriale con due livelli).
Le difficoltà aumentano con i vincoli, prima le gamme:
Intervallo S 0 -0,04
Intervallo X 0-0,006
Intervallo M 0-0,07
Intervallo W 0,884-1
OS L1, L2
bue L1, L2
Oppure come continuo, dove la fascia esprime la percentuale e il riempitivo non è più necessario in quanto non interessa affatto all'effetto del riempitivo stesso
Intervallo S 0 -4 [%]
Intervallo X 0-0,6 [%]
Intervallo M 0-7 [%]
OS L1, L2
bue L1, L2
Inoltre ci sono i seguenti requisiti:
- S+X >0, quindi S e X non possono essere 0 contemporaneamente
- Se X==0, S deve essere >0,5% (ma se X!=0, S può essere 0)
- Se S ==0, X deve essere >0,05% (ma se S!=0, X può essere 0)
- Se S==0, il sistema operativo non è consentito/non ha senso
- Se X==0, OX non è consentito/non ha senso
Il problema è che non possono esserci vincoli con i fattori di miscela diversi dagli intervalli o un semplice vincolo lineare per garantire S+X>0. E nel caso continuo non potremmo riuscire a impostare i vincoli in modo da soddisfare tutti i vincoli. Non con quelli lineari, né con le combinazioni non consentite, e non è nemmeno possibile una combinazione di entrambi.
Qualche idea su come potrei creare un design con le impostazioni di cui sopra?
In allegato alcune cose che ho provato finora. In uno ho creato un progetto vicino ai requisiti, ma ho pensato che non fosse sufficientemente bilanciato in quanto non esiste una corsa in cui si verifica solo S o X. Si prega di consultare i tre script per illustrare i comportamenti, e in particolare quello con la categoria di livello 3, poiché sono inclusi più design. I fattori vengono salvati nelle tabelle a tuo piacimento
Grazie per il vostro sostegno,
Martino
Re: Non è possibile impostare DOE con molti vincoliOK, grazie mille Ryan!
Re: Non è possibile impostare DOE con molti vincoliCiao Martino,
Non mi viene in mente nulla - e non è raro vedere una diagnostica che può sembrare negativa con combinazioni non consentite, semplicemente a causa dello spazio limitato.
Per quanto riguarda la forzatura nei livelli interni, se aggiungi alcuni dei poteri come Necessari, questa è un'opzione, oppure potresti provare a mantenere almeno alcuni dei poteri come Se possibile.
Se si utilizza il modello più semplice (con i poteri necessari) come progetto di riferimento in Confronta progetti, è possibile ottenere un confronto più diretto per ottenere un dato su quale progetto potrebbe essere preferito.
Saluti,
Ryan
Re: Non è possibile impostare DOE con molti vincoliCiao Ryan,
Potrebbe non essere necessario rispondere alla mia risposta di cui sopra.
Ho provato alcune altre cose con il cliente e ho trovato un design non-splot-plot semplicemente rimuovendo gli effetti S*OS, X*OX e OS*OX:
DOE (
Design personalizzato,
{Aggiungi risposta( Massimizza, "Y" , . , . , . ),
Aggiungi fattore( numerico discreto, { 0 , 1 , 2 , 3 , 4 }, "S" , 0 ),
Aggiungi fattore( numerico discreto, { 0 , 0,15 , 0.3 , 0,45 , 0.6 }, "X" , 0 ),
Aggiungi fattore( numerico discreto, { 0 , 1.75 , 3.5 , 5.25 , 7 }, "M" , 0 ),
Aggiungi fattore( Categorico, { "L1" , "L2" , "Nessuno" }, "OS" , 0 ),
Aggiungi fattore( Categorico, { "L1" , "L2" , "Nessuno" }, "BUE" , 0 ),
Imposta seme casuale( 695079790 ), Numero di avviamenti( 1000 ), Aggiungi termine( { 1 , 0 } ),
Aggiungi termine( { 1 , 1 } ), Aggiungi termine( { 2 , 1 } ), Aggiungi termine( { 3 , 1 } ), Aggiungi termine( { 4 , 1 } ),
Aggiungi termine( { 5 , 1 } ), Aggiungi termine( { 1 , 1 }, { 2 , 1 } ), Aggiungi termine( { 1 , 1 }, { 3 , 1 } ),
Aggiungi termine( { 1 , 1 }, { 5 , 1 } ), Aggiungi termine( { 2 , 1 }, { 3 , 1 } ),
Aggiungi termine( { 2 , 1 }, { 4 , 1 } ), Aggiungi termine( { 3 , 1 }, { 4 , 1 } ),
Aggiungi termine( { 3 , 1 }, { 5 , 1 } ), Imposta dimensione campione( 36 ),
Combinazioni non consentite(
s == 0 & X == 0 | 0 < S <= 0,5 | S > 0 & OS == 3 | S == 0 & (OS == 1 | Sistema operativo
== 2 ) | X > 0 & OX == 3 | X == 0 & (OX == 1 | bue == 2 )
)}
);
Questa sembra essere una varianza di previsione abbastanza buona e anche la trama FDS sembra ok. la potenza è abbastanza buona per la maggior parte degli effetti e anche la correlazione va bene. Ovviamente l'effetto Alias è maggiore per S*OS e X*OX.
Andresti con quel design o c'è qualcosa che diresti ti fa sentire nervoso?
E un'ultima domanda: c'è un modo per forzare l'avere i livelli interni per S e X anche nel design? a volte la metà inferiore delle concentrazioni potrebbe seguire uno schema diverso rispetto a quelle superiori
Grazie,
Martino
Re: Non è possibile impostare DOE con molti vincoliCiao Ryan,
si prega di leggere prima la seconda risposta in quanto quella probabilmente rende questa obsoleta.
Quindi ecco il mio script finale che ha una potenza decente e una varianza di previsione se si aggiungono più esecuzioni (ad esempio 36):
// 24 corse
DOE(
Design personalizzato,
{Aggiungi risposta( Massimizza, "Y", ., ., . ),
Aggiungi fattore (numerico discreto, {0, 1, 2, 3, 4}, "S", 0 ),
Aggiungi fattore (numerico discreto, {0, 0,15, 0,3, 0,45, 0,6}, "X", 0 ),
Aggiungi fattore( numerico discreto, {0, 1.75, 3.5, 5.25, 7}, "M", 0 ),
Aggiungi fattore( Categorico, {"L1", "L2", "Nessuno"}, "OS", 0 ),
Aggiungi fattore (categoriale, {"L1", "L2"}, "OX", 1 ), Imposta seme casuale ( 984492505 ),
Numero di inizi( 1000 ), Aggiungi termine ( {1, 0} ), Aggiungi termine ( {1, 1} ),
Aggiungi termine( {2, 1} ), Aggiungi termine ( {3, 1} ), Aggiungi termine ( {4, 1} ), Aggiungi termine ( {5, 1} ),
Aggiungi termine( {1, 1}, {2, 1} ), Aggiungi termine( {1, 1}, {3, 1} ),
Aggiungi termine( {1, 1}, {5, 1} ), Aggiungi termine( {2, 1}, {3, 1} ),
Aggiungi termine({2, 1}, {4, 1}), Aggiungi termine({2, 1}, {5, 1}),
Aggiungi termine({3, 1}, {4, 1}), Aggiungi termine({3, 1}, {5, 1}),
Aggiungi termine({4, 1}, {5, 1}), Ottimizza numero di interi grafici,
Imposta dimensione campione( 24 ), Combinazioni non consentite(
0 < S <= 0,5 | S > 0 & OS == 3 | S == 0 & (OS == 1 | OS == 2) | X < 0,05
)}
);
// 36 corse, ha molta più potenza e meno varianza di previsione
DOE(
Design personalizzato,
{Aggiungi risposta( Massimizza, "Y", ., ., . ),
Aggiungi fattore (numerico discreto, {0, 1, 2, 3, 4}, "S", 0 ),
Aggiungi fattore (numerico discreto, {0, 0,15, 0,3, 0,45, 0,6}, "X", 0 ),
Aggiungi fattore( numerico discreto, {0, 1.75, 3.5, 5.25, 7}, "M", 0 ),
Aggiungi fattore( Categorico, {"L1", "L2", "Nessuno"}, "OS", 0 ),
Aggiungi fattore (categoriale, {"L1", "L2"}, "OX", 1 ), Imposta seme casuale ( 1173606031 ),
Numero di inizi( 1000 ), Aggiungi termine ( {1, 0} ), Aggiungi termine ( {1, 1} ),
Aggiungi termine( {2, 1} ), Aggiungi termine ( {3, 1} ), Aggiungi termine ( {4, 1} ), Aggiungi termine ( {5, 1} ),
Aggiungi termine( {1, 1}, {2, 1} ), Aggiungi termine( {1, 1}, {3, 1} ),
Aggiungi termine( {1, 1}, {5, 1} ), Aggiungi termine( {2, 1}, {3, 1} ),
Aggiungi termine({2, 1}, {4, 1}), Aggiungi termine({2, 1}, {5, 1}),
Aggiungi termine({3, 1}, {4, 1}), Aggiungi termine({3, 1}, {5, 1}),
Aggiungi termine( {4, 1}, {5, 1} ), Aggiungi termine alias( {1, 1}, {4, 1} ),
Imposta N grafici interi ( 4 ), Imposta dimensione campione ( 36 ),
Combinazioni non consentite(
0 < S <= 0,5 | S > 0 & OS == 3 | S == 0 & (OS == 1 | OS == 2) | X < 0,05
)}
);
Come hai suggerito, ho rimosso manualmente i termini di ordine superiore e l'interazione S*OS. Grazie per questo.
Ho due domande aggiuntive:
- 1) Ho appena ricevuto una risposta. con lo Split Plot impostato così com'è, siamo costretti ad avere X sempre dentro. Ma vorrebbero avere anche la stima per X == 0 ma S >0,5. Ho provato a creare un nuovo design con OX con 3 livelli. Ho problemi a forzare OX "None" quando X == 0 , anche se X > 0 forzando OX != "None" (3) e continuo a ottenere calcoli di potenza, quindi ho rimosso l'effetto di interazione X*OX e OS *BUE. Ecco il mio design che alla fine mi è venuto in mente:
DOE (
Design personalizzato,
{Aggiungi risposta( Massimizza, "Y" , . , . , . ),
Aggiungi fattore( numerico discreto, { 0 , 1 , 2 , 3 , 4 }, "S" , 0 ),
Aggiungi fattore( numerico discreto, { 0 , 0,15 , 0.3 , 0,45 , 0.6 }, "X" , 0 ),
Aggiungi fattore( numerico discreto, { 0 , 1.75 , 3.5 , 5.25 , 7 }, "M" , 0 ),
Aggiungi fattore( Categorico, { "L1" , "L2" , "Nessuno" }, "OS" , 0 ),
Aggiungi fattore( Categorico, { "L1" , "L2" , "Nessuno" }, "BUE" , 1 ),
Imposta seme casuale( 1317349002 ), Numero di avviamenti( 1000 ), Aggiungi termine( { 1 , 0 } ),
Aggiungi termine( { 1 , 1 } ), Aggiungi termine( { 2 , 1 } ), Aggiungi termine( { 3 , 1 } ), Aggiungi termine( { 4 , 1 } ),
Aggiungi termine( { 5 , 1 } ), Aggiungi termine( { 1 , 1 }, { 2 , 1 } ), Aggiungi termine( { 1 , 1 }, { 3 , 1 } ),
Aggiungi termine( { 1 , 1 }, { 5 , 1 } ), Aggiungi termine( { 2 , 1 }, { 3 , 1 } ),
Aggiungi termine( { 2 , 1 }, { 4 , 1 } ), Aggiungi termine( { 3 , 1 }, { 4 , 1 } ),
Aggiungi termine( { 3 , 1 }, { 5 , 1 } ), Aggiungi termine alias( { 1 , 1 }, { 4 , 1 } ),
Imposta N interi grafici( 6 ), Imposta la dimensione del campione( 36 ),
Combinazioni non consentite(
0 < S <= 0,5 | S > 0 & OS == 3 | S == 0 & (OS == 1 | Sistema operativo == 2 ) | X > 0 & BUE
== 3 | X == 0 & (OX == 1 | bue == 2 )
)}
);
C'è qualcosa che dovrei evitare di usare questo design? A parte la frazione della trama dello spazio di progettazione, tutto sembra essere ok. E anche la trama di FDS non è poi così male, credo. Cambieresti qualcosa.
2) Avrebbe senso mantenere il progetto di split plot iniziale e farne un altro per S/OS invece di X/OX per ottenere una stima anche per l'opzione X==0? Non credo sia una buona idea combinare entrambi i risultati per rispondere alla domanda se ci sono differenze significative nei fornitori per le diverse combinazioni nel complesso, sei d'accordo?
Re: Non è possibile impostare DOE con molti vincoliOps, non avevo guardato abbastanza da vicino prima... Penso che ci siano un paio di cose da fare qui: in primo luogo, i termini numerici discreti per ordini più alti vengono aggiunti come Se possibile (questi devono essere rimossi manualmente). Il problema più grande è il termine di interazione S*OS, poiché non può essere stimato con le combinazioni non consentite. Il designer avrebbe dovuto prenderlo, ma non l'ha fatto, dovrò esaminarlo ulteriormente. Eseguendo quanto segue e rimuovendo quelli, se possibile, i termini dovrebbero apparire meglio. Vedrò se riusciamo a risolvere questi problemi in una versione futura.
Potresti provare a rimuovere quell'interazione e tornare al percorso continuo... ma invece di usare S==0, potresti voler qualcosa come S < 0,01. (nb questo può anche essere un problema con numerici discreti, a causa della memorizzazione dei doppi, quindi anche allora ho dovuto usare abs(S)<.0001 invece di S==0).
Saluti,
Ryan
DOE (Design personalizzato,
{Aggiungi risposta( Massimizza, "Y" , . , . , . ),
Aggiungi fattore( numerico discreto, { 0 , 1 , 2 , 3 , 4 }, "S" , 0 ),
Aggiungi fattore( numerico discreto, { 0 , 0,15 , 0.3 , 0,45 , 0.6 }, "X" , 0 ),
Aggiungi fattore( numerico discreto, { 0 , 1.75 , 3.5 , 5.25 , 7 }, "M" , 0 ),
Aggiungi fattore( Categorico, { "L1" , "L2" , "Nessuno" }, "OS" , 0 ),
Aggiungi fattore( Categorico, { "L1" , "L2" }, "BUE" , 1 ), Imposta seme casuale( 891554152 ),
Numero di avviamenti( 1000 ), Aggiungi termine( { 1 , 0 } ), Aggiungi termine( { 1 , 1 } ),
Aggiungi termine( { 2 , 1 } ), Aggiungi termine( { 3 , 1 } ), Aggiungi termine( { 4 , 1 } ), Aggiungi termine( { 5 , 1 } ),
Aggiungi termine( { 1 , 1 }, { 2 , 1 } ), Aggiungi termine( { 1 , 1 }, { 3 , 1 } ),
Aggiungi termine( { 1 , 1 }, { 5 , 1 } ), Aggiungi termine( { 2 , 1 }, { 3 , 1 } ),
Aggiungi termine( { 2 , 1 }, { 4 , 1 } ), Aggiungi termine( { 2 , 1 }, { 5 , 1 } ),
Aggiungi termine( { 3 , 1 }, { 4 , 1 } ), Aggiungi termine( { 3 , 1 }, { 5 , 1 } ),
Aggiungi termine( { 4 , 1 }, { 5 , 1 } ), Aggiungi termine alias( { 1 , 1 }, { 4 , 1 } ),
Imposta N interi grafici( 4 ), Imposta la dimensione del campione( 28 ),
0 < S <= 0,5 | S > 0 & OS == 3 | S == 0 & (OS == 1 | Sistema operativo == 2 ))});
Re: Non è possibile impostare DOE con molti vincoliCiao Ryan,
no, non l'ho fatto. Sembra funzionare, dovrò verificare con il cliente se è abbastanza buono e ok per utilizzare i valori discreti.
Una cosa che ho avuto guardando la valutazione del progetto e l'analisi della potenza, non posso stimare la potenza, ma immagino che ciò sia dovuto al numero discreto, giusto? La mappa dei colori mi sembra abbastanza ok:
La trama di Fraction of Design Space sembra strana dopo 0,6:

È a causa dei vincoli imposti?
Grazie,
Martino
Re: Non è possibile impostare DOE con molti vincoliPenso che tu stia riscontrando problemi utilizzando le combinazioni non consentite con uguaglianze su fattori continui. In particolare, quando si usa X==0 o S==0, qualcosa che è veramente vicino a 0 (anche visualizzato come 0) può finire per essere usato. Hai provato con numerici discreti per il continuo? Usando uno dei tuoi ultimi script, qualcosa del genere:
DOE (
{Aggiungi risposta( Massimizza, "Y" , . , . , . ),
//Aggiungi fattore( Continuo, 0, 4, "S", 0 ),
//Aggiungi fattore( Continuo, 0, 0,6, "X", 0 ), Aggiungi fattore ( Continuo, 0, 7, "M", 0 ),
Aggiungi fattore( numerico discreto, { 0 , 1 , 2 , 3 , 4 }, "S" , 0 ),
Aggiungi fattore( numerico discreto, { 0 , .15 , .3 , .45 , .6 }, "X" , 0 ),
Aggiungi fattore( numerico discreto, { 0 , 1.75 , 3.5 , 5.25 , 7 }, "M" , 0 ),
Aggiungi fattore( Categorico, { "L1" , "L2" , "Nessuno" }, "OS" , 0 ),
Aggiungi fattore( Categorico, { "L1" , "L2" }, "BUE" , 1 ), Imposta seme casuale( 513965188 ),
Numero di avviamenti( 1000 ), Aggiungi termine( { 1 , 0 } ), Aggiungi termine( { 1 , 1 } ),
Aggiungi termine( { 2 , 1 } ), Aggiungi termine( { 3 , 1 } ), Aggiungi termine( { 4 , 1 } ), Aggiungi termine( { 5 , 1 } ),
Aggiungi termine( { 1 , 1 }, { 2 , 1 } ), Aggiungi termine( { 1 , 1 }, { 3 , 1 } ),
Aggiungi termine( { 1 , 1 }, { 4 , 1 } ), Aggiungi termine( { 1 , 1 }, { 5 , 1 } ),
Aggiungi termine( { 2 , 1 }, { 3 , 1 } ), Aggiungi termine( { 2 , 1 }, { 4 , 1 } ),
Aggiungi termine( { 2 , 1 }, { 5 , 1 } ), Aggiungi termine( { 3 , 1 }, { 4 , 1 } ),
Aggiungi termine( { 3 , 1 }, { 5 , 1 } ), Aggiungi termine( { 4 , 1 }, { 5 , 1 } ), Imposta N interi grafici( 4 ),
Imposta la dimensione del campione ( 28 ), Combinazioni non consentite(
X < 0,05 | 0 < S <= 0,5 | S > 0 & OS == 3 | S == 0 & (OS == 1 | Sistema operativo == 2 )
Re: Non è possibile impostare DOE con molti vincoliCiao Martino,
Hai provato a utilizzare lo script di combinazioni non consentite? Ciò offre maggiore flessibilità per la definizione dei vincoli.
http://www.jmp.com/support/help/Define_Factor_Constraints.shtml#205355
Saluti,
Fil