I wondered if it was it possible to create an optimal design for any run size?I wondered if it was it possible to create an optimal design for any run size?I wondered if it was it possible to create an optimal design for any run size?Mi chiedevo se fosse possibile creare un design ottimale per qualsiasi dimensione della corsa?
Quando appresi per la prima volta la progettazione di esperimenti nella scuola di specializzazione, coprimmo i soliti sospetti: progetti fattoriali fattoriali e frazionari con fattori a due livelli. Questi disegni sono popolari proprio perché consentono agli effetti principali di essere indipendenti l'uno dall'altro; il focus dei fattoriali frazionari è quello di risparmiare sulle corse a scapito dell'aliasing con effetti di interazione. Mentre imparavo la risoluzione e come scegliere un fattoriale frazionario rispetto ad un altro, ero arrivato ad accettare che il numero di corse sarebbe stato sempre una potenza di 2. Quando abbiamo toccato brevemente i progetti Plackett-Burman, ho visto che la dimensione della corsa poteva essere generalizzata a un multiplo di 4. Ma oltre a ciò, sembrava che un buon design non fosse possibile.
Flash avanti di diversi anni e sto giocando con la piattaforma Custom Design in JMP per la generazione di progetti sperimentali per i clienti dei Sandia Labs. Era la prima volta che vedevo dove si potevano specificare le dimensioni della corsa che ti piacevano. Ora tendevo ad attenermi alle dimensioni della corsa che erano, preferibilmente, multipli delle combinazioni di livelli dei fattori come sembrava giusto. Ma fu in quel periodo che una domanda cominciò a tormentarmi; è stato possibile creare un design ottimale per qualsiasi dimensione della corsa?
Ora, per chiarire, la risposta è tecnicamente sì poiché JMP, proprio come altri software, utilizza un algoritmo per cercare il design ottimale dato quello iniziale. Ma non è esattamente quello che stavo chiedendo. Quello che volevo sapere era se fosse possibile costruirne uno direttamente, proprio come i disegni fattoriali fattoriali e frazionari.
Per quelli inconsapevoli, i disegni fattoriali fattoriali e frazionari sono essenzialmente tipi speciali di matrici conosciute come matrici Hadamard. Ciò che rende speciali queste matrici è che, quando si prende la trasposizione della matrice e la si moltiplica per la matrice originale (ad esempio, X ^ t * X), si finisce con una matrice diagonale. Questo è esattamente il motivo per cui sono usati come disegni fattoriali fattoriali e frazionari; la matrice diagonale è equivalente alla matrice di covarianza e quindi rappresenta effetti principali indipendenti.
Quando ho appreso questo fatto, mi è venuta voglia di esplorare ancora di più la mia domanda. Ma non è stato fino al mio primo anno in JMP che sono stato in grado di farlo. Ho iniziato come al solito; giocare con la matematica, lentamente acquisire informazioni su possibili metodi di costruzione. Ho discusso del mio lavoro con i miei colleghi, @ryan_lekivetz e @Joseph Morgan e Ryan mi ha inviato un articolo di Dennis Lin su disegni super saturi che pensava potesse suscitare il mio interesse a causa di temi simili. Sebbene non si riferisse direttamente al mio lavoro, uno dei riferimenti lo ha fatto. Ed è lì che tutto è cambiato.
La gioia della riscoperta
Mi sembrava di essermi imbattuto in una porta nascosta che, aprendola, rivelava un nuovo mondo strano e meraviglioso (la somiglianza con l'esperienza di Lucy in CS Lewis Il leone, la strega e l'armadio , sebbene non intenzionale, è abbastanza appropriato). Leggere quel riferimento ha portato a un altro, che ha portato a un altro, e ancora e ancora e ancora fino a quando non avessi compilato abbastanza la raccolta di letteratura. Cosa c'era di così affascinante in questi articoli? Tutti hanno discusso dei metodi di costruzione diretta per generare progetti D-ottimali per fattori a due livelli praticamente per qualsiasi dimensione della corsa !!
Ora, per evitare l'iperbole, dovrei dire che anche se esistono tali metodi, non esistono per ogni singola dimensione di esecuzione possibile e alcuni dei metodi sono piuttosto complessi. Ma il fatto che esistessero metodi diretti mi ha emozionato! E, a quanto pare, per una buona maggioranza di casi pratici, le procedure di costruzione erano piuttosto semplici e prevedevano l'aggiunta o la sottrazione di corse dai noti disegni fattoriali fattoriali e frazionari (si scopre che questo era ciò a cui la mia ricerca personale stava andando incontro; come al solito, mi ritrovo spesso a riscoprire la ruota ... vabbè). In effetti, sono rimasto sorpreso di non aver mai sentito parlare di alcuni di questi metodi durante il mio periodo di studi universitari. Inoltre, potrebbe essere qualcosa che impareresti solo dopo aver imparato i disegni fattoriali fattoriali e frazionari, che richiedono un tempo significativo per padroneggiare da soli.
Ho condiviso questi metodi con i miei colleghi, che hanno immediatamente visto l'impatto che tali metodi potrebbero avere nella creazione di progetti ottimali. Immagina che, invece di dover implementare un algoritmo di ricerca per trovare eventualmente un progetto D-ottimale, potresti costruirne uno da zero e garantirlo matematicamente come D-ottimale. Ora immagina di poterlo fare per una vasta gamma di dimensioni della corsa; di nuovo, non tutti, ma una grande maggioranza che è sufficiente a coprire situazioni pratiche. Beh indovina un po '? Non devi più immaginarlo !!
The Punchline
Questa è gente giusta. Nel JMP 15 , ora implementiamo le semplici procedure di costruzione per generare progetti D-ottimali direttamente nella piattaforma Custom Design! "È bello", potresti dire, "ma come cambia le cose?" Beh, sì, non è così visibile o affascinante come, diciamo, creare una nuova piattaforma di costruzione di design super saturo . Ma forse la seguente dimostrazione può aiutare a illustrare:

