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?I wondered if it was it possible to create an optimal design for any run size?Me preguntaba si era posible crear un diseño óptimo para cualquier tamaño de tirada.
Cuando estaba aprendiendo diseño de experimentos por primera vez en la escuela de posgrado, cubrimos los sospechosos habituales: diseños factoriales y factoriales fraccionados con factores de dos niveles. Estos diseños son populares precisamente porque permiten que los efectos principales sean independientes entre sí; el objetivo de los factoriales fraccionarios es ahorrar en ejecuciones a expensas del aliasing con efectos de interacción. Mientras aprendía sobre la resolución y cómo elegir un factorial fraccionario sobre otro, llegué a aceptar que el número de ejecuciones siempre sería una potencia de 2. Cuando abordamos brevemente los diseños de Plackett-Burman, vi que el tamaño de la tirada podía generalizarse a un múltiplo de 4. Pero más allá de eso, parecía que un buen diseño no era posible.
Avancemos varios años y estoy jugando con la plataforma de diseño personalizado en JMP por generar diseños experimentales para clientes en Sandia Labs. Esa fue la primera vez que vi que podías especificar cualquier tamaño de ejecución que quisieras. Ahora tendía a seguir con tamaños de ejecución que eran, preferiblemente, múltiplos de las combinaciones de niveles de factores, ya que me parecía correcto. Pero fue en ese momento que una pregunta comenzó a inquietarme; ¿Fue posible crear un diseño óptimo para cualquier tamaño de tirada?
Ahora, para aclarar, la respuesta es técnicamente sí, ya que JMP, al igual que otros programas, utiliza un algoritmo para buscar el diseño óptimo dado un diseño inicial. Pero eso no es exactamente lo que estaba preguntando. Lo que quería saber era si era posible construir uno directamente, como los diseños factorial y factorial fraccionado.
Para aquellos que no lo saben, los diseños factoriales y factoriales fraccionados son esencialmente tipos especiales de matrices conocidas como matrices de Hadamard. Lo que hace que estas matrices sean especiales es que, cuando tomas la transpuesta de la matriz y la multiplicas por la matriz original (por ejemplo, X^t*X), obtienes una matriz diagonal. Precisamente por esto se utilizan como diseños factoriales y factoriales fraccionados; la matriz diagonal es equivalente a la matriz de covarianza y, por lo tanto, representa efectos principales independientes.
Cuando me enteré de este hecho, me dieron ganas de explorar mi pregunta aún más. Pero no fue hasta mi primer año en JMP que pude hacerlo. Empecé como suelo hacerlo; jugando con las matemáticas, adquiriendo poco a poco una idea de los posibles métodos de construcción. Discutí mi trabajo con mis colegas, @Ryan_Lekivetz y @Joseph Morgan , y Ryan me envió un artículo de Dennis Lin sobre diseños sobresaturados que pensó que podrían despertar mi interés debido a algunos temas similares. Si bien no se relacionaba directamente con mi trabajo, una de las referencias sí. Y es ahí donde todo cambió.
La alegría del redescubrimiento
Sentí como si me hubiera topado con una puerta oculta que, al abrirla, reveló un nuevo mundo extraño y maravilloso (la similitud con la experiencia de Lucy en CS de Lewis El león, la bruja y el ropero , aunque no intencionado, es bastante apropiado). Leer esa referencia me llevó a otra, que me llevó a otra, y así sucesivamente hasta que compilé toda una colección de literatura. ¿Qué tenía de fascinante estos papeles? ¡Todos discutieron métodos directos de construcción para generar diseños D-óptimos para factores de dos niveles para virtualmente cualquier tamaño de corrida!
Ahora, para evitar la hipérbole, debo decir que aunque tales métodos existen, no existen para cada tamaño de ejecución posible y algunos de los métodos son bastante complejos. ¡Pero el hecho de que existieran métodos directos me emocionó! Y resulta que, para la gran mayoría de los casos prácticos, los procedimientos de construcción eran bastante simples e implicaban sumar o restar corridas de los conocidos diseños factorial y factorial fraccionado (resulta que hacia esto se dirigía mi investigación personal; como de costumbre, a menudo me encuentro redescubriendo la rueda... bueno). De hecho, me sorprendió nunca haber oído hablar de algunos de estos métodos durante mi tiempo en la escuela de posgrado. Por otra parte, podría ser algo que aprendería solo después de haber dominado los diseños factoriales y factoriales fraccionados, que requieren un tiempo significativo para dominarlos por sí solos.
Compartí estos métodos con mis colegas, quienes inmediatamente vieron el impacto que dichos métodos podrían tener en la creación de diseños óptimos. Imagine que, en lugar de tener que implementar un algoritmo de búsqueda para encontrar un diseño D-óptimo, podría crear uno desde cero y garantizar matemáticamente que sea D-óptimo. Ahora imagine que podría hacer esto para una amplia gama de tamaños de ejecución; de nuevo, no todos, pero una gran mayoría que es suficiente para cubrir situaciones prácticas. ¿Bien adivina que? Ya no tienes que imaginarlo!!
El remate
Así es amigos. En JMP 15 , ¡ahora implementamos los procedimientos de construcción simples para generar diseños D-óptimos directamente en la plataforma de diseño personalizado! “Eso está bien”, podrías decir, “pero ¿cómo cambia esto las cosas?”. Bueno, sí, no es tan visible o glamoroso como, digamos, crear una nueva plataforma de construcción de diseño sobresaturado . Pero tal vez la siguiente demostración pueda ayudar a ilustrar:

