Vocero | Transcripción |
| Jordan Hiller | salir. |
| Phil Kay | Bien, gracias por acompañarnos. Soy Phil Kay. Soy el gerente de aprendizaje en JMP y voy a comenzar esta presentación con un ejemplo interactivo de SVEM, que es un modelado de conjuntos autovalidado. |
| Voy a entrar en lo que es SVEM y el mecanismo de cómo funciona y luego Pete y Trent compartirán ejemplos, |
| estudios de casos y simulaciones, que realmente explican por qué querría hacer esto. Voy a presentar esto en un |
| estudio de caso muy simple, por lo que al principio puede que no parezca por qué ... puede que no parezca claro por qué querría hacer esto, pero con suerte comprenderá el mecanismo después de que le haya explicado esto. |
| Bien, voy a detener mi video ahora y solo enfocarme en la demostración del software aquí. |
| Tenemos una revista de JMP aquí, que compartimos con usted, para que pueda acceder a ella desde la publicación en la comunidad de JMP en Community.JMP.com. |
| Y el ejemplo que usaremos es un ejemplo clásico de DOE. Estos son los datos de rebote, que puede obtener de los archivos de ayuda en JMP. |
| Entonces son tres factores, 15 carreras. Es un diseño de Box-Behnken y tenemos una respuesta allí, que es elástica, muy sencilla, estándar, |
| DOE tradicional a la antigua. |
| Y no hay ningún desafío real con el modelado de estos datos, y vemos si encajamos en un modelo de superficie de respuesta que estos comportamientos curvilíneos, estos efectos cuadráticos y esas interacciones entre factores también resultan importantes. |
| Así que veamos cómo podemos modelar esto usando el enfoque SVEM. |
| Entonces, si vamos a modelar esto usando SVEM, lo primero que notará es que tenemos 30 filas de datos, por lo que en realidad hemos duplicado cada fila de datos, lo que puede parecer un poco loco. Puede parecer una trampa. Este es un truco clave en la metodología SVEM. |
| Verá que tenemos algunas columnas adicionales aquí, y la clave es este peso de validación. Así que tracemos eso para que puedas ver lo que significa. |
| Entonces puede ver que, para cada una de nuestras filas de datos, cada una de nuestras ejecuciones, en realidad tenemos pares de ejecuciones, así que ejecute el número uno, puede ver aquí. |
| De hecho, estamos ponderando cada una de estas ejecuciones en el conjunto de entrenamiento, que está en cero, o en el conjunto de validación, que es uno. Y puedes ver eso para cada par |
| esas ponderaciones son inversamente proporcionales. Entonces, por ejemplo, ejecute el número siete aquí, puede ver que tiene una gran ponderación en el entrenamiento, un conjunto de validación cero, y tiene una ponderación baja correspondientemente en el conjunto de validación. |
| Ahora esos han sido asignados al azar y podemos ... |
| al hacer clic aquí, podemos volver a dibujarlos, de modo que podamos reasignar los pesos. Y de nuevo, si una fila tiene un peso elevado en el conjunto de entrenamiento, por ejemplo, la fila número seis aquí tiene un peso elevado en el conjunto de entrenamiento, tendrá una ponderación correspondientemente baja en el conjunto de validación. |
| Entonces estamos duplicando nuestras filas de datos aquí. |
| Y usaremos esto para la autovalidación. Entonces, lo que realmente podemos hacer es usar una variante en la validación de retención, donde |
| en lugar de retener por completo una fila de datos en el conjunto de validación, lo que vamos a hacer es retener partes de cada fila de datos, de modo que cada fila pueda estar dentro del conjunto de entrenamiento y el conjunto de validación y, lo que es más importante, podemos reasignar esos pesos |
| repetidamente, lo que servirá cuando se trata del modelado de conjuntos. |
| De acuerdo, solo para resumir, hemos ... hemos duplicado básicamente cada fila de datos y les estamos asignando pesos de manera que algunas filas estarán más en el entrenamiento y otras más en el conjunto de validación. |
| Entonces ahora podemos ajustar un modelo usando validación. |
| Entonces, estamos usando GenReg aquí, y puede ver que estamos usando un conjunto de validación (y simplemente ignore el mensaje de error allí). |
| Estamos usando Lasso y estamos usando la validación como selección de modelo. Y, en este caso, en realidad no se ha seleccionado ningún efecto activo en el modelo. Así que se ajusta a un modelo de superficie de respuesta y hemos utilizado la validación como método de selección, utilizando el Lasso, |
| y hemos determinado que no hay efectos realmente activos, por lo que tenemos un modelo sin efecto activo. |
| Lo que podemos hacer entonces es volver a dibujar esos pesos para que podamos volver a ponderar nuestras columnas. |
| Y podemos ver, esta vez tenemos un modelo diferente. Entonces, en realidad, algunos de los efectos ahora se activan, por lo que 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, puede ver que tenemos una columna de fórmula de modelo guardada allí. |
| Redibujemos esos pesos nuevamente. Así que nuevamente los estamos redibujando, de modo que algunas de las filas están más en el entrenamiento, algunas de ellas están más en la validación. |
| Y obtuvimos un modelo diferente nuevamente y guardémoslo ahora. Entonces ahora tenemos |
| dos filas de ... dos columnas con fórmulas de predicción guardadas. |
| Y podemos hacerlo de nuevo. Así que voy a volver a dibujar los pesos y guardar la fórmula de predicción. Acabo de recibir un guión que hace eso por nosotros. Y luego crea este promedio de modelo, por lo que en realidad hemos promediado nuestros tres modelos guardados. |
| Por tanto, cada modelo individual utilizó una ponderación de validación diferente. |
| Cada modelo era diferente, algunos eran mejores que otros. El punto clave es que cuando hacemos un promedio de todos juntos, |
| el promedio de esos es el mejor modelo hasta ahora. Entonces puede ver que esto en realidad se parece bastante al modelo original que ajustamos usando métodos estándar en el estándar ... |
| el conjunto de datos original. |
| Y podemos seguir haciendo esto. Podemos hacer esto 10 veces, así que lo repetiremos. Y puedes ver cómo se redibujan los pesos; cada vez que obtenemos un modelo ligeramente diferente. |
| Y podemos guardar cada uno de esos diferentes modelos. |
| Y, en última instancia, terminar con un promedio que probablemente sea el mejor modelo. |
| Y, de hecho, si lo comparamos con el modelo original que vimos en el análisis estándar de estos datos, |
| puede ver que los dos modelos están bastante de acuerdo. |
| Entonces, en este caso, el uso de este modelo de conjunto autovalidado realmente ha llegado al mismo modelo que obtendríamos usando el modelo estándar |
| regresión lineal. |
| Así que quiero repasar los puntos clave de lo que han visto allí. Y como digo, vamos a pasar a Pete y Trent, quienes explicarán la motivación para querer 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 decir cuánto de cada par de filas está en entrenamiento versus validación. |
| Esto nos permite utilizar la validación. No podríamos usar eso para un conjunto de datos tan pequeño. No tendría sentido mantener completamente una fila de datos, pero ¿qué podemos hacer con este conjunto duplicado? |
| es tener validación ponderada. Así que ajustamos un modelo usando la selección de Lasso en este caso y esa selección de Lasso hizo uso de esta columna de validación ponderada. |
| Luego volvemos a dibujar esos pesos. Volvemos a asignar aleatoriamente diferentes pesos a esos pares de filas y reajustamos el modelo. Y, en nuestro caso, lo repetimos de 10 a 15 veces, pero en la práctica para obtener un buen modelo de conjunto autovalidado, querríamos repetir este proceso 100 o más veces. |
| 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 es, como vimos con nuestro modelo final, que logramos como el promedio de todas esas iteraciones . |
| Entonces, ahora quiero entregárselo a Pete y él hablará a través de un estudio de caso ahora, que en realidad ilustra por qué querría usar este método inusual para modelar datos como este. |
| Peter Hersh | Muchas gracias, Phil. Voy a seguir adelante y compartir mi pantalla aquí. |
| Y veamos un ejemplo sobre cuándo podríamos |
| utilice este método. Asi que aqui estoy |
| Al observar los resultados primero, estamos viendo un par de diseños que son DOE muy pequeños, por lo que un DOE de seis corridas, ocho corridas y diez corridas, con tres factores. |
| Y estos son diseños de superficies de respuesta que están súper saturados a saturados en la naturaleza y todos son diseños óptimos, por lo que se trata de un número muy pequeño de corridas. |
| para lograr nuestro objetivo aquí. Así que aquí es a donde vamos. Así que retrocedamos y hablemos sobre el diseño y luego cómo llegamos aquí. |
| Entonces. |
| Este es un estudio de caso en el que intentamos maximizar la tasa de crecimiento de un microbio ajustando diferentes combinaciones de nutrientes. Y como mencioné antes, estamos usando un diseño óptimo súper saturado y estamos ajustando el número de corridas. |
| Y estos son datos simulados, donde todos los efectos principales están activos, así como todas las cuadráticas. |
| Entonces, cómo se estableció esto, comenzamos con nuestros tres factores. Diseñé mi modelo. Si no ha diseñado un diseño saturado o súper saturado en JMP antes, |
| la forma de hacerlo es tratar los efectos que no son los efectos principales como si fuera posible, y eso le permite tener menos corridas o la misma cantidad de corridas que los efectos de modelo. Y entonces generé mis diseños allí. |
| Y pasó por este proceso que Phil describió tan bellamente allí de volver a muestrear los datos, obtener esos pesos invertidos ... pesos inversamente proporcionales, que son clave para este proceso. |
| Tenemos un par de charlas que se han hecho y solo tengo códigos QR para ellas. |
| Esta técnica fue desarrollada por Chris Gotwalt y Phil Ramsey y han introducido la técnica en algunas charlas anteriores. Y este ultimo |
| 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á utilizar esta configuración de complemento. |
| Y como dijo Phil, entonces un |
| Es posible que el modelo individual no se ajuste muy bien a los datos, algunos encajarán bien, otros no tendrán términos. |
| Pero esto es solo caminar a través del ejemplo aquí, donde puede ver cada modelo individual. Algunos son solo una intersección, otros se ajustan bastante mal y el modelo ocasional lo hace bastante bien. |
| Y así es como lo describió Phil, cada uno de estos tiene un peso recalculado diferente. Entonces, obtendremos un modelo ligeramente diferente y vamos a seguir adelante y guardarlos. Entonces ese es el primer paso allí. |
| Y luego, el siguiente paso es promediar esos modelos. Y como puede ver, a medida que promedia esos modelos, más y más modelos, el ajuste del modelo es cada vez mejor. Entonces, los modelos individuales no son geniales, pero el modelo promedio general nos brinda ese buen ajuste. |
| Y el último paso del que quería hablar era que estos modelos están sesgados por naturaleza. Como viste con el primer modelo que hizo Phil, no hubo efectos activos allí. Entonces |
| cuando está haciendo alguna técnica de selección de modelo o variable con su modelo, ocasionalmente obtendrá un modelo en el que esa variable específica no ingresa. |
| Entonces, si miramos aquí estas distribuciones, puede ver |
| todos estos son efectos activos y tienen una distribución de alrededor de 5, que es el tamaño del efecto, pero también tienen esta barra aquí abajo que es 0. |
| Así que no vamos a sobreestimar el efecto tan a menudo como obtenemos 0 para contrarrestar esto, así que esto estará sesgado a un valor más bajo, así que haremos un |
| truco para debias estos modelos, donde |
| Trate este modelo como un predictor en solo un modelo de mínimos cuadrados, y eso eliminará ese sesgo y recorreré este proceso para mostrarle cómo se hace. |
| Pero al final obtenemos ese muy buen resultado que compartí con muy pocas carreras. Así que esa es la motivación de por qué usarías SVEM es la capacidad de predecir y hacer un modelo decente con menos corridas de las que podrías sin usar esta técnica. |
| Muy bien, pasemos a JMP aquí |
| y |
| recorre ese proceso. |
| Bien, aquí está el DOE de seis ejecuciones de ese ejemplo que mostré, donde tenemos nuestros tres factores y nuestra tasa de crecimiento. Y esto es después de que hayamos construido el modelo. |
| Así es como se ve y lo hemos revisado y corrido ahora. Así que tenemos nuestras seis carreras con nuestros seis resultados. Nuestro siguiente paso es crear esa columna de validación y para hacerlo dentro de JMP, solo pasaremos a analizar el modelado predictivo, |
| haga una columna de validación, y luego, en lugar de una columna de validación, crearemos una tabla de validación automática. |
| De acuerdo, y así es como hice esto. Ya pasé por eso y lo hice, así que no repetiré el proceso. |
| Pero aquí están esos datos con sus datos reemuestreados y ese peso correlacionado inversamente, como lo demostró Phil. Tienes un peso elevado junto con un peso reducido de la carrera repetida. Después de haber hecho eso, lo revisamos y hacemos nuestro modelo. |
| En este caso, utilicé un modelo GenReg y desea seleccionar una de las técnicas de selección de variables. Entonces, si sigo adelante y ejecuto esto, quiero hacer algo como la selección hacia adelante Lasso |
| o una de esas técnicas de selección. Y Trent entrará en más detalles sobre esas técnicas de selección y cuáles han investigado. |
| Entonces, después de ejecutar el modelo, verá que JMP ha revisado y seleccionado algunos efectos que están activos. Ha capturado algunos de los, pero puedes ver aquí. |
| ese sesgo que estamos viendo, donde ambos efectos principales deberían estar activos, pero han salido como 0. Entonces, cuando guardo esto en la tabla de datos, |
| Crearé una nueva columna como Phil mostró y luego volveré a calcular ese peso y lo haré una y otra vez. Y aquí hay un guión simple para hacer esto 100 veces, y |
| estaremos felices de compartir esto. Y esto es muy fácil de copiar y pegar su secuencia de comandos, su secuencia de comandos modelo aquí y poder reproducir lo que hemos hecho aquí. |
| Bien, aquí está el resultado final, donde hemos pasado con nuestro DOE, nuestros resultados, y luego tenemos |
| los 100 modelos, que he guardado |
| y escondido aquí. Y luego el modelo final, que es |
| un promedio de los 100 de esos modelos. Y el último paso que queremos hacer es ese paso de depuración. Entonces todo lo que vamos a hacer es tratar esto |
| modelo promedio como predictor de la tasa de crecimiento. |
| Entonces aquí, puedes ver el modelo original que tenemos. |
| tiene una pendiente mucho más pronunciada, por lo que tiene una R cuadrado decente, pero no es tan bueno como esperábamos. Quiero decir, incluso con seis carreras, esto ... seis carreras encajan bastante bien, pero |
| si podemos eliminar ese sesgo, tal vez podamos hacerlo un poco mejor. Configuración muy simple. Simplemente tomamos la tasa de crecimiento. Nuestra respuesta es nuestra Y. Agregamos el |
| modelo de conjunto aquí, promediado de todos esos |
| modelos individuales, como nuestro predictor. Ejecutamos esto y obtenemos un resultado, y pueden ver que es una trama real por predicción mucho mejor. Y si hacemos una comparación allí, puede ver que eliminar ese sesgo tiene un gran efecto en la dirección positiva. |
| Bien, y antes de devolvérselo a Trent, quería mostrarle uno más. |
| diapositiva aquí, que es básicamente un resumen de |
| que nosotros... (perdí mi barra de tareas, ahí está) ... que les recomendamos encarecidamente que usen |
| y compruebe esta técnica, pero no es una técnica mágica que siempre funcionará en todas las situaciones. Pero cuando está comprobando esto en diseños de proyección y cosas como esta, esta podría ser una técnica muy buena que |
| ayudarlo a lograr cosas que quizás no haya podido lograr con las técnicas de modelado estándar. Y con eso, se lo voy a pasar a Trent que tiene |
| un poco más de detalles sobre cómo se hace esto y el |
| información allí. Entonces, Trent, ¿quieres quitártelo? |
| Trent Lemkus | Sí, gracias, Peter. Soy consciente de que. |
| Entonces |
| Estoy compartiendo mi |
| PDF. Solo quiero asegurarme de que eso sea de hecho compartir y que todos puedan verlo. |
| Peter Hersh | Sí. |
| Trent Lemkus | Está bien, fantástico. Entonces |
| como Phil y Peter presentaron, presentaron estudios de casos, que creo que son anécdotas fenomenales que muestran el poder de SVEM y cuándo y por qué usar SVEM. |
| Lo que hicimos para nuestro trabajo de investigación que ahora se encuentra en proceso de revisión por pares es que llevamos a cabo una cantidad desmesurada de estudios de simulación para mostrar ... para ver empíricamente cómo funcionaría SVEM en un entorno predictivo. Entonces |
| el siguiente ... tengo una serie de diapositivas que voy a mostrar. Sé que puede parecer un poco aburrido y seco, pero creo que es imperativo discutir 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 mostrarles cómo se ven algunos de los resultados, así como los resultados. |
| Entonces, ante todo, el esquema y los objetivos de nuestros estudios de simulación fueron principalmente |
| queríamos crear una arquitectura de simulación del mundo real. Así que queríamos que nuestras simulaciones imitaran el DOE industrial del mundo real lo más cerca posible de lo humanamente posible. |
| Y en segundo lugar, queríamos ver cómo la construcción de modelos contemporáneos o las técnicas de selección de modelos contemporáneos, así como el rendimiento de SVEM cuando se enfocan principalmente en la predicción pura, |
| simple y llanamente. Así que queríamos ver cuándo ajustamos un modelo a un diseño, cómo predice una verdad o un conjunto de datos retenido, o disculpe mi acento, datos. |
| Y a partir de esto, si podemos simular estas ejecuciones únicas tantas veces como sea posible desde el punto de vista computacional, queremos hacer inferenciales del mundo real ... queremos hacer ... inferir resultados del mundo real lo más cerca posible para que podamos pueden |
| prescribir configuraciones y dónde y cómo usar SVEM, ya que SVEM es tan incipiente. |
| Entonces, ante todo, ¿qué diseños usamos en nuestras simulaciones? Usamos diseños de cribado definitivos |
| y usamos diseños de Box-Behnken donde el verdadero modelo generador 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 |
| Cuanto más efectos principales tenga, más saturados y luego súper saturados se volverán los modelos, lo que significa que tendrá muchos menos grados de libertad cuanto más altos sean los efectos principales. Mientras que con sus diseños de Box-Behnken con los efectos principales que usamos, |
| no te encuentras con ese escenario. Entonces tenemos un ... tenemos una yuxtaposición entre dos escenarios, donde en una mano 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 modelo, y en el caso del diseño de cribado definitivo, casi hemos |
| en la mayoría de nuestros casos, teníamos un diseño súper saturado, por lo que teníamos una cantidad inadecuada de grados de libertad. En otras palabras, en pocas palabras, |
| no pudimos estimar todos los efectos cuando usamos técnicas de construcción de modelos contemporáneas, como sus selecciones hacia adelante, como sus Lassos, sus selectores de Dantzig, etc. |
| lo que nos lleva a qué algoritmos de modelos reales usamos para nuestras simulaciones. Entonces, para los modelos SVEM, tenga en cuenta que si usted ... |
| Si no comprende bien lo que es SVEM, es muy importante que vuelva a algunas de las presentaciones anteriores a las que se refería Peter. |
| Pero tenemos que usar SVEM con una técnica de construcción de modelos subyacente, como la selección hacia adelante, poda hacia adelante y Lasso, que es lo que usamos para nuestros estudios de simulación. |
| En nuestros casos de modelos que no son SVEM, usamos esos mismos algoritmos de construcción de modelos, pero también incorporamos el selector de Dantzig, que es bastante popular en DOE, |
| así como el diseño de cribado definitivo de ajuste, que está relacionado exclusivamente con el cribado definitivo; no se usa 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 en realidad es bastante notorio por seleccionar modelos muy parsimoniosos. |
| Entonces, como puede ver, estamos tratando de incorporar técnicas contemporáneas que son muy actuales en el uso de DOE industrial, que se adhiere al núcleo ... punto central que mostré en la diapositiva inicial, que es |
| queremos imitar el mundo real tan cerca como sea humanamente posible con nuestros estudios de simulación, para que podamos hacer estos empíricos ... |
| por lo que podemos evaluar empíricamente cómo funcionan de manera predictiva estos diferentes algoritmos de construcción de modelos. Y es de esperar que podamos demostrar que SVEM se desempeña o supera a su competencia empíricamente. |
| Entonces, para la estructura de simulación real, ejecutamos 1,000 simulaciones para cada algoritmo de construcción de modelos. Entonces, por ejemplo, si estuviéramos ajustando un modelo avanzado 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 la academia y en y ... cuando se realiza investigación), |
| creando así un conjunto de entrenamiento, por así decirlo, y un conjunto de verdad para que, una vez que ajustemos un modelo, podamos ver cómo ese modelo predice contra la verdad. Y volvemos a ejecutar y regeneramos esos conjuntos de datos al azar 1.000 veces. |
| El hiperparámetro SVEM, que no entraré en lo que es, usamos un nBoot de 200. En pocas palabras, básicamente estábamos ajustando 200 modelos y estamos promediando esos modelos para producir nuestro modelo SVEM final. |
| Los diseños también se repitieron en varias características. Entonces, la cantidad de efectos principales |
| para los diseños de cribado definitivos, tuvimos cuatro efectos principales y ocho efectos principales. Para nuestros diseños Box-Behnken, teníamos |
| tres efectos principales y cinco efectos principales. Lo que eso significa, solo para darle un ejemplo, es para nuestro DSD, por ejemplo, donde K es ocho, tiene ocho efectos principales. Si tiene un modelo cuadrático completo, |