Entrambi questi progetti implicano lo stesso numero di fattori (31) e dimensioni della corsa (34) ed entrambi sono stati creati per essere D-ottimale. Si noti che la dimensione della corsa non è un multiplo di 4 (o è possibile ricontrollare da soli, non giudicherò ... basta fissare condiscendente). Nella versione a sinistra, l'algoritmo ha impiegato quasi 30 secondi per trovare quello che spera sia il design D-ottimale. Nella versione a destra, ha creato un design chiaramente più efficiente in termini di D quasi istantaneamente. Ora, a questo punto, vorrei ricordare che provengo da un background di test accelerato. Lo dico perché, in quel contesto, siamo abituati a far girare le cose fino a livelli estremi. Quindi che ne dite di portare questo esempio qui ad un estremo?
In questo caso, il numero di fattori è 531 e il numero di corse è 1059 (il sogno di uno sperimentatore e il peggior incubo tutto in uno). Nella versione a sinistra, l'algoritmo ha impiegato quasi tre minuti per trovare quello che spera sia il design D-ottimale. Per la versione a destra, ci sono voluti quasi 3 secondi per segnalare il design più efficiente D. Dico report invece di creare perché il passaggio di creazione è lungo quanto lo era nell'esempio precedente; il resto del tempo è dedicato alla stesura del progetto e alla diagnostica nel rapporto finale, solo perché è così massiccio. Se questo non ti dimostra quanto sia straordinario questo miglioramento, non so cosa lo farà !!
Affari come al solito
Come vedrai in diversi post di blog in arrivo, JMP 15 è pieno di nuove funzionalità. E se hai partecipato al Vertice di scoperta di JMP conferenza a Tucson, senza dubbio hai avuto uno sguardo pratico. Mentre potresti rimbalzare dalle pareti per l'eccitazione (o forse sei più sommesso nella tua eccitazione, nessun giudizio qui), per noi sviluppatori e tester è un affare come al solito: assicurarsi che le esigenze statistiche dei nostri clienti siano sempre soddisfatte e persino sorprendenti loro con ciò che non sapevano mai di cui avevano bisogno. Quindi goditi questa nuova versione e tutto ciò che ha da offrire e assicurati di farci sapere il tuo feedback !!