Ambos diseños involucran la misma cantidad de factores (31) y tamaños de ejecución (34) y ambos fueron creados para ser D-óptimos. Tenga en cuenta que el tamaño de la tirada no es un múltiplo de 4 (o puede verificarlo usted mismo, no juzgaré ... solo mire condescendientemente). En la versión de la izquierda, el algoritmo tardó casi 30 segundos en encontrar lo que espera que sea el diseño D-óptimo. En la versión de la derecha, creó un diseño claramente más D-eficiente casi instantáneamente. Ahora, en este punto, me gustaría mencionar que vengo de un entorno de pruebas aceleradas. Digo esto porque, en ese contexto, estamos acostumbrados a llevar las cosas a niveles extremos. Entonces, ¿qué tal si llevamos este ejemplo al extremo?
En este caso, el número de factores es 531 y el número de corridas es 1059 (el sueño de un experimentador y la peor pesadilla, todo en uno). En la versión de la izquierda, el algoritmo tardó casi tres minutos en encontrar lo que espera que sea el diseño D-óptimo. Para la versión de la derecha, tomó casi 3 segundos para informar el diseño más D-eficiente. Digo informar en lugar de crear porque el paso de creación es tan largo como en el ejemplo anterior; el resto del tiempo se dedica a diseñar el diseño y obtener los diagnósticos en el informe final, simplemente porque es muy grande. Si eso no te demuestra lo increíble que es esta mejora, ¡no sé qué lo hará!
Lo de siempre
Como verá en varias próximas publicaciones de blog, JMP 15 está repleto de nuevas funciones. Y si asististe a la Cumbre de descubrimiento de JMP conferencia en Tucson, sin duda tuvo una mirada práctica. Si bien es posible que esté rebotando en las paredes con entusiasmo (o tal vez su entusiasmo sea más moderado, no lo juzgue aquí), para nosotros, los desarrolladores y evaluadores, es lo de siempre: asegurarnos de que las necesidades de estadísticas de nuestros clientes siempre se satisfagan e incluso sorprendan. ellos con lo que nunca supieron que necesitaban. ¡Así que disfrute de esta nueva versión y todo lo que tiene para ofrecer y definitivamente asegúrese de hacernos saber sus comentarios!