Vocero
|
Transcripción
|
| Joshua Lambert |
Hola. |
| ROBYN GODFREY |
Hola, soy Robin, yo Josh. |
| |
Sí. |
| ROBYN GODFREY |
El neo. |
| Joshua Lambert |
Sí, encantado de conocerte también. Lo siento, recién estoy abriendo el PowerPoint aquí. |
| ROBYN GODFREY |
Bueno. |
| |
¿Tiene algún copresentador? |
| Joshua Lambert |
No. |
| ROBYN GODFREY |
Muy bien, vamos a bajar la lista aquí, así que estamos grabando esto para que me den una afirmación verbal de que saben que están siendo grabados. |
| |
Sí. |
| ROBYN GODFREY |
En los teléfonos móviles se silencian las notificaciones de Internet. |
| Joshua Lambert |
Sí. |
| 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 disparara en el medio. |
| Joshua Lambert |
Y no creo que tengo todo apagado, nunca antes tuvieron que hacer eso. |
| ROBYN GODFREY |
Creo que está en la barra de tareas um. |
| |
veamos aquí. |
| |
Simplemente cierra tu correo electrónico y todo estará bien. |
| |
Bueno. |
| Joshua Lambert |
Conseguí los tacos. |
| ROBYN GODFREY |
Vale, genial, me esconderé aquí. |
| |
Para hacer esto, cada vez que hago esto, tengo que, me tiene que gustar Bueno, ¿qué hice? |
| Joshua Lambert |
Por lo que entonces. |
| |
En lo que respecta a la presentación, supongo que ustedes cortarán cuando empiece. |
| |
sí y qué tienes alguna pregunta que vas a hacer o. |
| ROBYN GODFREY |
No, no, entonces harás tu presentación como lo harías normalmente. |
| |
Bien y sabes que abres tus diapositivas y todo. |
| |
Si quiere hablar primero y luego abrir las diapositivas, está bien, si necesita empezar de nuevo o algo así, hágamelo saber y podremos 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 cara completa, puedo ver. |
| Joshua Lambert |
saber que lo olvidé. |
| ROBYN GODFREY |
si, solo un poquito. |
| |
O tal vez baje un poco la cámara. |
| |
eso es bueno. |
| |
Eso es bueno, sí, podemos ver más de tus hombros y todo eso, está bien. |
| |
Así que me quedaré en silencio y solo dame un par de segundos y luego podrás. |
| |
Comienza cuando estés listo, ¿vale? |
| |
Excelente. |
| Joshua Lambert |
Hola a 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 algunos trabajos que he estado haciendo en torno a la exploración de interacciones en modelos de regresión usando un complemento que creé y que usa un algoritmo que desarrollé llamado algoritmo de solución factible. |
| |
Entonces |
| |
algunos contenidos de los que vamos a hablar hoy. Así que voy a empezar con un pequeño ejemplo, que motivará nuestra discusión, así como en lo que he estado trabajando, una visión general del problema. |
| |
Una posible solución. |
| |
Y luego analice cómo implementé la solución en un paquete R y luego la moví a un complemento JMP y el proceso que seguí para hacerlo. Y luego hablaré sobre algunos proyectos futuros y algunas cosas que aprendí en el camino. |
| |
Así que motivemos nuestra discusión de hoy con un pequeño ejemplo. Voy a llamarlo Tom el científico de datos. Entonces conoce a Tom. Es un científico de datos y Tom realiza muchas actividades típicas de ciencia de datos, específicamente Tom crea modelos de regresión multivariable en JMP. |
| |
Principalmente trabaja con 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 dedicarse directamente al aprendizaje automático. |
| |
Por eso desearía tener una forma de explorar los efectos de la interacción en sus modelos de regresión. |
| |
tiene interacciones que le gustaría probar, pero tendría que crearlas manualmente en la plataforma del modelo de ajuste en JMP. |
| |
Y ya sabes, tener que ejecutar todo esto llevará mucho tiempo. Entonces, por ejemplo, si Tom tiene 200 variables en su conjunto de datos y necesita buscar todas las interacciones bidireccionales, son 19,900 interacciones bidireccionales para verificar. Son demasiados. |
| |
Entonces Tom se pregunta: ¿existe una forma algorítmica y basada en datos de explorar los efectos de la interacción en modelos de regresión sin necesidad de elaborarlos todos a mano y comprobar todas estas combinaciones posibles? |
| |
Entonces, repasemos este problema de una manera un poco más matemática y estadísticamente rigurosa. 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. Cada vez tenemos más datos disponibles y la complejidad de estos datos también está creciendo. |
| |
El problema con las interacciones es que hay demasiadas para comprobarlas. |
| |
Por lo general, un científico de datos, un estadístico o un científico tendrá que ingresar al análisis con un conjunto conocido de interacciones para verificar. |
| |
y luego proceder a revisarlos. Esto es un problema por varias maneras... varias razones, |
| |
que son 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 recurrir a modelos, como bosques aleatorios o incluso análisis de componentes principales para realizar algún tipo de reducción de datos, generando algo más de complejidad allí. Realmente le gustaría poder hacer cosas a medida que construye 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 explorando interacciones. |
| |
Por lo general, nuestro flujo de trabajo está en regresión. |
| |
por lo que el estadístico dedica mucho tiempo a construir un modelo base parsimonioso, lo que llamaré, con las variables necesarias y sin efectos de interacción agregados. |
| |
En este modelo base, el estadístico dedicará mucho... mucho tiempo a este modelo base, muchos recursos, atención, dedicará tiempo a pensar si son interpretables o no y si tendrán 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 es así. verdadero. |
| |
Esta falta de complejidad |
| |
realmente impide 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. Así pues, el problema realmente se puede resumir de la siguiente manera. |
| |
¿Hay alguna manera de que no podamos llegar hasta los modelos tradicionales de regresión multivariable y no llegar hasta los modelos de aprendizaje automático? |
| |
pero encontramos un buen punto óptimo en el medio, donde podemos aprovechar la buena interpretabilidad de nuestros modelos de regresión que agregan una o dos interacciones. |
| |
que encontramos en estos big data, para que podamos agregar matices interesantes a nuestros modelos y complejidad, que, nuevamente, agregan rendimiento predictivo así como un buen sentido contextual. |
| |
Entonces, si hay una manera 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, basándose en los 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 lo factible a lo óptimo. Hablaré un poco más de lo que eso significa más adelante, pero en esencia, lo que realmente significa es que |
| |
Nos gustaría que hubiera una gran cantidad de soluciones en lugar de una sola que sea buena y 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 surgirán no necesariamente serán inferenciales, pero serán exploratorios y motivarán e influirán en lo que dedicaremos nuestro tiempo en el futuro. |
| |
Así que ahora hablemos 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 artículo... realmente se discutió por primera vez en detalle en este artículo 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 (por lo 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, entonces, 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 aleatoriamente. |
| |
Tenemos cinco variables, así 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 al cuadrado para ese lugar inicial aleatorio. , es .5. |
| |
Y digamos que la forma en que funciona el algoritmo es que consideraría 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é swaps, tienen al menos una de las variables de lugar de inicio, ¿de acuerdo? |
| |
Y luego, lo que haremos es ajustar todos estos modelos y descubriremos cuál es el criterio 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, así que descubriríamos entre todas las opciones posibles, cuál es el mejor lugar para ir. . |
| |
En este ejemplo, el mejor lugar al que acudir es el intercambio número tres, que es X3 X4. Entonces, lo que haríamos es pasar al paso tres y realizaríamos el mejor intercambio desde el paso número dos. |
| |
En ese caso, nos trasladaríamos al lugar X3, X4 y luego regresarí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 ninguna mejora. |
| |
Y vamos a llamar a eso... ese lugar en el que terminemos siendo una solución factible. |
| |
Y vamos a repetir los pasos del uno al cuatro para encontrar otras soluciones factibles. 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. |
| |
Entonces, 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 no se garantiza que las soluciones factibles, como acabo de decir antes, sean ó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, le 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 repites el proceso, este... estos cuatro pasos, obtendrás potencialmente muchas soluciones factibles, por lo que si repites este algoritmo 10 veces, es posible que obtengas cuatro soluciones factibles. |
| |
Es posible que obtenga 10 soluciones factibles. Depende de los datos que estés usando, así como de la varianza en la covarianza de ese conjunto de datos, por lo que es un poco |
| |
No se sabe cuántas soluciones obtendrá. |
| |
Y es por eso que generalmente animamos a los usuarios a repetir el algoritmo de solución factible muchas veces, porque eso aumentará sus posibilidades de obtener los óptimos, así como los factibles, y se asegurará de haber |
| |
Busqué adecuadamente el espacio. Y tenemos otro artículo publicado que describe (si alguien está interesado, puede comunicarse conmigo) cuántas clasificaciones aleatorias debo hacer para asegurarme de tener una probabilidad razonable de obtener la óptima. 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, y 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 muchas veces 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 todo eso. |
| |
Entonces, hablemos del paquete R y luego de cómo lo moví al complemento JMP. |
| |
Entonces |
| |
el paquete R se llama rFSA, y sé que es posible que haya algunas personas que hayan usado R bastante y otras que no. Y |
| |
Entonces, R es un lenguaje de programación realmente bueno 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 tesis. |
| |
Ya sabes, escribir este algoritmo y realmente proporcionar 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 funcionar 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 cómo iba a hacer esto. |
| |
Entonces la primera pregunta es, ¿por qué hacer esto? Lo primero es que es divertido de hacer. Me gusta escribir en diferentes lenguajes de programación. No había tenido mucha experiencia escribiendo en el lenguaje de programación JMP, que es la versión de JMP de |
| |
lenguaje de programación estadística, así 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 herramienta realmente genial para mí y mis datos. |
| |
canalización de análisis. Por lo general, comienzo todos mis proyectos en JMP y exploro los datos, los trazo, miro las cosas y eso me da mucha buena intuición sobre esos datos. Y descubrí que gran parte de mi |
| |
colegas, específicamente uno de mis asesores, él trabaja principalmente en JMP y siempre me preguntaba por 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 lo harían. |
| |
sacarle algo de provecho. Y eso me lleva a mi otro punto sobre por qué hacer esto, y he recibido muy buenos comentarios sobre 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 lanzamos 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 su forma de interpretar. datos y cómo los entienden. |
| |
Y entonces te preguntarás, 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 posición actual, si bien creo que les resultaría interesante, probablemente no estén exactamente entusiasmados con que dedique mucho tiempo extra a esto. |
| |
Pero, afortunadamente, algo que sí tengo 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 para simplemente 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 crear un complemento JMP. |
| |
Quizás te preguntes, bueno, ¿cómo iba a hacer esto? Sabes, no conocía el lenguaje de programación JMP. ¿Cómo iba a hacer esto? Entonces |
| |
Lo primero es que iba a aprenderlo. Así que existen muchos recursos realmente excelentes sobre cómo aprender JSL. |
| |
Entonces, existe soporte para el código JMP JSL que se encuentra dentro del propio software JMP. Sólo 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 entender el lenguaje de programación JMP y por dónde empezar. Y luego está community.jmp.com, |
| |
lo cual es realmente genial para comenzar, donde puedes hacer preguntas o ver otras preguntas que la gente ha hecho y tomar 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 realmente fue genial. |
| |
Así que voy a analizar cada uno de estos un poco más en profundidad, así si estás interesado en mover un paquete R o escribir tu propio algoritmo o escribir tu propio código JSL, |
| |
Tendrás una idea de por dónde empezar. Y luego, cuando termine con esto, entraré en mi complemento y específicamente qué hace y cómo usarlo. |
| |
Entonces, ¿cómo se aprende JSL? Bueno, puedes volver a hacerlo... |
| |
Puede aprenderlo a través de varios 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 tal vez pueda obtener estas diapositivas una vez que esto termine y pueda obtener estos enlaces. Hay un índice de secuencias de comandos dentro de JMP, al que puede acceder para obtener ayuda y luego índices de secuencias de comandos. Lo pongo aquí para ustedes, realmente fácil de usar y comenzar. |
| |
Puedes contactar con JMP. Entonces lo primero que hice fue tener un contacto en JMP. Su nombre es Ruth Hummel y dije, oye, quiero hacer esto, ¿por dónde empiezo? |
| |
Ella me apoyó y 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 estuvo tremendo durante todo este proceso. Mark me ayudó con soporte general sobre el lenguaje de programación, revisando mi código, ayudándome a escribir partes del mismo, |
| |
comenzar con una parte. Y tomamos... ida y vuelta unas 22 veces diferentes por correo electrónico durante los últimos meses. Y |
| |
los recursos que me brindó JMP, en cuanto a empleados directos que estuvieron 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. Felicitaciones a JMP por |
| |
proporcionando esto, y ellos 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 scripting JMP. Puedes buscar en la comunidad lo que quieras, puedes... es como Google, pero es solo para JMP. |
| |
Y puedes buscar lo que quieras, así que puedes escribir JSL y JSL lo que quieras hacer, y probablemente haya alguien por ahí que ya haya publicado sobre eso. Si no lo hay, puede agregarlo al foro 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. Así que... aquí a la derecha hay algo que tomé prestado para el complemento que desarrollé. Quería que los usuarios supieran dónde estaban. |
| |
en términos de ejecutar el algoritmo y cuánto más iba a tomar o cuánto progreso ya se había logrado. |
| |
Entonces no quería escribir mi propia barra de progreso en JMP, así que simplemente 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 recomendar tomar prestado el código. Me ahorró mucho tiempo, así que realmente lo aprecio y mejoró mucho el complemento. |
| |
Así que ahora hablemos finalmente del complemento. Entonces les hablé sobre por qué es necesario este complemento, ¿verdad? Otros han aprovechado el paquete R y creo que los usuarios de JMP se beneficiarán de él y les hablé sobre cómo lo hice. |
| |
Y ahora quiero mostrarles cómo funciona, que espero que sea la parte más divertida de todo esto. Así que moví todo este paquete, el paquete R, a JMP en unos meses en mi tiempo libre de Fun Friday que tengo, así 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 en este momento funciona para modelos de regresión lineal y logística. La otra cosa es que el complemento, |
| |
No tiene muchas de las características sofisticadas que tienen todos los demás módulos JMP integrados, ¿sabes? Por ejemplo, cuando colocas una variable categórica en la variable de respuesta, el tipo de personalidad no cambia automáticamente a regresión logística. |
| |
No he llegado a eso. Hay muchas otras cosas que no he abordado y que espero mejorar con este paquete a medida que la gente lo use, le guste y me dé su opinión. |
| |
Por lo que carece de algunas funciones. Y lo bueno del administrador de complementos es que puedes simplemente tomar tu código JSL y hay un complemento... un administrador de complementos, un complemento 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 publiqué esto en el sitio web community.jmp.com para que todos puedan salir y acceder al complemento que estoy listo para mostrarles. |
| |
y para acceder al conjunto de datos que voy a utilizar también. Pero esto funcionará con cualquiera de los conjuntos de datos que tenga, no solo con mi ejemplo. |
| |
Así que les daré un tutorial en vivo muy rápido de este complemento, llamado... el complemento, simplemente lo llamé exploración de interacciones, y |
| |
Todo esto se hará a través del algoritmo de solución factible del que hablé antes. 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, que actualmente es el único criterio integrado en 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 tienen |
| |
valores de P muy pequeños. Entonces buscará el espacio, basándose en cuál es el valor P de la interacción e irá a los que tengan el mejor. Entonces, nuestros resultados tendrán muchas interacciones que tendrán valores de P pequeños. Y |
| |
Generalmente lo que recomendaré después de realizar este tipo de procedimiento, el algoritmo de solución factible, |
| |
¿Continúa 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. Simplemente 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, entonces me detendré, saldré de esto muy rápido y levantaré el |
| |
Conjunto de datos JMP que tengo. Ojalá puedan ver esto. |
| |
Y como pueden ver, solo una descripción general muy rápida, en realidad se trata de un montón de datos aleatorios que generé. No hay ninguna estructura real para esto en absoluto. 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... observar 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 realmente fácil. |
| |
Y luego puede ir aquí, 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. Entonces veremos todas nuestras variables aquí a la izquierda, tal 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 arreglaré, así que aquí es donde estoy construyendo mi modelo base. Estos son todos los efectos principales lineales que estoy agregando a mi modelo. En este, tengo dos variables, |
| |
X1 y X2, que voy a agregar aquí. Ahora una de las cosas que debes hacer es especificar el tipo de modelado, por lo que hay dos tipos en mi |
| |
complemento entre el 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 se elegirá automáticamente, como dije antes, en función de lo que haya ingresado aquí, por lo que puede ingresar una variable de respuesta categórica y no cambiará. Tienes que cambiarlo tú mismo. Esa es una de esas campanas y silbatos elegantes, con suerte, hablaré de ello más tarde. |
| |
Deshazte de eso. Vuelve a poner esto aquí. |
| |
Muy bien, esta es nuestra configuración, y 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í abajo es donde voy a poner las variables que estoy dispuesto a |
| |
...o quiero buscar interacciones entre ellos, así que seleccionaré todos los X1 a X10. Voy a agregarlos. |
| |
Y luego le digo: ¿cuántas veces quiero ejecutar el algoritmo? Así que aquí lo haré cinco veces, por cuestión de tiempo, |
| |
y el orden de las interacciones a considerar, así que solo haré dos. |
| |
Recomiendo quedarse con tres o menos, por lo general se vuelve mucho más difícil interpretar interacciones que son de cuatro vías, de cinco vías, pero |
| |
el algoritmo... o la forma en que lo he configurado es que podrías llegar tan alto si quisieras. En realidad, no he puesto un límite, pero debes saber que cuanto más alto llegues aquí, más tiempo te llevará ejecutar esto. |
| |
Entonces voy a presionar Aceptar. Esto va a tomar un segundo. |
| |
Para que puedas ver el código que tomé prestado. |
| |
Puedes ver que apareció aquí y me dice que ya he terminado el 20%, el 40%. |
| |
Entonces estas son soluciones. Entonces, cada vez que se realiza esa verificación, se encuentra una solución factible y luego lo que aparece al final es una tabla de datos, así que |
| |
sabes, nuevamente, esta no es una de esas características... Me gustaría que hubiera un cuadro de selección, donde pudieras seleccionar la interacción y luego presionar |
| |
crear modelo, y haría todo eso por usted, tal como lo hace JMP para muchas cosas diferentes, pero aún no he llegado allí. Esto sólo te dice cuáles fueron las soluciones. |
| |
Entonces te da una especie de resumen de lo que hizo. Así que hizo cinco salidas aleatorias. Te dice cuál fue la variable de respuesta, las variables fijas, |
| |
las variables de interacción que encontró, está bien, y el R cuadrado, el R cuadrado ajustado para ese modelo, la raíz del error cuadrático medio y luego el valor P de interacción. Bien, entonces lo que podemos ver aquí es que |
| |
(si hago clic en esto, me lo 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 construir este modelo y reproducir estos resultados y analizarlos para ver, bueno, ¿es esta una buena estadística? |
| |
algoritmo... o buena interacción estadística que encontré aquí? Ya sabes, ¿cómo son mis gráficos de apalancamiento? ¿Cuáles son todos mis criterios diferentes? |
| |
¿Cómo se ven las tramas? ¿Y cómo son mis gráficos de diagnóstico? Ese tipo de cosas. Y luego puedo empezar a hacer preguntas, como si esta interacción tiene sentido en términos de estimaciones de parámetros y otras cosas. |
| |
Es exploratorio, por lo que le brindará soluciones potenciales, pero debe seguir con la diligencia debida y pensar realmente en los resultados que ha obtenido. |
| |
y hacer preguntas a aquellos que son contexto...expertos contextuales en este campo. Así es como normalmente usamos esto en las ciencias de la salud. Usamos esto con datos de salud, producimos interacciones, luego vamos a los médicos para decirles si tiene sentido que este efecto, |
| |
ya sabes, no sería consistente según la edad, el sexo o lo que sea. Y normalmente nos hablan de eso, ya sabes, piénsalo. La idea general es que, con suerte, esto influirá en estudios futuros, donde podamos impulsar los estudios para buscar estos efectos de interacción de una manera más amplia. |
| |
manera bien potenciada. |
| |
Muy bien, ahora volveré a mi PowerPoint. Así que ese fue este tutorial. Puedes ver que es bastante fácil de usar. Ese fue un ejemplo realmente pequeño. Puedes aumentar esto, |
| |
Solo sé, cuantos más conjuntos de datos tengas, más tiempo llevará todo el proceso que acabo de hacer. No durará 10 segundos; Va a ser, |
| |
ya sabes, potencialmente, ya sabes, de 5 a 10 minutos de duración, dependiendo del tamaño de tu 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 realizar 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, este es mi primer intento 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 quieran. 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, sólo necesito entrar y hacerlo. |
| |
Guarde o seleccione automáticamente personalidades de modelado en función de selecciones variables. Eso es simplemente simple. Pones 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 hacerlo 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 el botón de recuperación. |
| |
Y luego me gustaría poder simplificar la transición de los resultados que obtuve de la FSA a la construcción de un modelo. Entonces |
| |
Ya puedes hacerlo, como cuando haces una selección directa en JMP o Lasso o cualquiera de esas cosas, puedes simplemente hacer clic en Crear modelo y todas las variables se mostrarán muy fácilmente. |
| |
Me gustaría poder hacer eso con este algoritmo de solución factible, simplemente obtenga ese tipo de resultados y simplemente haga clic en crear modelo y automáticamente hará todo por usted. |
| |
para que pueda explorarlas y, nuevamente, con suerte, entender bien las interacciones que encontró. |
| |
Algunos agradecimientos que me gustaría repasar. El primero es Mark Bailey. No podría haberlo hecho sin ti. Muchas gracias por su apoyo con el código JSL. gracias a rut |
| |
por ponerme en contacto con Mark, además de ser un general, ya sabes, |
| |
persona de apoyo para este proyecto y simplemente brinda buenos comentarios. Anne y Larry, simplemente aprecio |
| |
su ayuda con todo lo que tuvo que ver con JMP y con nuestras relaciones pasadas y por animarme a realizar este Discovery Summit. Ha sido realmente genial y estoy emocionado de conocer más personas en la comunidad JMP. |
| |
a través de él, así que gracias por eso. Puedes ponerte en contacto conmigo de varias maneras. Puedes enviarme un correo electrónico al correo electrónico de mi universidad, puedes contactarme en Twitter si esa es la forma en que te gusta hacer las cosas. |
| |
Y también estoy planeando publicar este complemento JMP en github, así como en el sitio web de la comunidad, así que no dude en consultar cualquiera de esos lugares para futuras actualizaciones del complemento. |
| |
Así que sí, gracias por invitarme y estoy emocionado de responder sus preguntas durante el tiempo asignado, gracias. |