Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOE
Hola a todos,
Actualmente trabajo con un Diseño de Experimentos (DOE) creado en JMP y me interesa evaluar la calidad del orden de ejecución aleatorio. Si bien JMP aleatoriza automáticamente la secuencia de ejecución durante la generación del diseño, me gustaría evaluar objetivamente la efectividad de dicha aleatorización.
En particular, me gustaría saber si JMP proporciona funcionalidad integrada o flujos de trabajo establecidos para:
- detectar tendencias, patrones sistemáticos o desviaciones a lo largo de la secuencia de ejecución,
- identificar agrupamientos o distribuciones no uniformes de los niveles de factores,
- realizar pruebas estadísticas formales de aleatoriedad (por ejemplo, pruebas de rachas, pruebas de autocorrelación o de independencia),
- o cuantificar de otro modo en qué medida el orden de ejecución se aproxima a la aleatorización real.
Si JMP no ofrece un método directo para este tipo de evaluación, ¿existen scripts JSL recomendados, complementos o enfoques de mejores prácticas para evaluar la aleatoriedad en el orden de ejecución del DOE?
Además, me interesa saber si JMP proporciona herramientas para verificar que la integridad y las propiedades estadísticas del diseño experimental se conservan después de reordenar manualmente las ejecuciones.
Gracias de antemano por sus comentarios.
Caballero de Bayes
Diseño de experimentosRe: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @BayesKnight ,
¡Bienvenido a la Comunidad!
Veo al menos dos opciones que pueden ayudarte a detectar tendencias de respuesta debido a una posible falta de aleatorización o debido a una sensibilidad temporal en las opciones de Ajuste del Modelo :
- Opción gráfica: Trazar residuos por fila : este gráfico puede ayudarle a detectar patrones que resultan del ordenamiento de las filas de las observaciones.
- Opción de prueba estadística: Prueba de Durbin-Watson : Estadístico para comprobar si los residuos presentan autocorrelación de primer orden. Solo es apropiado si las filas están ordenadas en el tiempo (los experimentos se realizan en el mismo orden que en la tabla de datos).
También puede disponer de otras opciones gráficas o estadísticas, como los gráficos de control (que evalúan si la distribución de los niveles de factores sigue una tendencia gracias a los gráficos de control y las reglas de Westgard ) y las opciones de análisis de series temporales. También puede comprobar mediante la agrupación jerárquica que la agrupación de puntos no esté desequilibrada ni que cree grupos ordenados de filas. Finalmente, puede comprobar si existen correlaciones significativas entre los factores y el orden de las filas utilizando la plataforma Multivariante .
La evaluación del diseño mediante la plataforma Evaluar el diseño no considera el orden de las filas en las diferentes evaluaciones. Si sospecha una posible tendencia temporal al ejecutar su diseño y desea que la distribución de los niveles de factores sea robusta ante cualquier tendencia temporal, puede consultar las siguientes publicaciones:
https://community.jmp.com/t5/RD-Blog/Cómo-crear-un-diseño-de-experimento-que-sea-robusto-a-un-lineal/ba-p/30138
Covariables en orden definido en diseño personalizado
Espero que esta respuesta pueda ayudarte.
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @Victor_G ,
Muchas gracias por la cálida bienvenida y la información proporcionada. Quisiera aclarar que mi principal interés es evaluar la calidad del orden de ejecución aleatorio antes de ejecutar el experimento . Una vez recopiladas las respuestas, es demasiado tarde para abordar los posibles problemas causados por la secuenciación no aleatoria. ¿Hay alguna forma de evaluarlo?
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEEn su publicación original, usted quería " cuantificar qué tan cerca el orden de ejecución se aproxima a la aleatorización real".
Dime cómo es la verdadera aleatorización y probablemente pueda encontrar una forma de cuantificar qué tan cerca estoy de ella.
En definitiva, la aleatorización de las ejecuciones del DOE es como una póliza de seguro contra fuentes de error desconocidas o inesperadas que podrían estar relacionadas con el tiempo o el orden en que se realizan los experimentos. Dichas fuentes de error, de existir, se manifestarían en los datos de respuesta recopilados, razón por la cual @Victor_G proporcionó esa información.
Siempre que se utilice un generador de números aleatorios confiable (JMP cuenta con generadores confiables), cualquier patrón aleatorio suele ser apropiado. Algunas situaciones específicas pueden indicar que no lo es, pero es necesario conocerlas.
Por ejemplo, supongamos que un equipo siempre comete un error en el cuarto artículo que se produce. En esa situación, un patrón aleatorio válido podría poner uno de los factores en el valor alto cada cuatro veces. Para un diseño de 8 ejecuciones, esto sería muy plausible. Pero sin duda influiría en los resultados. No se sabría esto hasta realizar el análisis y, lo más importante, al verificar los resultados. He visto algo similar en el mundo real a pesar de un patrón aleatorio "válido".
Finalmente, el análisis estadístico y las propiedades que usted pregunta asumen que los términos de error del modelo son independientes y se distribuyen de forma idéntica. Reordenar manualmente las ejecuciones de un DOE no debería afectar esto. De hecho, ni siquiera es necesario aleatorizar si se sabe que cada ejecución es verdaderamente independiente. La mayoría de las personas aleatorizan como una póliza de seguro contra esas fuentes de error desconocidas (como se mencionó anteriormente). Si mover manualmente las ejecuciones de diseño afecta la independencia, entonces su diseño (y análisis) debería considerar esas características temporales.
Espero que esta información te sea útil. Y recuerda: todos los experimentos deben verificarse, e incluso la secuencia 1, 2, 3, 4, 5 es un posible patrón aleatorio.
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEOfrezco una perspectiva diferente. Existen muchas "técnicas" para evaluar la efectividad de la estrategia experimental después del experimento. Sugiero dedicar más tiempo a la planificación. Creo que la aleatorización en la experimentación es una técnica para evitar que algún factor no identificado y no probado (lo llamaré ruido) se confunda con un factor del experimento. Creo que podemos ser más efectivos. Entonces, ¿adónde va ese efecto de ruido? ¿Quiere saber más sobre ese efecto de ruido? Usar la aleatorización previene la asignación (Shewhart). Quiero saber sobre el ruido. ¿Qué ruido es significativo? ¿Cómo introduzco ruido en el experimento? ¿Cómo ser robusto al ruido? Estoy de acuerdo con GEP Box:
"Bloquea lo que puedas, aleatoriza lo que no puedas".
Con esto quiere decir que si se puede identificar el ruido, confundirlo con el bloque es más efectivo que la aleatorización. Es asignable. Para el ruido que no se puede identificar (no sé por qué), se aleatoriza.
Te sugiero un par de artículos:
Youden, WJ, Aleatorización y experimentación, Technometrics, vol. 14, n.º 1, febrero de 1972
Hwan, Marilyn (2000), “ Aleatorizar o no aleatorizar, esa es la cuestión ”, Boletín de la División de Estadística de ASQ , vol. 17, n.º 1, pág. 26
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @BayesKnight ,
Además de lo que ya han dicho otros, quisiera ofrecer un par de ideas más para tener en cuenta.
1. ¿Cómo planea cuantificar el orden de DOE ANTES de ejecutar el experimento? Si las ejecuciones dependen del estado de algún factor (estado de la muestra, equipo, temperatura del horno o algo que no se esté considerando en el DOE), esto aparecerá en los datos, pero solo DESPUÉS de realizar todas las ejecuciones experimentales, y podrá evaluarse como se explicó anteriormente.
2. Si realmente quieres comprobar la aleatoriedad de un DOE, podrías generar cientos o miles de DOE y, si tienes las ejecuciones del 1 al 20, recopilar las estadísticas sobre la frecuencia con la que se selecciona cada ejecución. Si generas suficientes DOE, no deberías ver ningún patrón en el proceso de selección. Pero entonces, ¿qué DOE eliges? ¿Cuál es el más aleatorio? Podrías configurar un script JSL para hacerlo; no debería llevar mucho tiempo. Por supuesto, debes ser muy cuidadoso al definir tu DOE para evitar factores ocultos que puedan arruinarlo. Incluso si hicieras este análisis, nunca podrías tener en cuenta ninguna variable oculta que influya en el orden de las ejecuciones.
3. Una vez realizado el DOE, existen varias maneras de evaluar la aleatoriedad de las ejecuciones, como ya se mencionó (el residuo por fila es un buen punto de partida). También cabe destacar que se podría añadir una columna llamada "orden de ejecución" e incluirla en el análisis para determinar si existe alguna dependencia estadísticamente importante de los resultados con respecto al orden de ejecución. Incluso se podría incluir un "factor nulo" (infórmese sobre la autovalidación en JMP; existe código JSL disponible, pero no es una función integrada), que es un factor completamente aleatorio, y cualquier factor que resulte estadísticamente menor o igual de importante que este factor nulo se puede ignorar.
La planificación previa es clave y, a menudo, ocupa un mayor porcentaje del tiempo de discusión. Un DOE bien planificado requerirá menos tiempo de análisis que uno mal planificado, y además, se obtendrá más información con mayor rapidez. En este sentido, considere aspectos como: ¿Hay motivos para pensar que el orden importa? Y, de ser así, ¿por qué? ¿De dónde proviene? ¿Y cómo podemos tenerlo en cuenta en nuestro diseño? ¿Qué otros factores podrían afectar los resultados y podemos tenerlos en cuenta? ¿De dónde proviene el ruido en nuestra señal? ¿Cómo podemos minimizarlo o tenerlo en cuenta en el DOE?
¡Espero que esto ayude!
DS
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @Dan_Obermiller ,
Gracias por su respuesta detallada.
Tienes toda la razón. No existe una aleatorización "perfecta" ni "verdadera". Aun así, algunas aleatorizaciones pueden ser mejores que otras en el sentido de que evitan patrones indeseables (por ejemplo, largas series con niveles de factores idénticos, estructura periódica, etc.).
Por eso esperaba explorar si JMP ofrece herramientas para evaluar estos aspectos de forma objetiva, en lugar de confiar puramente en el generador de números aleatorios o en la inspección visual.
Estoy buscando formas adicionales de evaluar la calidad del orden de ejecución, particularmente en situaciones donde riesgos sutiles relacionados con el tiempo o comportamientos del equipo pueden influir en los resultados.
Gracias de nuevo por tus ideas. Son muy útiles.
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @SDF1
Gracias por la respuesta.
Estoy totalmente de acuerdo en que la fase de Definición/Planificación de un DOE es crucial; precisamente por eso planteé esta pregunta. Quiero comenzar con el diseño más sólido posible y asegurarme de que el orden de ejecución aleatorio sea robusto antes de la ejecución.
Reconozco que puede haber variables ocultas que no podemos prever, pero mi enfoque principal es:
- Cómo generar un orden de ejecución aleatorio robusto
- Cómo evaluar su calidad antes de ejecutar el experimento.
Gracias de nuevo por la perspectiva.
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOESi buscas evitar patrones en la distribución de niveles de factores, ¿quizás la plataforma Explorar patrones podría ayudarte a detectar patrones univariados indeseables?
Antes de analizar los patrones en la aleatorización (que aún forman parte de este proceso), ¿evaluó las propiedades y el rendimiento de su diseño con la plataforma Evaluar el diseño ? Es probable que existan más escenarios de fallo con un tamaño o potencia de muestra inadecuados o con una estructura de aliasing inadecuada que con posibles patrones en la aleatorización.
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @BayesKnight : He estado siguiendo esto con interés... y, sinceramente, con cierta confusión. Me parece que lo que preguntas es: ¿es realmente aleatorio el orden de ejecución "aleatorio" (generado por JMP)? Como dijo @Dan_Obermiller : "Siempre que se utilice un generador de números aleatorios fiable (y JMP sí cuenta con generadores fiables), cualquier patrón aleatorio suele ser apropiado". Claro que incluso los generadores de números aleatorios fiables son, en gran medida, generadores de números pseudoaleatorios. Y, como tales, suelen utilizar un algoritmo para generar una secuencia de números aleatorios con las propiedades de una secuencia aleatoria. Así que la respuesta es "sí".
Una forma sencilla de aleatorizar el orden de las ejecuciones sería generar un número uniforme (0,1) para cada ejecución. Luego, reordenar las ejecuciones según ese U(0,1).
Mi pregunta para usted es la siguiente: ¿Qué motivó su pregunta?
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @statman
Gracias por su respuesta y por compartir los artículos de referencia.
Estoy de acuerdo en que hay muchas maneras de evaluar un diseño, pero como mencionaste, la mayoría de ellas se utilizan una vez finalizado el experimento.
Mi objetivo es evitar encontrar problemas sólo al final, cuando ya es demasiado tarde para corregirlos.
No cuestiono el propósito de la aleatorización ni del bloqueo. Solo quiero detectar cualquier posible problema lo antes posible. En particular, quiero comprobar de antemano que el orden aleatorio no introduzca accidentalmente patrones o tendencias que puedan debilitar el diseño.
Gracias de nuevo por tu útil perspectiva.
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @BayesKnight ,
JMP generará un orden de ejecución aleatorio robusto para su DOE; no tiene que preocuparse (ni siquiera debería) por eso. JMP ha sido líder en este campo durante más de 35 años. Sin duda, no seguirían existiendo si su software no fuera confiable.
Incluso si crearas alguna forma de cuantificar y evaluar el orden de ejecución ANTES de realizar el DOE, lo único que harías sería probar el algoritmo de aleatorización de JMP para determinar si es "realmente" aleatorio. Como mencionó @MRB3855 , ningún generador de números aleatorios (digital) es realmente aleatorio. Toma tu aplicación de música favorita y prueba su función de reproducción "aleatoria". En realidad, su reproducción "aleatoria" está restringida porque priorizan reproducir cada canción de la lista de reproducción una vez antes de "realeatorizar" la lista. Ese no es un orden verdaderamente aleatorio.
También estoy de acuerdo con @MRB3855 . ¿Qué te impulsó a plantear la cuestión de evaluar la aleatoriedad ANTES incluso de ejecutar el DOE? ¿Por qué crees que JMP no proporciona un orden de ejecución aleatorio robusto?
Si tiene algún dato histórico que sugiera que este es el caso, entonces yo primero dedicaría más tiempo a planificar el DOE y usaría bloqueos o alguna otra forma para tenerlo en cuenta. No dudaría dos veces de JMP ni asumiría que algo anda mal por su parte; es mucho más probable que el DOE no se haya planificado correctamente desde el principio.
DS
Re: Verificación del orden de ejecución aleatorio y la validez del diseño en JMP DOEHola @BayesKnight . Coincido con @MRB3855 en que este hilo es bastante interesante. Hay muchísimas respuestas bien pensadas que ofrecen diferentes perspectivas. Parece que, tras cada respuesta, sigues sin estar satisfecho y, como ya se ha dicho, parece que solo quieres saber si hay alguna forma de evaluar la "calidad de la aleatoriedad". Creo que lo aleatorio es aleatorio, y a veces, a simple vista, si vemos patrones, podríamos no pensar que algo es aleatorio, incluso cuando lo es.
No conozco ninguna técnica estadística aceptada para evaluar la calidad de la aleatoriedad, aparte de simplemente observar el orden de los niveles de los factores y ver si están lo suficientemente desordenados. ¿Quizás la solución sea hacer precisamente eso y seguir aleatorizando hasta obtener un orden que parezca más desordenado? Se podría argumentar (yo, como estadístico, probablemente lo haría) que esto sesga el orden de ejecución y potencialmente elimina la aleatoriedad.
Una solución sencilla podría ser trazar los factores en el eje y, el orden de ejecución en el eje x y usar un mapa de calor con el nivel de factor (-1, 0, +1) como color. Supongo que esto podría ayudarte a evaluar visualmente si hay patrones.
