| Vocero |
Transcripción |
| Jordan Hiller |
Saliendo. |
| Phil Kay |
Bueno, gracias por acompañarnos. Soy Phil Kay, gerente de aprendizaje en JMP, y comenzaré esta presentación con un ejemplo interactivo de SVEM, que es un modelo de conjuntos autovalidado. |
| |
Voy a explicar qué es SVEM y el mecanismo de su funcionamiento, y luego Pete y Trent compartirán ejemplos. |
| |
Estudios de caso y simulaciones que realmente explican por qué querrías hacer esto. Voy a presentar esto en un... |
| |
estudio de caso muy simple, por lo que puede que al principio no parezca claro por qué querrías hacer esto, pero espero que entiendas el mecanismo después de que te lo haya explicado. |
| |
Bien, ahora voy a detener mi video y me concentraré en la demostración del software aquí. |
| |
Tenemos un diario JMP aquí, que estamos compartiendo con ustedes, para que puedan acceder a él desde la publicación en la comunidad JMP en Community.JMP.com. |
| |
El ejemplo que usaremos es un ejemplo clásico de DOE. Se trata de los datos de rebote, que se pueden obtener de los archivos de ayuda de JMP. |
| |
Son tres factores, 15 carreras. Es un diseño de Box-Behnken y tenemos una respuesta que es elástica, bastante sencilla y estándar. |
| |
DOE tradicional y antiguo. |
| |
Y no hay un desafío real en modelar estos datos, y vemos que si ajustamos un modelo de superficie de respuesta, estos comportamientos curvilíneos, estos efectos cuadráticos y aquellas interacciones entre factores también resultan importantes. |
| |
Entonces veamos cómo podríamos modelar esto usando el enfoque SVEM. |
| |
Si modelamos esto con SVEM, lo primero que notarán es que tenemos 30 filas de datos, por lo que hemos duplicado cada una, lo cual puede parecer un poco descabellado. Puede parecer una trampa. Este es un truco clave de la metodología SVEM. |
| |
Verán que tenemos columnas adicionales, y la clave es el peso de validación. Vamos a graficarlo para que puedan ver su significado. |
| |
Entonces puedes ver que, para cada una de nuestras filas de datos, cada una de nuestras ejecuciones, en realidad tenemos pares de ejecuciones, así que la ejecución número uno, puedes verla aquí. |
| |
De hecho, ponderamos cada una de estas ejecuciones en el conjunto de entrenamiento, que es cero, o en el conjunto de validación, que es uno. Y pueden ver que para cada par |
| |
Esas ponderaciones son inversamente proporcionales. Por ejemplo, en la séptima ejecución, se puede observar que tiene una ponderación alta en el conjunto de entrenamiento y validación cero, y una ponderación baja en el conjunto de validación. |
| |
Ahora estos han sido asignados aleatoriamente y podemos... |
| |
Al hacer clic aquí, podemos redibujarlos para reasignar los pesos. Si una fila tiene un peso elevado en el conjunto de entrenamiento (por ejemplo, la fila número seis), tendrá un peso correspondientemente bajo en el conjunto de validación. |
| |
Así que estamos duplicando nuestras filas de datos aquí. |
| |
Y vamos a usar esto para la autovalidación. Entonces, lo que realmente podemos hacer es usar una variante de la validación de retención, donde |
| |
En lugar de retener completamente una fila de datos en el conjunto de validación, lo que haremos es retener partes de cada fila de datos, de modo que cada fila pueda estar realmente dentro del conjunto de entrenamiento y el conjunto de validación y, lo que es más importante, podamos reasignar esos pesos. |
| |
repetidamente, lo que será suficiente cuando se trate del modelado del conjunto. |
| |
Bien, entonces, solo para resumir, hemos duplicado básicamente cada fila de datos y les estamos asignando pesos de modo que algunas filas estarán más en el conjunto de entrenamiento y algunas estarán más en el conjunto de validación. |
| |
Ahora podemos ajustar un modelo usando validación. |
| |
Entonces, aquí usamos GenReg y puedes ver que estamos usando un conjunto de validación (y simplemente ignoramos el mensaje de error allí). |
| |
Usamos Lasso y la validación como método de selección del modelo. En este caso, no se han seleccionado efectos activos en el modelo. Por lo tanto, se ajusta un modelo de superficie de respuesta y usamos la validación como método de selección mediante Lasso. |
| |
y hemos determinado que en realidad no hay efectos activos, por lo que tenemos un modelo que efectivamente no tiene efectos activos. |
| |
Lo que podemos hacer entonces es volver a dibujar esos pesos para poder volver a ponderar nuestras columnas. |
| |
Y podemos ver que esta vez obtenemos un modelo diferente. De hecho, algunos de los efectos se activan ahora, por ejemplo, la sílice está activa en esta interacción entre la sílice y el azufre. |
| |
Salvemos ese modelo. |
| |
Así que ahora, con nuestro |
| |
Tabla de datos, puedes ver que tenemos una columna de fórmula de modelo guardada allí. |
| |
Redibujemos esos pesos de nuevo. De esta manera, algunas filas tienen mayor peso en el entrenamiento y otras en la validación. |
| |
Y tenemos un modelo diferente de nuevo y lo guardaremos ahora. Así que ahora tenemos |
| |
dos filas de...dos columnas con fórmulas de predicción guardadas. |
| |
Podemos repetirlo. Voy a redibujar los pesos y guardar la fórmula de predicción. Tengo un script que lo hace automáticamente. Y luego crea el promedio del modelo, así que hemos promediado los tres modelos guardados. |
| |
Entonces, cada modelo individual utilizó una ponderación de validación diferente. |
| |
Cada modelo era diferente, algunos mejores que otros. La clave es que, al promediarlos, |
| |
El promedio de estos es el mejor modelo hasta ahora. Como pueden ver, se parece bastante al modelo original que ajustamos con métodos estándar... |
| |
el conjunto de datos original. |
| |
Podemos seguir haciéndolo. Podemos repetirlo 10 veces. Pueden ver cómo redibujamos los pesos; cada vez obtenemos un modelo ligeramente diferente. |
| |
Y podremos guardar cada uno de esos diferentes modelos. |
| |
Y al final terminamos con un promedio que probablemente sea el mejor modelo. |
| |
Y, de hecho, si comparamos eso con el modelo original que vimos en el análisis estándar de estos datos, |
| |
Se puede ver que en realidad ambos modelos coinciden bastante. |
| |
Entonces, en este caso, al usar este modelo de conjunto autovalidado realmente llegamos al mismo modelo que obtendríamos usando el modelo estándar. |
| |
regresión lineal. |
| |
Quiero repasar los puntos clave de lo que han visto. Y, como dije, ahora les daremos la palabra a Pete y Trent, quienes explicarán la motivación para usar esta novedosa técnica de modelado. |
| |
Lo que hicimos fue duplicar las filas de datos originales. |
| |
Entonces lo que eso significa es que podemos aplicar una ponderación aleatoria para indicar cuánto de cada par de filas está en entrenamiento versus validación. |
| |
Esto nos permite usar la validación. No podríamos usarla con un conjunto de datos tan pequeño. No tendría sentido conservar una fila completa de datos, pero lo que podemos hacer con este conjunto duplicado... |
| |
Se trata de tener una validación ponderada. Por lo tanto, ajustamos un modelo mediante selección de lazo en este caso, y dicha selección utilizó esta columna de validación ponderada. |
| |
Luego, redibujamos esos pesos. Asignamos aleatoriamente pesos diferentes a esos pares de filas y reajustamos el modelo. En nuestro caso, repetimos esto de 10 a 15 veces, pero en la práctica, para obtener un buen modelo de conjunto autovalidado, necesitaríamos repetir este proceso 100 veces o más. |
| |
Y cada modelo es en sí mismo... cada modelo individual en cada paso de ese proceso iterativo no es particularmente útil, pero el promedio del modelo o el conjunto sí lo es, como vimos con nuestro modelo final que logramos como promedio de todas esas iteraciones. |
| |
Ahora quiero darle la palabra a Pete, quien nos hablará sobre un estudio de caso que ilustra por qué es útil usar este método inusual para modelar datos como este. |
| Peter Hersh |
Muchas gracias, Phil. Voy a compartir mi pantalla aquí. |
| |
Veamos un ejemplo de cuándo podríamos... |
| |
Usa este método. Así que aquí estoy. |
| |
Primero miramos los resultados, así que estamos viendo un par de diseños que son DOE muy pequeños, es decir, un DOE de seis corridas, ocho corridas y 10 corridas, con tres factores. |
| |
Y estos son diseños de superficies de respuesta que están súper saturados a saturados por naturaleza y todos son un diseño óptimo, por lo que se trata de un número muy pequeño de ejecuciones. |
| |
Para lograr nuestro objetivo. Aquí es donde nos dirigimos. Retrocedamos un poco y hablemos del diseño y de cómo llegamos hasta aquí. |
| |
Entonces. |
| |
Este es un caso práctico en el que intentamos maximizar la tasa de crecimiento de un microbio ajustando diferentes combinaciones de nutrientes. Como mencioné antes, utilizamos un diseño óptimo de sobresaturación y ajustamos el número de ejecuciones. |
| |
Y estos son datos simulados, donde están activos todos los efectos principales, así como todos los cuadráticos. |
| |
Así que, para configurar esto, comenzamos con nuestros tres factores. Diseñé mi modelo. Si no has diseñado un diseño saturado o supersaturado en JMP, |
| |
La forma de lograrlo es tratar los efectos que no son los principales, si es posible, lo que permite tener menos ejecuciones o la misma cantidad de ejecuciones que efectos de modelo. Así que generé mis diseños allí. |
| |
Y pasamos por este proceso que Phil describió tan bellamente allí de remuestrear los datos, obteniendo esos pesos invertidos... inversamente proporcionales, que son clave para este proceso. |
| |
Tenemos un par de charlas que se han realizado y solo tengo códigos QR para ellas. |
| |
Esta técnica fue desarrollada por Chris Gotwalt y Phil Ramsey y la presentaron en algunas charlas anteriores. Y esta última... |
| |
El código QR era un complemento que configuraba esta columna de validación en versiones anteriores de JMP. A partir de JMP 16, puede hacerlo de forma nativa en el software, pero si tiene JMP 15, deberá usar esta configuración del complemento. |
| |
Y como dijo Phil, entonces un |
| |
Es posible que algunos modelos individuales no se ajusten muy bien a los datos, algunos encajarán bien y otros no tendrán términos. |
| |
Pero esto es solo un repaso del ejemplo, donde se puede ver cada modelo individualmente. Algunos son solo una intersección, otros tienen ajustes bastante deficientes, y algún modelo ocasional funciona bastante bien. |
| |
Y esto es como lo describió Phil: cada uno tiene un peso recalculado diferente. Así que obtenemos un modelo ligeramente diferente y lo guardaremos. Ese es el primer paso. |
| |
El siguiente paso es promediar esos modelos. Como pueden ver, al promediar cada vez más, el ajuste del modelo mejora cada vez más. Si bien los modelos individuales no son excelentes, el promedio general nos da un buen ajuste. |
| |
Y el último paso del que quería hablar es que estos modelos están sesgados por naturaleza. Como vieron con el primer modelo que hizo Phil, no tenía efectos activos. Así que... |
| |
Cuando estés realizando alguna técnica de selección de modelo o variable con tu modelo, ocasionalmente obtendrás un modelo en el que esa variable específica no ingresa. |
| |
Entonces, si miramos estas distribuciones, pueden ver |
| |
Todos estos son efectos activos y tienen una distribución alrededor de 5, que es el tamaño del efecto, pero también tienen esta barra aquí abajo que es 0. |
| |
Entonces, no vamos a sobreestimar el efecto tan a menudo como obtenemos 0 para contrarrestar esto, por lo que esto se sesgará a un valor más bajo, por lo que vamos a hacer un |
| |
Pequeño truco para desviar estos modelos, donde |
| |
Trate este modelo como un predictor en solo un modelo de mínimos cuadrados, y eso eliminará esos sesgos. Recorreré este proceso para mostrarle cómo se hace. |
| |
Pero al final, obtenemos ese excelente resultado que compartí con un número muy reducido de ejecuciones. Así que esa es la razón por la que se usa SVEM: la capacidad de predecir y crear un modelo decente con menos ejecuciones de las que se podrían obtener sin esta técnica. |
| |
Muy bien, pasemos a JMP aquí. |
| |
y |
| |
recorrer ese proceso |
| |
Bien, aquí está el DOE de seis ejecuciones del ejemplo que mostré, donde tenemos nuestros tres factores y nuestra tasa de crecimiento. Y esto es después de construir el modelo. |
| |
Así es como se ve, y ya lo hemos revisado y ejecutado. Tenemos seis ejecuciones con seis resultados. El siguiente paso es crear la columna de validación. Para ello, dentro de JMP, simplemente analizaremos el modelado predictivo. |
| |
crear una columna de validación y luego, en lugar de una columna de validación, vamos a crear una tabla de validación automática. |
| |
Bueno, así es como lo hice. Ya lo hice, así que no repetiré el proceso. |
| |
Aquí están los datos con sus datos remuestreados y esa ponderación inversamente correlacionada, como demostró Phil. Se obtiene una ponderación alta junto con una ponderación baja de la ejecución repetida. Después de eso, procesamos y creamos nuestro modelo. |
| |
En este caso, he usado un modelo GenReg y quiero seleccionar una de las técnicas de selección de variables. Si ejecuto esto, quiero hacer algo como un lazo de selección hacia adelante. |
| |
o una de esas técnicas de selección. Y Trent profundizará en esas técnicas de selección y cuáles han investigado. |
| |
Después de ejecutar el modelo, pueden ver que JMP ha seleccionado algunos efectos activos. Ha detectado algunos, pero pueden verlos aquí. |
| |
Ese sesgo que estamos viendo, donde ambos efectos principales deberían estar activos, pero han resultado ser 0. Entonces, cuando guardo esto en la tabla de datos, |
| |
Crearé una nueva columna como mostró Phil y luego recalcularé ese peso y lo repetiré una y otra vez. Aquí hay un script simple para hacer esto 100 veces. |
| |
Estaremos encantados de compartir esto. Es muy fácil: simplemente copia y pega tu script, el script de tu modelo, aquí y podrás reproducir lo que hemos hecho. |
| |
Bien, entonces aquí está el resultado final, donde hemos revisado nuestro DOE, nuestros resultados, y luego tenemos |
| |
Los 100 modelos que tengo guardados |
| |
y escondido aquí. Y luego el modelo final, que es |
| |
un promedio de los 100 modelos. Y el último paso que queremos hacer es el de desviar. Así que todo lo que vamos a hacer es tratar esto |
| |
modelo promedio como predictor de la tasa de crecimiento. |
| |
Así que aquí podéis ver el modelo original que tenemos. |
| |
Tiene una pendiente mucho más pronunciada, por lo que tiene un R cuadrado decente, pero no es tan bueno como esperábamos. Es decir, incluso con seis carreras... seis carreras es un buen ajuste, pero... |
| |
Si podemos eliminar ese sesgo, quizás podamos mejorarlo un poco. Una configuración muy simple. Simplemente tomamos la tasa de crecimiento. Nuestra respuesta es nuestra Y. Sumamos... |
| |
modelo de conjunto aquí, promediado de todos aquellos |
| |
Modelos individuales como nuestro predictor. Ejecutamos esto y obtenemos un resultado, y se puede ver que es una gráfica mucho mejor que la real en comparación con la predicha. Y si realizamos una comparación, se puede ver que eliminar ese sesgo tiene un gran efecto positivo. |
| |
Bien, y antes de devolvérselo a Trent, quería mostrarle una cosa más. |
| |
Deslice aquí, que es básicamente solo un resumen de |
| |
que nosotros... (perdí mi barra de tareas ahí está)... que les recomendamos encarecidamente que la usen. |
| |
Y mira esta técnica, pero no es una técnica mágica que siempre funcione en todas las situaciones. Pero cuando la estés probando en diseños de pantalla y cosas así, podría ser una técnica muy útil que... |
| |
Te ayudará a lograr cosas que quizás no hubieras podido con las técnicas de modelado estándar. Y con eso, se lo paso a Trent, quien tiene... |
| |
Un poco más de detalle sobre cómo se hace esto y el |
| |
Información ahí. Entonces, Trent, ¿quieres quitártela? |
| Trent Lemkus |
Sí, gracias, Peter. Te lo agradezco. |
| |
Entonces |
| |
Estoy compartiendo mi |
| |
PDF. Solo quiero asegurarme de que se comparta y que todos puedan verlo. |
| Peter Hersh |
Sí. |
| Trent Lemkus |
Está bien, fantástico. Entonces |
| |
Mientras Phil y Peter presentaban estudios de casos, que creo que son anécdotas fenomenales que muestran el poder de SVEM y cuándo y por qué usarlo. |
| |
Lo que hicimos para nuestro trabajo de investigación, que ahora se encuentra en proceso de revisión por pares, fue realizar una cantidad desmesurada de estudios de simulación para demostrar... para ver empíricamente cómo funcionaría SVEM en un entorno predictivo. Así que... |
| |
A continuación... tengo una serie de diapositivas que voy a mostrar. Sé que puede parecer un poco aburrido y monótono, pero creo que es fundamental hablar de los detalles. |
| |
Antes de entrar en algo un poco más entretenido, que es un ejemplo de cómo usamos... |
| |
Cómo usamos JMP, JSL y cómo ejecuté las simulaciones como ejemplo y para mostrarle cómo se ve parte de la salida, así como los resultados. |
| |
Por lo tanto, en primer lugar, el esquema y los objetivos de nuestros estudios de simulación fueron principalmente... |
| |
Queríamos crear una arquitectura de simulación del mundo real. Por lo tanto, queríamos que nuestras simulaciones imitaran el DOE industrial real con la mayor fidelidad posible. |
| |
Y en segundo lugar, queríamos ver cómo funcionan las técnicas contemporáneas de construcción o selección de modelos, así como SVEM, cuando se centran principalmente en la predicción pura. |
| |
Sencillo y simple. Queríamos ver, al ajustar un modelo a un diseño, cómo predice un conjunto de datos verdaderos o de reserva (o, disculpen el acento, datos). |
| |
Y a partir de esto, si podemos simular estas ejecuciones únicas tantas veces como sea computacionalmente factible, queremos hacer una inferencia del mundo real lo más cercana posible para que podamos inferir resultados del mundo real. |
| |
prescribir configuraciones y dónde y cómo utilizar SVEM, ya que SVEM es tan incipiente. |
| |
En primer lugar, ¿qué diseños utilizamos en nuestras simulaciones? Usamos diseños de cribado definitivos. |
| |
Y utilizamos diseños de Box-Behnken donde el modelo generador verdadero subyacente en nuestros diseños eran modelos cuadráticos completos, o más coloquialmente conocidos como modelos de segundo orden. Y la razón por la que elegimos estos diseños es porque A) para los diseños de cribado definitivos, el |
| |
Cuantos más efectos principales tengas, más saturados y luego sobresaturados estarán los modelos. Esto significa que tendrás muchos menos grados de libertad cuanto más altos sean los efectos principales. Mientras que con tus diseños de Box-Behnken con los efectos principales que usamos, |
| |
No te encuentras con ese escenario. Así que tenemos una yuxtaposición entre dos escenarios, donde por un lado tenemos... |
| |
grados de libertad adecuados con nuestros diseños de Box-Behnken para estimar nuestros coeficientes al aplicar una técnica de selección de modelos, y en el caso del diseño de selección definitivo, tenemos casi |
| |
En la mayoría de nuestros casos, teníamos un diseño sobresaturado, por lo que teníamos una cantidad inadecuada de grados de libertad. En otras palabras, |
| |
No pudimos estimar todos los efectos al usar técnicas de construcción de modelos contemporáneos, como sus selecciones avanzadas, como sus Lassos, sus selectores Dantzig, etc. |
| |
Lo cual nos lleva a los algoritmos de modelo que usamos para nuestras simulaciones. Para los modelos SVEM, teniendo en cuenta que si... |
| |
Si no comprende bien qué es SVEM, es muy importante que consulte algunas de las presentaciones anteriores a las que Peter se refería. |
| |
Pero tenemos que utilizar SVEM con una técnica de construcción de modelos subyacente, como selección hacia adelante, poda hacia adelante y Lasso, que es lo que utilizamos para nuestros estudios de simulación. |
| |
En nuestros casos de modelos no SVEM, utilizamos esos mismos algoritmos de construcción de modelos, pero también incorporamos el Selector Dantzig, que es bastante popular en DOE, |
| |
así como el diseño de cribado definitivo, que es pertinente exclusivamente al cribado definitivo; no se utiliza en otros diseños. |
| |
Además, utilizamos un criterio de información llamado AICc o AIC corregido, que es muy común en DOE y es bastante conocido por seleccionar modelos muy parsimoniosos. |
| |
Entonces, como pueden ver, estamos tratando de incorporar técnicas contemporáneas que son muy actuales en el uso del DOE industrial, que se apega al punto central que mostré en la diapositiva inicial, que es |
| |
Queremos imitar el mundo real lo más cerca que sea humanamente posible con nuestros estudios de simulación, para que podamos hacerlos empíricos... |
| |
De esta manera, podemos evaluar empíricamente el rendimiento predictivo de estos diferentes algoritmos de construcción de modelos. Y esperamos poder demostrar que SVEM funciona o supera empíricamente a su competencia. |
| |
Para la estructura de simulación real, ejecutamos 1000 simulaciones para cada algoritmo de construcción de modelos. Por ejemplo, si estuviéramos ajustando un modelo directo con AICc, |
| |
en cada una de esas 1.000 ejecuciones generaríamos un modelo verdadero, la verdad, y luego le agregaríamos ruido o... |
| |
ruido gaussiano (que es muy común en el ámbito académico y en la investigación), |
| |
Creando así un conjunto de entrenamiento, por así decirlo, y un conjunto de verdad para que, una vez ajustado un modelo, podamos ver cómo ese modelo predice en comparación con la verdad. Y volvemos a ejecutar y regenerar esos conjuntos de datos aleatoriamente 1000 veces. |
| |
El hiperparámetro SVEM, en el que no entraré en detalles, usamos un nBoot de 200. En pocas palabras, estábamos ajustando 200 modelos y promediando esos modelos para obtener nuestro modelo SVEM final. |
| |
Los diseños también se iteraron en varias funciones. Por lo tanto, el número de efectos principales... |
| |
Para los diseños de cribado definitivos, teníamos cuatro efectos principales y ocho efectos principales. Para nuestros diseños de Box-Behnken, teníamos |
| |
Tres efectos principales y cinco efectos principales. Esto significa, por ejemplo, que para nuestro DSD, donde K es ocho, tenemos ocho efectos principales. Si tenemos un modelo cuadrático completo, |