Vocero
|
Transcripción
|
| Joshua W Lambert |
Hola. |
| ROBYN GODFREY |
hola soy Robin, yo josh. |
| |
Si. |
| ROBYN GODFREY |
El neo. |
| Joshua W Lambert |
sí, un placer conocerte, lo siento, solo estoy abriendo el PowerPoint aquí. |
| ROBYN GODFREY |
Bueno. |
| |
¿Tiene copresentadores? |
| Joshua W Lambert |
No. |
| ROBYN GODFREY |
Muy bien, solo voy a bajar la lista aquí, así que estamos grabando esto para que me dé una afirmación verbal de que sabe que está siendo grabado. |
| |
Si. |
| ROBYN GODFREY |
Se silencian las notificaciones de Internet de los teléfonos móviles. |
| Joshua W Lambert |
Si. |
| ROBYN GODFREY |
sí, creo que soy como la barra de tareas de Windows y todo eso, y seguro que es como si tu correo electrónico se apagara en el medio. |
| Joshua W Lambert |
¿Y no creo que tengo todo apagado? Ellos nunca tuvieron que hacer eso antes. |
| ROBYN GODFREY |
Creo que está en la barra de tareas. |
| |
veamos aquí. |
| |
Solo cierra tu correo electrónico y todo estará bien. |
| |
Bueno. |
| Joshua W Lambert |
tengo los tacos. |
| ROBYN GODFREY |
Bien, genial, me esconderé aquí. |
| |
Para hacer esto, cada vez que hago esto, tengo que hacerlo, me tiene que gustar Está bien, ¿qué hice? |
| Joshua W Lambert |
Por lo que entonces. |
| |
En lo que respecta a la presentación, supongo que ustedes se cortarán cuando empiece. |
| |
sí y lo que tienes alguna pregunta que vas a hacer o. |
| ROBYN GODFREY |
No, no, así que harás tu presentación como yo lo harías normalmente. |
| |
bien y solo sabes que mencionas tus diapositivas y todo. |
| |
Si desea hablar primero y luego mostrar sus diapositivas, está bien si necesita comenzar de nuevo o algo así, hágamelo saber y podemos hacerlo, no es gran cosa. |
| |
Está bien, eres un pequeño clip como si fueras la cámara, ¿hay alguna forma de retroceder un poco porque estás muy cerca? |
| |
Ni siquiera puedo ver tu rostro completo, puedo verlo. |
| Joshua W Lambert |
para saber que me olvidé. |
| ROBYN GODFREY |
sí, solo un poquito. |
| |
O tal vez baje un poquito su cámara. |
| |
eso es bueno. |
| |
eso es bueno, sí, podemos ver más de tus hombros y todo está bien. |
| |
Así que voy a quedarme en silencio, así que dame un par de segundos y luego podrás. |
| |
Empiece cuando esté listo, está bien. |
| |
Excelente. |
| Joshua W Lambert |
Hola, todos. Mi nombre es Josh Lambert. Soy profesor asistente en la Universidad de Cincinnati y soy usuario de JMP desde hace unos 10 años. |
| |
Y estoy emocionado de compartir con ustedes un trabajo que he estado haciendo en torno a la exploración de interacciones en modelos de regresión usando un complemento que construí que usa un algoritmo que desarrollé llamado algoritmo de solución factible. |
| |
Entonces |
| |
algunos contenidos de los que vamos a hablar hoy. Así que empezaré con un pequeño ejemplo, que motivará nuestra discusión, así como en lo que he estado trabajando, una descripción general del problema. |
| |
Una posible solución. |
| |
Y luego analice cómo implementé la solución en un paquete R y luego lo moví a un complemento JMP y el proceso que tomé para hacerlo. Y luego hablaré sobre algunos esfuerzos futuros y algunas cosas que aprendí en el camino. |
| |
Así que motivemos nuestra discusión de hoy con un pequeño ejemplo. Voy a llamar a este Tom el científico de datos. Así que conoce a Tom. Es un científico de datos y Tom realiza muchas actividades típicas de ciencia de datos, específicamente Tom construye modelos de regresión multivariable en JMP. |
| |
Principalmente se ocupa de datos tabulares que tienen muchas variables, y Tom se da cuenta de que estos modelos de regresión multivariable carecen de complejidad, específicamente carecen de términos de interacción y términos cuadráticos. |
| |
Y Tom ... eso frustra a Tom, y Tom no quiere entrar directamente en el aprendizaje automático. |
| |
Por tanto, desea tener una forma de explorar los efectos de interacción en sus modelos de regresión. |
| |
tiene interacciones que le gustaría probar, pero tendría que crearlas a mano en la plataforma del modelo de ajuste en JMP. |
| |
Y ya sabes, tener que ejecutar todos estos va a llevar mucho tiempo. Entonces, por ejemplo, si Tom tiene 200 variables en su conjunto de datos y necesita buscar todas las interacciones bidireccionales, eso es 19,900 interacciones bidireccionales para verificar. Son demasiados. |
| |
Entonces Tom se pregunta, ¿existe una forma algorítmica y basada en datos para explorar los efectos de interacción en modelos de regresión sin necesidad de crearlos a mano y la necesidad de verificar todas estas combinaciones posibles? |
| |
Así que revisemos este problema de una manera un poco más rigurosa matemática y estadísticamente. Entonces, lo que tenemos en el problema es que tenemos un problema de volumen y complejidad. |
| |
Entonces volumen y complejidad |
| |
va a seguir creciendo a un ritmo realmente rápido. Tenemos cada vez más datos disponibles para nosotros todo el tiempo, y la complejidad de estos datos también está creciendo. |
| |
El problema con las interacciones es que hay demasiadas para verificar. |
| |
Por lo general, un científico de datos, estadístico o científico tendrá que ingresar al análisis con un conjunto conocido de interacciones para verificar |
| |
y luego proceda a revisarlos. Este es un problema por varias formas ... varias razones, |
| |
que es posible que no tenga una buena idea de qué interacciones pueden existir o no, y le gustaría poder explorarlas en sus datos |
| |
sin tener que ir a modelos, como bosque aleatorio o incluso análisis de componentes principales para hacer algún tipo de reducción de datos, haciendo algo más de complejidad allí. Realmente le gustaría poder hacer cosas a lo largo del camino mientras crea un modelo de regresión. |
| |
Entonces, el otro problema con el bosque aleatorio y los componentes principales, así como con otros tipos de tareas de aprendizaje automático, es que estas cosas a menudo son difíciles de interpretar y nos gustaría agregar ... mantener la interpretabilidad de los modelos de regresión mientras estamos explorar interacciones. |
| |
Por lo general, nuestro flujo de trabajo en regresión |
| |
por lo que el estadístico pasa mucho tiempo construyendo un modelo base parsimonioso, lo que llamaré, con las variables necesarias y sin efectos de interacción agregados. |
| |
Este modelo base, el estadístico dedicará mucho ... mucho tiempo a este modelo base, muchos recursos, atención, dedicará tiempo a pensar si son o no interpretables y si tendrán un buen sentido contextual. |
| |
El problema con estos modelos base que no incluyen complejidad es que asumen que los efectos ... que los efectos que están estimando son consistentes en todos los subgrupos posibles, como sexo, raza, edad, y eso normalmente no lo es. verdadero. |
| |
Esta falta de complejidad |
| |
realmente evita que las personas puedan usarlo, en comparación con, por ejemplo, un modelo de aprendizaje automático, que hace un muy buen trabajo al modelar esta complejidad. Entonces, el problema realmente se puede resumir de la siguiente manera. |
| |
¿Hay alguna manera de que no podamos llegar hasta los modelos de regresión multivariable tradicionales y no hasta los modelos de aprendizaje automático? |
| |
pero encontramos un buen punto intermedio, donde podamos tomar la agradable interpretabilidad de nuestros modelos de regresión que agregan una interacción o dos |
| |
que encontramos en este big data, para que podamos agregar matices interesantes a nuestros modelos y complejidad, que, nuevamente, agregan desempeño predictivo así como buen sentido contextual. |
| |
Entonces, si hay una forma de hacerlo, lo que realmente nos gustaría hacer es desarrollar una herramienta para que los estadísticos, científicos de datos e investigadores puedan explorar las interacciones después de construir un modelo base. |
| |
el modelo base ocurre primero, y luego la exploración de la complejidad generalmente ocurre en segundo lugar. |
| |
Así que tenemos algunas limitaciones y preferencias si tuviéramos que desarrollar una herramienta como esta. Nos gustaría que hubiera, basado en modelos estadísticos tradicionales de regresión logística lineal, |
| |
nos gustaría que siguieran siendo interpretables. Queremos comprobar menos modelos, si es posible, y preferiríamos factibles sobre óptimos. Me adentraré un poco más en lo que eso significa más adelante, pero en esencia, lo que realmente significa es que |
| |
nos gustaría que hubiera una plétora de soluciones en lugar de una sola que sea buena y lo que llamaremos factible. |
| |
Y también nos gustaría que fuera flexible. Podría adaptarse para poder trabajar con regresión lineal, regresión logística, regresión proporcional de Cox. Podríamos usarlo para la regresión de Poisson, cualquier tipo de regresión, este marco o herramienta podría usarse. |
| |
Y nuevamente, será un híbrido entre los métodos estadísticos tradicionales y el aprendizaje automático. Los resultados que se obtendrán no necesariamente serán inferenciales, pero serán exploratorios y motivarán e influirán en lo que en el futuro dedicaremos nuestro tiempo a hacer. |
| |
Así que hablemos ahora de esta solución potencial, el algoritmo de solución factible. |
| |
El algoritmo ... el algoritmo de solución factible a veces llamado FSA, o así es como me gusta llamarlo, |
| |
se discutió por primera vez en este documento ... realmente se discutió por primera vez en detalle en este documento que escribí en 2018. |
| |
Y |
| |
Voy a resumir lo que hace el algoritmo aquí. |
| |
Entonces, el objetivo del algoritmo es identificar interacciones de orden m (de modo que si m fuera 2, sería una interacción de dos vías; si m fuera 3, sería una interacción de tres vías), |
| |
con un criterio factible, por lo que ese es un criterio que no es necesariamente el mejor criterio, pero es un |
| |
criterio que es |
| |
tal vez se considere semi-óptimo de alguna manera. |
| |
Entonces, para hacer esto, seguiríamos los siguientes pasos. Entonces, lo primero que vamos a hacer es comenzar con una interacción aleatoria de orden m, por lo que para nuestro caso, supongamos que es una interacción bidireccional, por lo que m es 2. |
| |
Vamos a considerar todos los intercambios de una de las variables y la interacción de todas las demás variables. Entonces, por ejemplo, digamos que lo iniciamos al azar. |
| |
Tenemos cinco variables, por lo que este es solo un pequeño ejemplo, solo para motivar los pasos aquí, pero digamos que tenemos cinco variables y comenzamos aleatoriamente en X3, X5 y nuestro criterio, que es R cuadrado para ese lugar de inicio aleatorio , es .5. |
| |
Y digamos que la forma en que funciona el algoritmo es considerar intercambiar una de las variables, X3 o X5, por cualquiera de las otras. Entonces nuestras elecciones son |
| |
X3 X1, X3 X2, X3 X4, X5 X1, X5 X2 y X5 X4. Así que observe que de todos los posibles, lo que llamaré, los intercambios tienen al menos una de las variables de lugar de inicio, ¿de acuerdo? |
| |
Y luego, lo que haremos es de todos estos, ajustaremos esos modelos y averiguaremos cuáles son los criterios para esos modelos. Entonces, lo que podemos ver aquí es que |
| |
para el modelo X3 X5, tenemos .5; X3 X1, el criterio es .4. |
| |
Y con R al cuadrado, obviamente no queremos ir a un lugar peor, queremos ir a un lugar mejor, un R al cuadrado más alto, de modo que averigüemos entre todas las opciones posibles, cuál es el mejor lugar para ir. . |
| |
En este ejemplo, el mejor lugar para ir es el intercambio número tres, que es X3 X4. Entonces, lo que haríamos es pasar al paso tres y haríamos el mejor intercambio desde el paso número dos. |
| |
En ese caso, pasaríamos a colocar X3, X4 y luego volveríamos al número dos y repetiríamos hasta que no se puedan realizar mejoras. |
| |
Entonces repetiríamos este proceso, moviéndonos a lugares, comenzando allí, considerando todos los intercambios, hasta que finalmente no podamos hacer una mejora. |
| |
Y vamos a llamar a eso en ... ese lugar en el que terminamos como una solución factible. |
| |
Y vamos a repetir los pasos del uno al cuatro para encontrar otras soluciones viables. Podemos hacer esto una y otra vez, y este proceso, este algoritmo de solución factible, no garantiza que le brinde la solución óptima, aunque puede brindarle la solución óptima, algunas veces. |
| |
Así que hablemos de algunos de los subproductos del uso de este algoritmo, el algoritmo de solución factible. Y estos se describen en un documento que |
| |
Elliott, una colega mía, escribió en 2021, donde describe que las soluciones factibles no están garantizadas, como acabo de decir antes, para ser óptimas para un criterio elegido. |
| |
Y es decir que todas las soluciones óptimas son factibles, pero no todas las soluciones factibles son óptimas. Entonces, las soluciones factibles son un tipo de solución semi-óptima, te dan buenos criterios, criterios factibles, pero no necesariamente óptimos. |
| |
Sin embargo, estos criterios de soluciones factibles suelen estar muy cerca de los óptimos, por lo que tienden a ser bastante buenos. Puede que no sean tan buenos como el mejor. |
| |
Muchas ... si repite el proceso, esto ... estos cuatro pasos, obtendrá potencialmente muchas soluciones factibles, por lo que si hace este algoritmo 10 veces, podría obtener cuatro soluciones factibles. |
| |
Puede obtener 10 soluciones factibles. Depende de los datos que esté utilizando, así como de la varianza en la covarianza de ese conjunto de datos, por lo que es un poco |
| |
indeterminado en cuanto a cuántas soluciones obtendrá. |
| |
Y es por eso que generalmente alentamos a los usuarios a repetir el algoritmo de solución factible muchas veces, porque eso aumentará sus posibilidades de obtener las óptimas, así como las factibles, y se asegurará de que haya |
| |
buscado adecuadamente el espacio. Y tenemos otro artículo que describe que (si alguien está interesado, puede comunicarse conmigo) en cuanto a cuántos tipos aleatorios debo hacer para asegurarme de tener una probabilidad razonable de obtener el óptimo. Tenemos una |
| |
artículo teórico sobre eso también. |
| |
Pero, en esencia, la forma en que esto funciona es que algunas de estas interacciones son más atractivas. Ellos ... el espacio beta los atrae más que a otros, por lo que lo que terminas obteniendo algunas veces es que, aunque |
| |
una interacción no es la óptima, a veces puede conducir ... los datos a menudo pueden conducirla |
| |
a través del algoritmo de solución factible ... factible a menudo puede llevarlo a ese lugar con más frecuencia que al óptimo, y eso solo tiene que ver con cómo se correlacionan los datos y otras cosas. |
| |
Así que hablemos del paquete R y luego cómo lo moví al complemento JMP. |
| |
Entonces |
| |
el paquete R se llama rFSA, y sé que podríamos tener algunas personas que han usado R bastante y otras que no. Y |
| |
Entonces, R es un lenguaje de programación realmente agradable y a menudo se enseña en programas de estadística, por lo que fue el primer lugar al que fui inmediatamente cuando estaba trabajando en mi disertación. |
| |
para, ya sabes, redactar este algoritmo y proporcionar realmente una herramienta a la comunidad para poder identificar y explorar interacciones en sus propios conjuntos de datos. |
| |
Y entonces el paquete rFSA implementa este algoritmo de solución factible del que acabo de hablar |
| |
para interacciones en grandes conjuntos de datos, y este paquete admite la optimización de muchos criterios diferentes como R cuadrado, R cuadrado ajustado, AIC |
| |
interacción, valor P, etc., etc. Y también admite diferentes estrategias de modelado, como modelos lineales y modelos lineales generalizados, y se puede adaptar fácilmente para trabajar con otros tipos de modelado, como los modelos de riesgo proporcional de Cox. |
| |
Y también ofrece múltiples soluciones ya que repite el algoritmo tantas veces como usted especifique. |
| |
Entonces, ¿por qué ... quiero hablar un poco sobre mi motivación para trasladar este paquete a JMP, y voy a hablar sobre el por qué, el cuándo y el cómo iba a hacer esto? |
| |
Entonces, la primera pregunta es, ¿por qué hacer esto? Lo primero es divertido de hacer. Me gusta escribir en diferentes lenguajes de programación. No tenía mucha experiencia escribiendo en el lenguaje de scripting JMP, que es la versión de JMP de |
| |
lenguaje de programación estadístico, por lo que quería aprender eso y pensé que sería divertido mover este paquete R en el que pasé la mayor parte de cuatro años e intentar moverlo a JMP, porque |
| |
Me gusta mucho JMP. Creo que JMP es genial. Es una gran herramienta para mí y para mis datos. |
| |
canalización de análisis. Por lo general, comienzo todos mis proyectos en JMP y exploro los datos, trazo los datos, miro las cosas y luego eso me da mucha buena intuición sobre esos datos. Y encontré que muchos de mis |
| |
colegas, específicamente uno de mis asesores, trabaja principalmente en JMP y siempre me estaba pidiendo el paquete FSA en JMP. |
| |
Y entonces pensé, ya sabes, ¿por qué no dárselo? Seguramente se lo merece, así que decidí que sería una buena herramienta y que, con suerte, otras personas |
| |
sacarle algo de uso. Y eso me lleva a mi otro punto sobre por qué hacer esto, y he recibido muchos comentarios excelentes sobre la rFSA. |
| |
Específicamente, he estado rastreando cuántas personas han descargado mi paquete R y hay más de 16,000 personas que lo han descargado desde que lo publicamos en 2019. |
| |
He recibido innumerables correos electrónicos de personas de todo el mundo, y quiero que lo mismo sea accesible para las personas en JMP, y espero que a través de este complemento, las personas puedan encontrar interacciones realmente interesantes que cambien la forma en que interpretan datos y cómo los entienden. |
| |
Y luego podrías preguntar, bueno, ¿cuándo iba a hacer esto? Esto no es exactamente algo por lo que alguien me esté pagando. Sabes, JMP no me paga por hacerlo. |
| |
Mi puesto actual, aunque creo que les resultaría interesante, probablemente no estén entusiasmados con que pase un montón de tiempo extra haciendo esto. |
| |
Pero afortunadamente, una cosa que sí he incorporado en mi puesto es algo de tiempo libre los viernes. Intento dejar los viernes por la tarde o los viernes por la mañana abiertos solo para divertirme, |
| |
cosas divertidas que tienen que ver con mi trabajo. Y lo llamo Fun Friday Free Time, y eso es lo que decidí hacer durante los últimos meses: tomar mi Fun Friday Free Time y gastarlo en la construcción de un complemento JMP. |
| |
Podrías preguntar, bueno, ¿cómo iba a hacer esto? Sabes, no conocía el lenguaje de secuencias de comandos JMP. ¿Cómo iba a hacer esto? Entonces |
| |
lo primero es que lo iba a aprender. Así que hay muchos recursos realmente geniales sobre cómo aprender JSL. |
| |
Por lo tanto, hay compatibilidad con el código JMP JSL que se encuentra dentro del propio software JMP. Solo ve a ayudar, puedes ... ir directamente a |
| |
el índice de secuencias de comandos que está allí. Hay innumerables cosas que están en línea |
| |
sobre cómo comprender el lenguaje de secuencias de comandos JMP y dónde empezar. Y luego está community.jmp.com, |
| |
lo cual es realmente genial para comenzar, donde puede hacer preguntas o ver otras preguntas que la gente ha hecho y pedir prestado el código que han publicado allí públicamente para poder ... para que la gente pueda disfrutar. Y lo hice varias veces aquí, y fue realmente genial. |
| |
Así que voy a revisar cada uno de estos un poco más en profundidad, solo para que si está interesado en mover un paquete R o escribir su propio algoritmo o escribir su propio código JSL, |
| |
tendrá una idea de por dónde empezar. Y luego, cuando termine con esto, voy a entrar en mi complemento y específicamente qué hace y cómo usarlo. |
| |
Entonces, ¿cómo se aprende JSL? Bueno, puedes de nuevo ... |
| |
puede aprenderlo a través de una serie de recursos JSL de JMP que tienen. Tienen una guía de secuencias de comandos de 864 páginas, que está vinculada aquí, |
| |
que puede buscar en Google, o es posible que pueda obtener estas diapositivas después de que esto termine, y poder obtener estos enlaces. Hay un índice de secuencias de comandos dentro de JMP, al que puede acudir para ayudar y luego índices de secuencias de comandos. Lo pongo aquí para ustedes, muy fácil de usar y empezar. |
| |
Puede ponerse en contacto con JMP. Así que lo primero que hice fue tener un contacto en JMP. Su nombre es Ruth Hummel y le dije, oye, quiero hacer esto, ¿por dónde empiezo? |
| |
Ella me apoyó y me animó con la idea. Ella pensó que era genial y luego me puso en contacto con un experto en código JSL, |
| |
cuyo nombre es Mark Bailey. Y Mark fue tremendo durante todo este proceso. Mark me ayudó con solo soporte general sobre el lenguaje de scripting, revisando mi código, ayudándome a escribir partes de él, |
| |
empezar en parte de ella. Y tomamos ... fuimos de ida y vuelta unas 22 veces diferentes a través del correo electrónico durante los últimos meses. Y |
| |
los recursos que me brindó JMP, en cuanto a empleados directos que estuvieran dispuestos a ayudarme con mi proyecto |
| |
fueron tremendos. Quiero decir, no podría haber pedido nada mejor. Quiero decir, nunca antes había recibido este tipo de soporte cuando intentaba crear algo para cualquier otra plataforma. Así que felicitaciones a JMP por |
| |
proporcionando esto, y son la razón principal por la que esto existe; es porque proporcionaron recursos fantásticos. |
| |
Entonces, community.jmp.com, puede hacer preguntas allí, puede obtener respuestas, puede pedir prestado el código, puede obtener la certificación allí en |
| |
Lenguaje de secuencias de comandos JMP. Puedes buscar en la Comunidad lo que quieras, puedes ... es como un Google, pero es solo para JMP. |
| |
Y puede buscar lo que quiera, por lo que puede escribir JSL y JSL lo que quiera hacer, y probablemente haya alguien que ya haya publicado sobre eso. Si no lo hay, puede agregarlo al panel de discusión. |
| |
Y luego está el código prestado, y esta es una de las cosas que Mark me pasó fue, oye, código prestado. Hay mucho código en el sitio web de la comunidad, |
| |
y la gente lo ha compartido por una razón. Entonces yo ... aquí a la derecha hay algo que tomé prestado para mi complemento que desarrollé. Quería que los usuarios supieran dónde estaban |
| |
en términos de ejecución del algoritmo y cuánto más tardaría o cuánto progreso ya había sucedido. |
| |
Entonces, no quería escribir mi propia barra de progreso en JMP, así que tomé prestada una que estaba en el tablero de la comunidad y la agregué directamente a mi complemento, así que sí. |
| |
Esta persona, Craige Hales, que es miembro del personal jubilado de JMP, escribió este código y lo tomé prestado. Así que gracias, Craige; Gracias, Mark por recomendarme tomar prestado el código. Me ahorró mucho tiempo, así que lo aprecio mucho y mejoró mucho el complemento. |
| |
Así que ahora hablemos finalmente del complemento. Así que les he hablado de por qué se necesita este complemento, ¿verdad? Otros han utilizado el paquete R y por qué creo que los usuarios de JMP se beneficiarán de él y les he hablado de cómo lo hice. |
| |
Y ahora quiero mostrarte realmente cómo funciona, que es de esperar que sea la parte más divertida de todo esto. Así que moví todo este paquete, paquete R, a JMP en unos meses en mi Fun Friday Free Time que tengo, por lo que son solo unas pocas horas el viernes. Y el complemento JMP |
| |
actualmente solo funciona para modelos de regresión lineal y logística. Espero poder expandirlo a otros modelos más adelante, pero ahora mismo funciona para modelos de regresión lineal y logística. La otra cosa es que el complemento, |
| |
no tiene muchas de las campanas y silbidos elegantes que tienen todos los demás módulos JMP incorporados, ya sabes. Por ejemplo, cuando coloca una variable categórica en la variable de respuesta, el tipo de personalidad no cambia automáticamente a la regresión logística. |
| |
No he llegado a eso. Hay muchas otras cosas a las que no he llegado y que espero mejorar con este paquete a medida que la gente lo use y les guste y me den su opinión al respecto. |
| |
Entonces carece de funcionalidad. Y lo bueno del administrador de complementos es que puede tomar su código JSL y hay un complemento ... un administrador de complementos, complemento de JMP, |
| |
que le permite crear su propio complemento a partir de su código JSL, por lo que en realidad es solo un par de clics en un botón, puede tomar su código JSL y convertirlo en un complemento que puede compartir con toda la comunidad JMP. |
| |
Y he publicado esto en el sitio web community.jmp.com para que todos puedan salir y acceder a ese complemento que estoy a punto de mostrarles. |
| |
y acceder al conjunto de datos que también voy a utilizar. Pero esto funcionará con cualquiera de sus conjuntos de datos que tenga, no solo con mi ejemplo. |
| |
Así que les voy a dar un tutorial en vivo muy rápido de este complemento, llamado ... el complemento, solo lo llamé exploración de interacciones, y |
| |
Sin embargo, todo esto se hará a través del algoritmo de solución factible del que hablé anteriormente. El ejemplo es un modelo lineal |
| |
donde voy a arreglar dos variables, entonces ese sería mi modelo base. Mi modelo base tendrá una variable de respuesta continua y dos covariantes que quiero poder ajustar. |
| |
Y luego, lo que me gustaría hacer es considerar interacciones de segundo orden para agregar a ese modelo entre cualquiera de las 10 variables que tengo en mi conjunto de datos. |
| |
Y me gustaría hacer cinco inicios aleatorios, y quiero asegurarme de que mi criterio, y este es actualmente el único criterio que está integrado en el |
| |
El complemento JMP, es que queremos minimizar el valor P de la interacción. Entonces, cada una de estas interacciones que verificamos |
| |
producir un valor P y lo que quiero hacer es que mis soluciones sean las que tengan |
| |
valores de P muy pequeños. Entonces va a buscar en el espacio, basándose en cuál es el valor P de la interacción e ir a los que tienen el mejor. Entonces, nuestros resultados van a tener muchas interacciones que tienen valores P pequeños. Y |
| |
Por lo general, lo que recomendaré después de realizar este tipo de procedimiento, el algoritmo de solución factible, |
| |
Si sigue trazando los datos, observando esas interacciones en su modelo y pensando críticamente sobre ellas en sentido contextual, porque al final del día, estamos explorando los datos aquí. |
| |
Esto no es inferencial de ninguna manera. Solo estamos usando la señal de los datos para indicar qué interacciones pueden existir en estos datos. |
| |
Y nuevamente, los datos y el complemento se publican en el sitio web de la Comunidad. |
| |
Muy bien, voy a parar, salir de esto muy rápido, y voy a levantar el |
| |
Conjunto de datos JMP que tengo. Espero que puedan ver esto. |
| |
Y como puede ver, solo una descripción general muy rápida, esto es en realidad un montón de datos aleatorios que generé. Esto no tiene ninguna estructura real. Hay ... estos no son datos reales, solo datos generados aleatoriamente en JMP. |
| |
Tiene 20 observaciones aquí. Tengo 10 variables continuas, variables explicativas. |
| |
Tengo una variable de respuesta continua y también he categorizado la variable de respuesta como mayor que cero o menor que cero. |
| |
Entonces, si desea poder ver ... ver los resultados de la regresión logística, también podría hacer un ejemplo de regresión logística con los datos. |
| |
Entonces, una vez que obtenga el complemento, vaya al sitio web, descargue el complemento, simplemente haga doble clic en él y se instalará directamente en JMP. Es muy facil. |
| |
Y luego puede ir aquí, para ir al complemento, ir ... una vez que tenga su conjunto de datos abierto, vaya al complemento para explorar las interacciones. |
| |
Y esto aparecerá aquí. Entonces tenemos un par de cosas. Así que veremos todas nuestras variables aquí a la izquierda, como lo haría con cualquier otro módulo en JMP. |
| |
Entonces, voy a elegir mi variable de respuesta, que será Y, y luego la voy a arreglar, así que aquí es donde estoy construyendo mi modelo base. Estos son todos los efectos principales lineales que estoy agregando a mi modelo. Entonces, en este, tengo dos variables, |
| |
X1 y X2, que voy a agregar aquí. Ahora, una de las cosas que debe hacer es especificar el tipo de modelado, por lo que hay dos tipos en mi |
| |
complemento que puede elegir. Uno es el tipo de modelado de mínimos cuadrados estándar y el otro es el de regresión logística. |
| |
Y esto no va a elegir automáticamente, como dije antes, en función de lo que ha introducido aquí, por lo que puede introducir totalmente una variable de respuesta categórica y no va a cambiar. Tienes que cambiarlo tú mismo. Esa es una de esas campanas y silbidos elegantes, con suerte, llegaré más tarde. |
| |
Deshazte de eso. Vuelve a poner esto aquí. |
| |
Muy bien, esta es nuestra configuración, por lo que se ajustará al modelo y es igual a beta cero más beta uno X uno más beta dos X dos. Y ahora aquí es donde voy a poner las variables que estoy dispuesto a |
| |
... o, quiero buscar interacciones entre, así que voy a seleccionar todos los X1 a X10. Voy a agregarlos. |
| |
Y luego lo digo bien, ¿cuántas veces quiero ejecutar el algoritmo? Así que aquí voy a hacer cinco veces, por cuestión de tiempo, |
| |
y el orden de las interacciones a considerar, así que solo haré dos. |
| |
Recomiendo quedarse tres o menos, por lo general se vuelve mucho más difícil interpretar interacciones que son interacciones de cuatro, cinco, pero |
| |
el algoritmo ... o la forma en que configuré esto es que podrías llegar tan alto si quisieras. En realidad, no he puesto un límite, pero sé que cuanto más alto vayas aquí, más tiempo te llevará ejecutar esto. |
| |
Así que voy a acertar. Esto tomará un segundo. |
| |
Para que pueda ver el código que pedí prestado. |
| |
Pueden ver que surgió aquí y me dice que estoy al 20% del camino hecho, al 40%. |
| |
Entonces estas son soluciones. Entonces, cada vez que la verificación avanza, se encuentra una solución factible, y luego lo que aparece al final es una tabla de datos, por lo que |
| |
ya sabes, de nuevo, esta no es una de esas características ... Me gustaría que hubiera un cuadro de selección, donde podrías seleccionar la interacción y luego presionar |
| |
crear el modelo, y haría todo eso por usted, al igual que JMP ya lo hace para muchas cosas diferentes, pero todavía no he llegado allí. Esto solo le dice cuáles fueron las soluciones. |
| |
Así que te ofrece una especie de resumen de lo que hizo. Así que hizo cinco salidas al azar. Te dice cuál fue la variable de respuesta, las variables fijas, |
| |
las variables de interacción que encontró, está bien, y la R al cuadrado, la R al cuadrado ajustada para ese modelo, la raíz del error cuadrático medio y luego el valor de P de la interacción. Bien, entonces lo que podemos ver aquí es que |
| |
(si hago clic en esto, me mostrará) solo hay dos soluciones, por lo que hay ... X2 X3 fue una interacción y X10 X7 fue otra. |
| |
Y ahora, lo que puedo hacer, no voy a hacer eso ahora, es que puedo construir este modelo y reproducir estos resultados y mirar los resultados para ver, está bien, ¿es una buena estadística? |
| |
algoritmo ... o buena interacción estadística que encontré aquí? ¿Sabes cómo son mis gráficos de apalancamiento? ¿Cuáles son todos mis criterios diferentes? |
| |
como lucen las parcelas? ¿Y cómo son mis gráficos de diagnóstico? Ese tipo de cosas. Y luego puedo comenzar a hacer preguntas, como si esta interacción tiene sentido en términos de las estimaciones de los parámetros y otras cosas. |
| |
Es exploratorio, por lo que le dará soluciones potenciales, pero debe seguir eso con la debida diligencia y realmente pensar en los resultados que ha obtenido. |
| |
y hacer preguntas a aquellos que son expertos en contexto ... contextual en este campo. Por lo general, así es como usamos esto en las ciencias de la salud. Usamos esto con datos de salud, producimos interacciones, luego acudimos a los médicos para decir si esto tiene sentido que este efecto, |
| |
ya sabes, no sería consistente en todas las edades o sexos o lo que sea. Y normalmente nos hablarán de eso, ya sabes, piénsalo. La idea es que, con suerte, esto influirá en los estudios futuros, en los que podamos impulsar los estudios para buscar estos efectos de interacción de una manera más amplia. |
| |
manera bien potenciada. |
| |
Muy bien, ahora voy a volver a mi PowerPoint. Así que ese fue este tutorial. Puede ver que es bastante fácil de usar. Ese fue un ejemplo realmente pequeño. Puedes aumentar esto |
| |
solo sé, ya sabes, cuanto más grandes conjuntos de datos tengas, más tiempo llevará todo el proceso que acabo de hacer. No va a durar 10 segundos; Va a ser, |
| |
ya sabe, potencialmente, ya sabe, de 5 a 10 minutos de duración, según el tamaño de su conjunto de datos. Lo hice ... usé el algoritmo, usé el complemento para hacer conjuntos de datos con 100 variables, |
| |
variables explicativas, y tomó aproximadamente esa cantidad de tiempo, aproximadamente siete minutos, ejecutarlo para que hiciera aproximadamente cinco o 10 inicios aleatorios. |
| |
Las cosas son más rápidas en el paquete R que en el complemento JMP, pero eso se debe a que, nuevamente, esta es mi primera puñalada en esto y, con suerte, a través de iteraciones que serán aún más rápidas y mejores. |
| |
Así que hablemos de mejoras futuras. Por eso quiero permitir que los usuarios puedan optimizar o |
| |
encontrar soluciones viables basadas en cualquier criterio que deseen. Entonces, si quieren encontrar soluciones factibles basadas en optimizar R cuadrado u optimizar AIC u optimizar la tasa de clasificación errónea, |
| |
ya sabes, en los modelos de regresión logística, quiero permitirles que puedan hacer eso. Y realmente no es algo tan difícil de hacer, solo necesito entrar y hacerlo. |
| |
Guarde o seleccione automáticamente personalidades de modelado en función de selecciones de variables. Eso es simple. Pones en un |
| |
variable logística binaria, ya sabes, seleccionará automáticamente la regresión logística por ti. No creo que sea muy difícil, probablemente podría hacerlo bastante rápido. Me siento seguro de haberlo hecho después de haber pasado por este proceso de trasladar mi paquete R. |
| |
Quiero mejorar un poco la velocidad. Hay muchas cosas que podría hacer para mejorar la velocidad de esto. |
| |
Entonces, me gustaría poder hacer eso. Un botón de recuperación estaría bien. No tengo eso ahora. Esa es una de mis funciones favoritas en JMP: poder hacer clic en ese botón de recuperación. |
| |
Y luego me gustaría poder simplificar el paso de los resultados que obtuvo de FSA a la construcción de un modelo. Entonces |
| |
ya puede hacer eso, como cuando hace la selección hacia adelante en JMP o Lasso o cualquiera de esas cosas, puede hacer clic en hacer modelo y trae todas las variables muy fácilmente. |
| |
Me gustaría poder hacer eso con este algoritmo de solución factible, solo obtenga ese tipo de resultados y simplemente haga clic en el modelo de marca y automáticamente lo hace todo por usted |
| |
para que pueda explorarlos y, nuevamente, con suerte, le dará sentido a las interacciones que encontró. |
| |
Entonces, algunos reconocimientos por los que me gustaría pasar. Así que primero está Mark Bailey. No podría haberlo hecho sin ti. Muchas gracias por su apoyo con el código JSL. Gracias a Ruth |
| |
por ponerme en contacto con Mark, además de ser un general, ya sabes, |
| |
persona de apoyo para este proyecto y simplemente brindando buenos comentarios. Anne y Larry, solo aprecio |
| |
su ayuda con todo lo que tenía que ver con JMP y con nuestras relaciones pasadas y por animarme a participar en este Discovery Summit. Ha sido realmente genial y estoy emocionado de conocer a más personas en la comunidad de JMP. |
| |
a través de él, así que gracias por eso. Puede ponerse en contacto conmigo de varias formas. Puedes enviarme un correo electrónico al correo electrónico de mi universidad, puedes contactarme en Twitter si así te gusta hacer las cosas. |
| |
Y también planeo publicar este complemento de JMP en github, así como en el sitio web de la comunidad, así que no dudes en consultar cualquiera de esos lugares para obtener actualizaciones futuras del complemento. |
| |
Así que sí, gracias por invitarme y estoy emocionado de responder sus preguntas durante nuestro tiempo asignado, gracias. |