Ho scritto prima su come utilizziamo gli array di copertura creati da JMP per testare JMP stesso . Un esempio recente che è venuto dai miei colleghi Wenjun Bao e Joseph Morgan era così intrigante che volevo condividerlo con gli altri.
Per testare una piattaforma particolare in Genomica di JMP , ci sono 14 diversi fattori che possono essere variati, variando da 14 livelli a due livelli. Ciò che rende questo caso diverso dall'esempio delle preferenze del software di test Ho discusso in precedenza è che per tre dei fattori (opzioni di cluster gerarchico interattivo, opzioni di cluster gerarchico automatizzato, opzioni di raggruppamento minimo di ricombinazione), è possibile impostare solo uno per ogni esecuzione di prova. Questa restrizione deriva dal comportamento del seguente radiocomando:

In questo esempio, abbiamo un fattore per il metodo di raggruppamento del collegamento che ha tre possibili livelli. Ciascuno dei metodi di raggruppamento ha uno dei fattori sopra menzionati associati ad esso. Essenzialmente, questi tre fattori associati si dividono in tre casi separati da considerare. Se volessimo un array di copertura di forza 2, non potremmo semplicemente creare un array di copertura di forza 2 per ogni possibilità? Ciò garantirebbe che ogni possibile coppia (consentita) si verifichi nei nostri test.
Potremmo, ma ...
I due fattori con il maggior numero di livelli hanno rispettivamente 14 e 9 livelli. Se non avessimo alcuna restrizione, la matrice di copertura di forza 2 più piccola possibile ha 126 = 14 * 9 esecuzioni (e la piattaforma dell'array di copertura può trovare tale disegno). Tuttavia, se creiamo 3 array di copertura separati, ciò significa che ciascuno sarà di 126 esecuzioni, per un totale di 378 = 126 * 3 esecuzioni. Un array di copertura di forza 2 assicura che ogni coppia possibile si verifichi almeno una volta, ma scomponendola in tre matrici di copertura, finiamo per avere una copertura maggiore di quella di cui abbiamo bisogno. Combinando i tre array di copertura, ciascuna delle coppie non coinvolte nei fattori limitati si verifica in realtà almeno tre volte.
Ciò che sarebbe bello è un design che ha valori mancanti per fattori che non possono verificarsi in base alle altre impostazioni.
Veramente? Valori mancanti?
Quando ci pensi da un tradizionale DOE punto di vista, creare un design con valori mancanti sembra sciocco. Ma per la copertura di array, dove stiamo osservando combinazioni di fattori, ha perfettamente senso: se un fattore ha un valore mancante in una riga, significa che non è rilevante per quel particolare test. Questo significa anche che se vediamo un fallimento per quel test, sappiamo che il fattore mancante non è coinvolto nella causa. Fortunatamente, il nostro Strumento di analisi riconosce anche i valori mancanti.
OK, quindi come posso creare questo design?
Considerare uno dei tre metodi di raggruppamento, Clustering gerarchico automatizzato. Quando appare, un altro fattore, le opzioni di cluster gerarchico automatizzato, può assumere tre diversi livelli, mentre i fattori Opzioni di cluster gerarchico interattivo e minimo di ricombinazione dovrebbero mancare. Possiamo usare il pratico filtro delle combinazioni non consentito e quando il metodo di raggruppamento del collegamento è cluster gerarchico automatico, non consentire tutti i valori per le opzioni di cluster gerarchico interattivo, unirsi a un OR e fare la stessa cosa con le opzioni di raggruppamento gerarchico automatizzato e raggruppamento minimo di ricombinazione.

Potremmo quindi seguire una procedura simile per gli altri due metodi di raggruppamento che collegano questi con istruzioni OR dal filtro dati. Quindi dovremmo essere pronti per creare il design ...
Non ancora
Abbiamo trascurato una cosa nelle nostre combinazioni non consentite che è molto facile trascurare - il progettista cercherà ancora di fare in modo che coppie di questi fattori ristretti si presentino in file con il metodo di raggruppamento mancante, il che non ha alcun senso per il nostro progetto. Quindi, dobbiamo disabilitare tutte le possibili combinazioni tra queste colonne. Ad esempio, se scegliamo Opzioni di cluster gerarchico interattivo e Opzioni di cluster gerarchico automatizzato dal filtro, otterremmo (con le precedenti combinazioni non consentite ritagliate dall'alto):

Dopo aver eseguito queste combinazioni e le combinazioni non consentite menzionate in precedenza, tutte collegate tramite OR nel filtro, possiamo creare il design.
Il design
La piattaforma Covering Array ci trova un progetto a 140 run (più su questo in un po ', ma questa è, in realtà, la dimensione di run più piccola possibile), con una sola opzione di Clustering gerarchico interattivo, opzioni di cluster gerarchico automatizzato, raggruppamento minimo di ricombinazione Opzioni impostate per ogni riga e le altre due mancanti. Ho messo la tabella dei dati sul Scambio di file nella comunità di utenti JMP , dove puoi vedere il risultato finale e dare un'occhiata a come apparivano le risultanti combinazioni non autorizzate.
Pensieri finali
Mentre era necessario del lavoro extra per impostare le combinazioni non consentite, il risparmio nel numero di test (378 vs 140) era drammatico. Con l'aiuto del filtro delle combinazioni non consentito, una volta determinato ciò che dovrebbe essere disabilitato, è stato facile inserirle, anche con un numero di combinazioni diverse.
Il lettore appassionato potrebbe aver notato che potevo collassare tutti i valori possibili delle tre variabili in un fattore con 10 livelli (questo è il modo in cui sapevo che 140 = 14 * 10 corse era il limite inferiore). Mentre è certamente possibile costruire il progetto in questo modo, è facile perdere il contesto di ciò che quella variabile sta cercando di descrivere.
Esegui simili tipi di problemi quando utilizzi gli array di copertura? Se c'è interesse, possiamo vedere come aggiungere la capacità di generare facilmente la combinazione specializzata non autorizzata quando alcuni fattori non possono essere testati insieme. Grazie per aver letto!