Vocero | Transcripción |
| jordán hiller | salir. |
| phil kay | Bien, bien, gracias por acompañarnos. Soy Phil Kay. Soy el administrador de aprendizaje en JMP y voy a comenzar esta presentación con un ejemplo interactivo de SVEM, que es un modelo de conjunto 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ías hacer esto. Solo voy a presentar esto en un |
| estudio de caso muy simple, por lo que puede no parecer inicialmente por qué... puede que no parezca claro por qué querrías hacer esto, pero espero que entiendas el mecanismo después de que lo haya explicado. |
| Bien, voy a detener mi video ahora y solo enfocarme en la demostración del software aquí. |
| Tenemos un diario de JMP aquí, que compartimos con usted, para que pueda acceder a él desde la publicación en la comunidad de JMP en Community.JMP.com. |
| Y el ejemplo que usaremos es un ejemplo clásico del DOE. Estos son los datos de rebote, que puede obtener de los archivos de ayuda en JMP. |
| Así que son tres factores, 15 carreras. Es un diseño de Box-Behnken y ahí tenemos una respuesta, que es amplia, por lo que es bastante 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 ajustamos un modelo de superficie de respuesta que tenga estos comportamientos curvilíneos, estos efectos cuadráticos y esas interacciones entre factores que resultan ser importantes. |
| Entonces, 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 duplicamos 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 vamos a graficar eso para que puedas ver lo que significa. |
| Así que pueden 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, pueden ver aquí. |
| De hecho, estamos ponderando cada una de estas ejecuciones en el conjunto de entrenamiento, que es cero, o en el conjunto de validación, que es uno. Y puedes ver que 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, conjunto de validación cero, y tiene una ponderación baja correspondientemente en el conjunto de validación. |
| Ahora esos han sido asignados aleatoriamente y podemos... |
| al hacer clic aquí, podemos volver a dibujarlos, por lo que podemos reasignar los pesos. Y de nuevo, si una fila tiene un gran peso en el conjunto de entrenamiento, por ejemplo, la fila número seis aquí tiene un gran peso en el conjunto de entrenamiento, tendrá una ponderación correspondientemente baja 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 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 porciones 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, podemos reasignar esos pesos |
| repetidamente, lo que servirá cuando se trata del modelado del conjunto. |
| Bien, solo para resumir, hemos... reduplicado básicamente cada fila de datos y les estamos asignando pesos de modo que algunas filas estarán más en el entrenamiento y otras estarán 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 validación como selección de modelo. Y, en este caso, en realidad no se seleccionó ningún efecto activo en el modelo. Entonces se ajusta a un modelo de superficie de respuesta y hemos usado la validación como método de selección, usando el Lasso, |
| y hemos determinado que ningún efecto está realmente activo, por lo que tenemos un modelo sin efectos activos efectivos. |
| Lo que podemos hacer entonces es volver a dibujar esos pesos nuevamente, para que podamos volver a ponderar nuestras columnas. |
| Y podemos ver, esta vez nos llega 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. |
| Guardemos 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. Entonces, nuevamente, los estamos redibujando, de modo que algunas de las filas tengan más peso en el entrenamiento, algunas de ellas tengan más peso en la validación. |
| Y obtuvimos un modelo diferente nuevamente y guardémoslo ahora. Así que ahora tenemos |
| dos filas de... dos columnas con fórmulas de predicción guardadas. |
| Y podemos hacerlo de nuevo. Así que volveré a dibujar los pesos y guardaré la fórmula de predicción. Acabo de recibir un script que hace eso por nosotros. Y, de hecho, crea el promedio de este modelo, por lo que en realidad hemos promediado nuestros tres modelos guardados. |
| Entonces, cada modelo individual usó 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 esos juntos, |
| el promedio de esos es el mejor modelo hasta ahora. Así que pueden ver que 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 se puede ver redibujando los pesos; cada vez que obtenemos un modelo ligeramente diferente. |
| Y podemos guardar cada uno de esos diferentes modelos. |
| Y finalmente 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, |
| se puede ver que los dos modelos en realidad están muy 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 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, que nos van a explicar la motivación para querer utilizar esta novedosa técnica de modelado. |
| Lo que hicimos fue duplicar las filas originales de datos. |
| 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 retener por completo una fila de datos, pero lo que podemos hacer con este conjunto duplicado |
| es tener una validación ponderada. Entonces 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. Asignamos aleatoriamente diferentes pesos nuevamente a esos pares de filas y reajustamos el modelo. Y, en nuestro caso, repetimos esto 10-15 veces, pero en la práctica, para obtener un buen modelo de conjunto autovalidado, nos gustaría 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 sí lo es, como vimos con nuestro modelo final que logramos como el promedio de todas esas iteraciones. . |
| Entonces, ahora quiero dárselo a Pete y ahora hablará sobre un estudio de caso, que en realidad ilustra por qué querría usar este método inusual para modelar datos como este. |
| Pedro Hersh | Genial gracias, Fil. Voy a seguir adelante y compartir mi pantalla aquí. |
| Y analicemos un ejemplo sobre cuándo podríamos |
| utiliza este método. Así que aquí estoy |
| mirando primero los resultados, entonces estamos viendo un par de diseños que son DOE muy pequeños, por lo que un DOE de seis ejecuciones, ocho ejecuciones y 10 ejecuciones, con tres factores. |
| Y estos son diseños de superficie de respuesta que son de naturaleza súper saturada a saturada 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í. Así que aquí es donde vamos. Así que retrocedamos y hablemos sobre el diseño y luego cómo llegamos aquí. |
| Entonces. |
| Este es un caso de estudio 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 súper saturado I óptimo y estamos ajustando el número de ejecuciones. |
| Y estos son datos simulados, donde todos los efectos principales están activos, así como todos los efectos cuadráticos. |
| Entonces, cómo se configuró esto, comenzamos con nuestros tres factores. Diseñé mi modelo. Si no ha diseñado un diseño saturado o supersaturado en JMP antes, |
| la forma de hacerlo es tratar esos efectos que no son los efectos principales como si fuera posible, y eso le permite tener menos ejecuciones o la misma cantidad de ejecuciones que los efectos del 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... inversamente proporcionales, que son clave para este proceso. |
| Tenemos un par de charlas que se han realizado y solo tengo códigos QR para esas. |
| Esta técnica fue desarrollada por Chris Gotwalt y Phil Ramsey y la han presentado en algunas charlas anteriores. y esto 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, necesitará usar esta configuración de complemento. |
| Y como dijo Phil, entonces un |
| el modelo individual puede no ajustarse muy bien a los datos, algunos encajarán bien, otros no tendrán ningún término. |
| Pero esto es solo repasar el ejemplo aquí, donde puede ver cada modelo individual. Algunos son solo una intercepción, otros son ajustes bastante pobres y el modelo ocasional funciona bastante bien. |
| Y esto es como lo describió Phil, cada uno de estos tiene un peso recalculado diferente. Entonces, estamos obteniendo un modelo ligeramente diferente y vamos a seguir adelante y guardarlos. Así que 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 mejora cada vez más. Entonces, los modelos individuales no son geniales, pero el modelo promedio general nos da un 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 había efectos activos allí. Entonces |
| cuando está haciendo algún modelo o técnica de selección de variables con su modelo, ocasionalmente obtendrá un modelo en el que esa variable específica no ingresa. |
| Entonces, si observamos aquí 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 obtengamos 0 para contrarrestar esto, por lo que se sesgará a un valor más bajo, por lo que haremos un |
| pequeño truco para eliminar el sesgo de estos modelos, donde |
| trate este modelo como un predictor en solo un modelo de mínimos cuadrados, y eso eliminará esos sesgos y lo guiaré a través de este proceso para mostrarle cómo se hace. |
| Pero al final obtenemos ese muy buen resultado que compartí con un número muy pequeño de ejecuciones. Así que esa es la motivación por la que usaría SVEM es la capacidad de predecir y hacer un modelo decente con menos ejecuciones de las que podría sin usar esta técnica. |
| Muy bien, saltemos a JMP aquí. |
| y |
| recorrer 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. |
| Esto es lo que parece y hemos pasado y corrido ahora. Entonces tenemos nuestras seis carreras con nuestros seis resultados. Nuestro próximo paso es crear esa columna de validación y hacerlo dentro de JMP, simplemente analizaremos el modelado predictivo, |
| haga una columna de validación, y luego, en lugar de una columna de validación, vamos a hacer una tabla de validación automática. |
| Bien, y así es como he hecho esto. Ya he pasado y hecho eso, así que no repetiré el proceso. |
| Pero aquí están los datos con sus datos remuestreados y ese peso inversamente correlacionado, como demostró Phil. Tienes un peso alto junto con un peso bajo de la carrera repetida. Después de haber hecho eso, pasamos y hacemos nuestro modelo. |
| En este caso, he usado 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 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 revisó y seleccionó algunos efectos que están activos. Ha atrapado algunos de los, pero puedes ver aquí |
| ese sesgo que estamos viendo, donde ambos efectos principales deberían estar activos, pero resultaron ser 0. Así que cuando guardo esto en la tabla de datos, |
| Crearé una nueva columna como mostró Phil y luego volveré a calcular ese peso y lo haré una y otra vez. Y aquí hay un script simple para hacer esto 100 veces, y |
| estaremos encantados de compartir esto. Y es muy fácil simplemente 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 tengo guardados |
| 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 eliminación de prejuicios. Así que todo lo que vamos a hacer es tratar esto |
| modelo promedio como predictor de la tasa de crecimiento. |
| Así que aquí puedes ver el modelo original que tenemos. |
| tiene una pendiente mucho más empinada, por lo que tiene una R cuadrada decente, pero no es tan buena 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 mucho mejor real que predicha. Y si realizamos una comparación allí, puede ver que eliminar ese sesgo tiene un gran efecto en la dirección positiva. |
| Así es, antes de devolvérselo a Trent, quería mostrar 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 echa un vistazo a esta técnica, pero no es una técnica mágica que siempre funcionará en todas las situaciones. Pero cuando está verificando 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 detalle sobre cómo se hace esto y el |
| información allí. Trent, ¿quieres quitártelo? |
| trent lemkus | Sí, gracias, Pedro. Soy consciente de que. |
| Entonces |
| estoy compartiendo mi |
| PDF. Solo quiero asegurarme de que eso es de hecho compartir y que todos puedan verlo. |
| Pedro 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 bajo el proceso de revisión por pares es que llevamos a cabo una cantidad excesiva 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 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 SVEM, funcionan cuando se enfocan principalmente en la predicción pura, |
| llano y simple. Entonces, queríamos ver cuándo ajustamos un modelo a un diseño, cómo predice una verdad o un conjunto de datos reservado, o disculpe mi 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... queremos hacer... inferir resultados del mundo real lo más cerca posible para que podamos poder |
| 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? Utilizamos 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 |
| cuantos más efectos principales tenga, más saturados y luego supersaturados se vuelven los modelos, lo que significa que tiene muchos menos grados de libertad cuanto más altos se vuelven los efectos principales. Mientras que con sus diseños de Box-Behnken con los efectos principales que usamos, |
| no te encuentras con ese escenario. Así que tenemos una... 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 cribado definitivo, tenemos casi |
| 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. Entonces, en otras palabras, en pocas palabras, |
| no pudimos estimar todos los efectos cuando usamos técnicas contemporáneas de construcción de modelos, como sus selecciones hacia adelante, como sus Lassos, sus selectores de Dantzig, etc. |
| lo que nos lleva a qué algoritmos modelo reales usamos para nuestras simulaciones. Así que para los modelos SVEM, teniendo en cuenta que si... |
| Si no tiene una buena comprensión de 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 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 tamizaje definitivo apto, que corresponde exclusivamente al tamizaje 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 en realidad es bastante conocido por seleccionar modelos muy parsimoniosos. |
| Entonces, como puede ver, estamos tratando de incorporar técnicas contemporáneas que son muy actuales en el uso del DOE industrial, que se apega al núcleo... el punto central que mostré en la diapositiva inicial, que es |
| queremos imitar el mundo real lo más humanamente posible con nuestros estudios de simulación, para que podamos hacer estos empíricos... |
| para que podamos evaluar empíricamente cómo estos diferentes algoritmos de construcción de modelos funcionan de manera predictiva. Y con suerte podemos demostrar que SVEM se desempeña o supera a su competencia empíricamente. |
| Entonces, para la estructura de simulación real, ejecutamos 1000 simulaciones para cada algoritmo de construcción de modelos. Entonces, por ejemplo, si estuviéramos ajustando un modelo directo con AICc, |
| 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... al realizar investigaciones), |
| creando así un conjunto de entrenamiento, por así decirlo, y un conjunto de verdad para que, una vez que ajustamos un modelo, podamos ver cómo ese modelo predice en contra de la verdad. Y volvemos a ejecutar y regenerar esos conjuntos de datos al azar 1000 veces. |
| El hiperparámetro SVEM, que no explicaré en qué consiste, usamos un nBoot de 200. En pocas palabras, básicamente ajustamos 200 modelos y estamos promediando esos modelos para producir nuestro modelo SVEM final. |
| Los diseños también se iteraron en varias características. Así que el número de efectos principales |
| para los diseños de cribado definitivos, tuvimos cuatro efectos principales y ocho efectos principales. Para nuestros diseños de Box-Behnken, tuvimos |
| 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, |