Vocero
|
Transcripción
|
| jeff perkinson |
Cuando se trata de desarrollar características de JMP, John Sall, nuestro próximo orador, tiene una forma interesante de pensar sobre cómo priorizar. Tenemos que priorizar qué características... |
| |
en qué características queremos invertir. Entonces, ¿cómo pensamos en lo que es más importante? ¿Debemos trabajar en las características que hacen que nuestro producto sea más poderoso? |
| |
¿Qué hay de las características que lo hacen más atractivo o más sexy o las características que se centran en el alivio del dolor, aliviando la carga del análisis? |
| |
Bueno, John cree que el alivio del dolor debería ser el principal motivador de nuestro equipo de I+D. John es el cofundador de SAS. Es el arquitecto principal de JMP, que fundó hace más de 30 años. |
| |
Para los científicos e ingenieros que tienen datos y necesitan una forma de explorarlos necesitan... necesitan una forma de explorarlos fácilmente de forma visual en el escritorio. |
| |
Hablará sobre las fuerzas impulsoras detrás del desarrollo de JMP y las formas en que encontramos características en las que queremos trabajar. Con eso, me gustaría darte la bienvenida, John. Gracias. |
| Juan Sall |
Gracias, Jeff. Y aquí estamos en vivo desde el nuevo centro de conferencias digital en Cary, Carolina del Norte, donde caben muchas más personas. |
| |
Así que bajemos un poco las luces. |
| |
Bueno, en realidad no estoy aquí en el centro de conferencias digital. Estoy realmente en casa. Así que tengo una oficina en casa. ¡Vaya! Ése no. |
| |
Como todos nosotros. Estoy en casa, dando esta conferencia. Pero cambiemos a un fondo corporativo y comencemos. |
| |
Entonces, ¿de qué debería hablar? |
| |
Bueno, cuando tenemos lanzamientos de JMP, en esos años que la alianza de la conferencia junto con los lanzamientos de JMP, eso es de lo que hablamos, pero en los años alternos siempre elijo un tema. Así que elegí grandes estadísticas un año, o datos fantasma el próximo año o características secretas |
| |
hace dos años. Hoy mi tema son las grandes palabras que comienzan con la letra A. |
| |
Bueno, estas son palabras caracterizadas por temas para desarrollar JMP. Así que permítanme compartir mi pantalla. |
| |
Y |
| |
minimizar |
| |
aquí. Compartir. |
| |
Entonces, ¿qué tema es más importante? Y aquí están las tres palabras que comienzan con... las grandes palabras que comienzan con la letra A. |
| |
Como acaba de mencionar Jeff, primero es anabólico. Bueno, anabólico tiene que ver con el crecimiento muscular, haciendo que JMP sea más poderoso. |
| |
Los procesos anabólicos construyen órganos y tejidos y estos procesos producen crecimiento y diferenciación de células para aumentar el tamaño corporal. |
| |
Por lo tanto, aumentar el poder de JMP sería la oportunidad y eso, por supuesto, es muy importante, pero el próximo |
| |
afrodisíaco, haciendo que JMP sea más sexy, más emocionante, la emoción del descubrimiento. Así que queremos que eso también sea un atributo. |
| |
Pero también nos preocupamos por su progreso durante el flujo de trabajo, por lo que analgésico es la tercera palabra y eso significa alivio del dolor. |
| |
alivio del dolor. |
| |
Así que quiero que la gente exprese cosas como las siguientes citas imaginarias, \!"La versión 15 me acaba de servir... me ahorró horas o incluso días de trabajo que solía tener que trabajar.\!" Eso es mucho alivio del dolor. |
| |
O \!"Solía tener que hacer cada uno individualmente y ahora es todo de una sola vez.\!" Mucho alivio del dolor allí. O \!"Solía tener que usar otras herramientas para hacer todo, pero ahora puedo hacerlo todo en JMP.\!" |
| |
O \!"Le mostré a mis colegas cómo lo hice tan fácilmente. Y quedaron asombrados.\!" O \!"Solía tener que programar todo esto manualmente, y ahora son solo unos pocos clics del mouse y listo.\!" |
| |
O \!"JMP me mantiene en el flujo, manteniendo mi atención en el análisis de los datos en lugar de desviarla demasiado hacia los detalles operativos.\!" Estas son las expresiones de alivio del dolor que queremos escuchar. |
| |
Ahora bien, ¿por qué el dolor y la frustración son verdaderos desmotivadores? El flujo es importante. Estás sin distracciones cuando fluyes. Cuando está en flujo, es más probable que aprenda algo de los datos y haga descubrimientos. |
| |
Ahora, empoderar también es importante, pero las funciones nuevas tienden a ser utilizadas solo por unos pocos y las funciones antiguas por muchos. Así que queremos hacer que las funciones antiguas funcionen mejor. |
| |
para reducir el dolor al usarlos. Y, por supuesto, la productividad depende en gran medida de la eficacia de nuestras herramientas con respecto al uso del tiempo. Entonces, si podemos hacer que sea más fácil y rápido llegar a los resultados, eso es una gran victoria. Entonces, veamos muchos ejemplos. |
| |
Primero, los scripts que vienen con las tablas de datos. Así que aquí ve uno al lado del otro, un ejemplo de una versión anterior de JMP. Creo que es JMP 14 o 13, donde |
| |
donde solía tener que mantener presionada la tecla del mouse en este botón y luego aparecía un elemento de menú y luego encontraba un botón de ejecución para ejecutar ese script. |
| |
Pero la nueva forma solo tiene un botón de reproducción justo al lado del guión. Entonces, simplemente haga clic en ese botón de reproducción y se ahorrará abrir un menú. |
| |
Bueno, eso no es una gran victoria, crees que la diferencia entre hacer clic en un botón y abrir un menú no es mucha. Pero también es una gran victoria para los nuevos usuarios, porque los nuevos usuarios ya no tienen que entender |
| |
que un botón caliente tendrá una carrera debajo. Pero ahí está el botón de reproducción con el guión. Y entonces hay una mayor comprensión de que estos son guiones. |
| |
Y la capacidad de almacenar scripts con sus datos es un gran problema en JMP y queremos que las personas lo aprendan de inmediato. |
| |
y no tener que pescar alrededor de dos o mirar un consejo para saber que así es como funciona. Y es una gran comodidad poder almacenar todos sus scripts |
| |
dentro de la propia tabla de datos y no encontrar otros lugares para almacenarlos. Entonces, para los nuevos usuarios, el botón de reproducción. Entonces, ese es un alivio del dolor solo en ese simple cambio. |
| |
Y este es un cambio que lamentamos no haber hecho mucho antes en JMP. |
| |
Hablemos de la preparación de datos. Y una de las grandes cosas que tiene que hacer cuando prepara datos es unir datos de múltiples fuentes. |
| |
Ahora JMP, incluso desde la versión uno, tenía que unirse a la utilidad. Pero esto aún implica un diálogo complejo y trabajar con múltiples tablas de datos. |
| |
Este es el ejemplo clásico en el que estoy alquilando películas y tenemos nuestra tabla de transacciones de alquiler de películas. |
| |
que tiene el cliente, el número de artículo, la fecha del pedido, el año del pedido y luego tenemos nuestro inventario de películas para alquilar, detalles sobre cada película. Y luego tenemos los clientes... información sobre los clientes y así sucesivamente. Y queremos hacer preguntas, involucrar a las tres mesas como |
| |
qué géneros prevalecen en qué géneros de películas. Bueno, eso implica |
| |
pasando por las tres tablas y, por supuesto, el comando de unión es la forma de hacerlo. Tomo los datos de las transacciones y |
| |
fusionarlo con los clientes. Y, por supuesto, la identificación del cliente es la coincidencia |
| |
columna y quiero incluir las no coincidencias del lado de la transacción. Entonces, si no tengo datos de clientes, aún no pierdo mis datos de transacciones. Y eso se llama unión externa izquierda, y eso hace la nueva tabla de datos. Y ahora a esa tabla de datos, quiero unirme a eso |
| |
a los datos del inventario. Así que lo uno por el número de artículo que coincido en ese momento y también quiero una combinación externa izquierda y ahora tengo |
| |
otra mesa Y ahora, en lugar de tener tres mesas, tengo cinco mesas, los resultados de esa combinación, pero ahora puedo ver cómo responder la pregunta de género por género, que |
| |
el género tiende a alquilar más de qué tipo de película. |
| |
E implicó hacer todas estas nuevas tablas de datos intermedios también. |
| |
Resulta que hay una manera mucho más fácil de hacerlo y el dolor de solo estos pasos adicionales y las mesas adicionales se pueden reducir enormemente. Así que permítanme deshacer esta tabla en esta tabla. |
| |
Y quiero señalar bajo el comando de tablas, hay un comando llamado generador de consultas JMP y esto abre la función de continuación. |
| |
para unir tablas, eso es mucho más fácil que todos esos diálogos de unión, pero también crea una nueva tabla de datos. |
| |
Pero hace un par de lanzamientos, presentamos algo aún mejor que reduce aún más el dolor y es la unión virtual. Entonces, si miro esta tabla de transacciones, |
| |
Me di cuenta de que ya está unido. |
| |
Entonces, lo que sucedió es que cuando preparé la tabla de inventario de películas, se identificó de manera única por el número de artículo. Entonces le doy el número de artículo |
| |
un ID de enlace que dice que está identificado de forma única por eso y esa es la forma en que puedo indexar esa tabla. Y de manera similar, tengo una identificación de artículo para identificar los datos del cliente. Y cuando preparo los datos de mi transacción, tengo estos dos, en cierto sentido claves foráneas, |
| |
una referencia de enlace y hace referencia a una tabla de datos diferente por el, el... el ID de identificación a través de ellos. Entonces, automáticamente lo vincula y ya tengo todo lo que necesito para responder esa pregunta. Entonces puedo hacer |
| |
para cada |
| |
género, puedo |
| |
encontrar el género de la película que quiero hacer. Y así puedo ver aquí que las películas de acción gustan más a los hombres y las películas familiares a las mujeres y |
| |
rom com más por las hembras y así sucesivamente. Así que respondí mi pregunta que involucra tres tablas sin la necesidad de pasar por todas las uniones, porque se une virtualmente al hacer coincidir esas columnas de ID en las tablas. |
| |
así que he hecho |
| |
un montón de alivio del dolor de eso. Así que cerremos eso, de hecho. |
| |
Por lo tanto, creo que la unión de la tabla de datos ha supuesto un gran alivio para los lanzamientos. |
| |
recodificación, |
| |
esa es una de las otras cosas principales que hacemos cuando estamos preparando conjuntos de datos. |
| |
Comenzamos con una recodificación muy simple hace muchos lanzamientos donde solo teníamos un campo para el valor anterior y el valor nuevo y el valor nuevo se inició con el mismo valor anterior y luego puedo cortar y pegar o editar esos valores en orden de recodificar |
| |
en una nueva columna o en la columna existente. |
| |
Y recode cada lanzamiento ha pasado por mejoras dramáticas y estamos muy entusiasmados con el estado actual de eso. Así que echemos un vistazo a este conjunto de datos de hospitales, hospitales de distrito. Y ahora recodificar está justo en el |
| |
botón derecho o menú de clic derecho en el encabezado de la columna. Y puedo pasar y simplemente |
| |
seleccione un montón de cosas y agrúpelas con un nuevo valor, como clínica. |
| |
Pero creo que también hay muchos atajos. Y uno de mis atajos favoritos es |
| |
para agrupar valores similares. Entonces, puedo dar un umbral de la cantidad de diferencias de caracteres, etc., y automáticamente agrupará todas esas cosas. Así que agrupará todos los hospitales de distrito con ortografía ligeramente diferente en uno. |
| |
Y todavía puedo... |
| |
parece que se perdió uno. Pero está bien, ahora puedo agrupar ese con los otros y |
| |
todos los, todos los hospitales rurales se han agrupado automáticamente por los que coinciden y parece que puedo coincidir con uno adicional aquí. |
| |
Y ahora, de repente, tengo algo. He ahorrado mucho esfuerzo al hacer toda esa recodificación. |
| |
Y por supuesto, en JMP 15 agregamos nuevas funciones, que no mostraré aquí, pero quiero señalar. Si tiene otro conjunto de datos con todos los |
| |
... demostró que ... los mejores nombres de categoría para esas categorías, puedo pasar por un proceso de coincidencia y hacer que elija la coincidencia más cercana cuando encuentre una coincidencia con todas esas cosas. Entonces |
| |
por lo tanto, recode ha evolucionado mucho con respecto a los lanzamientos para reducir el dolor en esa operación. Y por supuesto, piénsalo. ¿Cuánto tiempo dedicamos a preparar los datos frente a analizarlos? |
| |
A menudo, entre el 70 y el 90 % de nuestro tiempo lo dedicamos a preparar los datos. Y así, reducir el dolor de eso y reducir el tiempo de eso se convierten en grandes victorias. Así que alivio del dolor al grabar. |
| |
Haciendo clic en los valores. Aquí está |
| |
el conjunto de datos de las ciudades. |
| |
Y supongamos que cuando miro los detalles de algunas de estas cosas, como podría ser un valor atípico de algo, quiero verlo con más detalle. Y entonces puedo convertir eso en un enlace. Entonces vamos |
| |
Convirtámoslo en una página wiki. Una página de Wikimedia. Voy a copiar ese texto allí e ir a la información de la columna y luego convertirlo en un enlace, que es el controlador de expresiones. |
| |
Y ahora puedo tomar |
| |
este |
| |
tabla y convertirla en una web |
| |
DIRECCIÓN. Entonces |
| |
Voy a ir a wikipedia.org y luego tomaré el |
| |
el nombre de esa ciudad y cámbielo a mayúsculas y minúsculas y puedo probarlo en esa fila y aparece Albany. |
| |
Y ahora diré... |
| |
Ah, OK. |
| |
Y ahora puedo hacer clic en cualquier ciudad y luego obtener el artículo de Wikipedia sobre esa ciudad. O puede cambiarlo a coordenadas de mapa. Así que puedo... copiemos ese texto y vayamos a la información de la columna y ahora, en lugar de eso, voy a |
| |
hacer caso de título en eso. |
| |
Veamos si eso analiza bien. Y ahora puedo hacer clic en Denver y consultará Denver y Google Maps. |
| |
De acuerdo, he convertido las cosas en enlaces para hacer... Puedo hacer búsquedas, hacer solicitudes de mapas, etc. Incluso puedo |
| |
pegue este habla en él y haga clic en eso y haga que diga el nombre de la ciudad. Y creo que esto le da un gran poder para poder almacenar enlaces en nuestras tablas de datos. |
| |
que se vinculan a páginas web o hacen otras cosas, cualquier cosa que pueda expresar con ACL, puede hacer con esos controladores de eventos. Así que eso puede reducir mucho el dolor. |
| |
Entonces, una de mis técnicas favoritas para reducir el dolor es la transmisión, y aquí es donde mantiene presionada la tecla de comando o la tecla de control para hacer múltiples, donde tiene muchos análisis que son similares. Bueno entonces |
| |
esto funciona no solo para los comandos de menú, sino también para muchos botones y para cambiar el tamaño de los marcos de gráficos y hacer otras cosas, pegar cosas en gráficos, etc. |
| |
Así que vamos a hacer un ejemplo de eso. Y hagamos clic en... o simplemente hagamos una distribución en todas estas columnas. |
| |
Y digamos que quería deshacerme de |
| |
este diagrama de caja. |
| |
Y si solo mantuviera presionado |
| |
ese elemento del menú, eliminaría el diagrama de caja para ese elemento. Pero lo que quiero hacer es eliminar el diagrama de caja para todos los elementos. Entonces, lo que voy a hacer es mantener presionada la tecla de comando y desmarcar el diagrama de caja y ahora está desmarcado para todas esas cosas. Ahora puedo desmarcar los cuantiles |
| |
y desmarcará todo, porque tomó ese comando y lo transmitió a todos los objetos activos en esa ventana, y para aquellos objetos activos que entienden ese comando, el comando de cuantiles por ejemplo, entonces obedecerá ese comando. |
| |
Ahora eso incluso funciona para algunas cosas que tienen que ver con los diálogos. Así que echemos un vistazo a las estadísticas de resumen. Permítanme mantener presionada la tecla de comando y personalizar las estadísticas de resumen. |
| |
Y digamos que no quiero los límites de confianza, pero sí quiero la cantidad de valores faltantes. Y diré, está bien, y eso se aplicará a todos... |
| |
todas las cosas. Para hacer eso, ha tenido que |
| |
tome los resultados de ese diálogo, haga un guión y luego transmita ese guión a todos los demás lugares en esa ventana. |
| |
Ahora eso no sucede todo el tiempo. A veces, cuando recibe un aviso, recibirá un aviso para cada análisis. Para cada lanzamiento que intentamos |
| |
para implementar algunos detalles más, donde el diálogo se realiza antes de la transmisión, por lo que transmitirá el mismo diálogo a todos los lugares disponibles. Y, por supuesto, todo lo demás puedo transmitir un cambio y cambiará, ya sabes, el tamaño de todos estos elementos, o puedo transmitir |
| |
cambiando el color de fondo, y puedo cambiar todos los colores de fondo a naranja en todas las parcelas |
| |
que eso parece relevante para ese cuadro de marco. Entonces esta transmisión se convierte en una herramienta muy poderosa. |
| |
Entonces, |
| |
eso nos ha ahorrado mucho dolor a la mayoría de nosotros, pero todavía hay casos en los que puede tener 40 000 por grupos, como se presentó a principios de este año, y él quiere hacer una predicción inversa en todos los 40 000 y le pregunta 40 000 veces. |
| |
Eso se arreglará para la versión 16. Eso es mucho alivio del dolor para ese usuario. |
| |
Guardar columnas de fórmula. |
| |
Me encantan las columnas de fórmulas. Cuando ajusta un modelo, puede guardar una columna de predicciones. Pero en esa predicción, hay una fórmula en vivo para que pueda examinar esa fórmula, puede modificarla, puede aplicarla a los nuevos datos que ingresan. Puede perfilarlo en la fórmula de guardado. Puede |
| |
si usted tiene |
| |
JMP Pro, puede ir al depósito de fórmulas y hacer muchas otras cosas. Puede generar código a partir de él y así sucesivamente. Por lo tanto, la capacidad de guardar fórmulas es algo importante, pero a veces |
| |
si tienes por grupos, por ejemplo, guardar fórmulas tiene mucha sutileza extra. |
| |
Por ejemplo, ajustemos, estos son los datos de diabetes, donde ajustamos la respuesta |
| |
contra todos estos predictores y pero queremos hacerlo por separado para cada género. |
| |
Así que hagamos eso. |
| |
Y entonces tenemos dos por grupos para el género uno y el género dos. Y ahora digamos que queremos ahorrar |
| |
el valor predicho, de hecho, para ambos. Ahora |
| |
en los viejos tiempos antes de someternos a esto a muchos métodos de alivio del dolor, |
| |
lo que sucedería cuando lo guardara, iría a una tabla de datos local. Si mira en la ventana de la tabla de datos debajo de rehacer, muestra la tabla por grupo. |
| |
Así que realmente para género=1, hay 235 en esta tabla de datos virtual aquí, que puedes mostrar para género=1. Aquí hay una variable de tabla que muestra el grupo por ella. |
| |
Y lo guardaría en esta tabla temporal en lugar de la tabla real que tiene que está realmente guardada. |
| |
Pero |
| |
Hace algún tiempo, cuando guardó la fórmula de predicción, la guardamos en la tabla de datos reales. Y si miro esto, simplemente lo guardé para género = 1, |
| |
y si miro la fórmula para eso, muestra que si género=1, esa fue la cláusula por grupo, entonces tiene esta combinación lineal que forma una predicción para esa variable. |
| |
Y luego, si hago género = 2 o si mantuve presionada la tecla de comando para transmitir la fórmula de predicción, ahora tiene ambos y tengo ambas cláusulas disponibles para el género 1 y el género 2. Entonces está agregando una cláusula cada vez a esa salida por grupo. |
| |
Por cierto, lo mismo sucede cuando guardas otras cosas, cuando guardo una columna de residuos, y mantengamos presionada la tecla de comando esta vez. |
| |
Si guardo una columna de residuos, la guardará para cada grupo, guardará el residuo apropiado para ese grupo. Es como si restara la fórmula predicha de la respuesta original, pero esta vez sin ser una columna de fórmula. |
| |
En casi todos los lugares de JMP, no lo hemos hecho en todas partes, pero lo hemos hecho en la mayoría de los lugares, guardando en un grupo |
| |
o en algunos casos a través de una cláusula where, luego lo guardará en la tabla de datos original con la condición en la declaración if. Bien, entonces eso tiene |
| |
ahorró mucho esfuerzo. Si eso no hubiera estado disponible, tt se guardó en una tabla temporal y luego tendría que cortar y pegar esa fórmula y hacer tablas en la tabla original. Así que hemos resuelto estos problemas. Ahora supongamos que lo guardé de nuevo, hice todo el proceso de nuevo, |
| |
y |
| |
e hizo otra cosa, digamos con diferentes variables, algunas de ellas eliminadas, |
| |
y ahora lo guardo de nuevo. |
| |
Entonces, |
| |
Guardo la fórmula de predicción, esta vez manteniendo presionada la tecla de transmisión, en realidad está creando una nueva en lugar de guardarla en la anterior y agrega un 2 después. Bueno, ¿cómo sabe que no debe guardarlo en el anterior? |
| |
Bueno, cada ajuste tiene una identificación. Y si miro las propiedades |
| |
por ID, tiene el número, un número único que se regenera para cada ajuste, y siempre que tenga un ID diferente, |
| |
los diferentes por grupos tendrán el mismo ID con uno por partición. Pero mientras tenga el mismo ID, lo guardará en lo mismo. De lo contrario, creará un nuevo lugar para formar para guardarlo. |
| |
Además, cada vez que decimos valores predictivos, |
| |
especialmente fórmulas de predicción, |
| |
creará un atributo el, el creador y en algunos casos otra información. En este caso tiene la variable objetivo y, eso es lo que predice y el creador ajusta mínimos cuadrados. |
| |
Y luego, cuando hace otras plataformas, como si tiene una comparación de modelos JMP Pro, esa comparación de modelos comprenderá qué valores predijeron que se refieren a qué creador, en qué objetivo. Y así pueda llevar un registro de toda esa información para esas plataformas de valor añadido. |
| |
Entonces, |
| |
Las columnas de fórmula funcionan agregando nuevas cláusulas y se utilizan otras propiedades, incluida la de ID. |
| |
Y las cláusulas de predicción, si las guarda en variables categóricas, guarda toda una gama de variables para tener las probabilidades para cada nivel de respuesta, y todo eso está contenido con todos los metadatos y necesidades. Y eso debería ahorrarte mucho dolor. |
| |
Entonces, |
| |
eliminar efectos de los modelos. |
| |
Bueno, veamos un ejemplo. |
| |
de montaje |
| |
solo ajustando la altura por el peso. |
| |
Bueno, aquí hay un ejemplo de un polinomio de alto grado. Este es un polinomio de séptimo orden. |
| |
que encaja mejor que |
| |
polinomios de sexto orden, etc. Pero, ¿confiarías en ese ajuste? |
| |
Resulta que si le das al modelo mucha flexibilidad introduciendo términos polinómicos altos o simplemente introduciendo más variables, da muchas más oportunidades para que se ajuste. Y en este caso es |
| |
permite la flexibilidad de hacer una inmersión profunda entre los datos anteriores y el último punto de datos solo para ajustarse mejor a ese último punto de datos. |
| |
Y por eso se está sobreajustando. Es una forma... está usando ese parámetro para ajustar el ruido en lugar de ajustar el |
| |
los datos en sí. |
| |
Y, por lo tanto, el sobreajuste es un problema cada vez que tiene modelos grandes. Entonces |
| |
desea adaptarse a la señal, no al ruido. De acuerdo, los modelos grandes tienden a introducir más variación en la predicción, porque la predicción, después de todo, es |
| |
una función de la variable y que están usando, pero también que la variable y es una parte sistemática de esa variable más la parte de error de esa variable si esa parte variable |
| |
es aleatoria, entonces su predicción implica que esa aleatoriedad. Y si le permites demasiada flexibilidad, terminará con |
| |
un problema de sobreajuste que va a predecir mucho peor al incluir todas las variables en ese modelo. |
| |
Entonces, la cura para eso es reducir el modelo, reducir el tamaño del modelo o reducir el tamaño de los coeficientes en el modelo, |
| |
de modo que menos de esa variación del término aleatorio del modelo se transmite al valor predicho. Y entonces |
| |
en problemas pequeños de DOE, esto no es un problema porque los datos son pequeños y están bien equilibrados para ajustarse exactamente al modelo que está buscando. Pero para los datos de observación en cualquier modelo grande, el sobreajuste es un problema real. |
| |
Por lo tanto, los usuarios a menudo no apreciaban eso hasta que introdujimos la validación cruzada en JMP Pro. Entonces, si tiene JMP Pro, puede configurar una columna de validación, |
| |
que retendrá algunos de los datos para estimar el error en ese conjunto de datos retenidos. Y aquí hay un ejemplo en el que tengo... Estoy tratando de predecir las propiedades concretas |
| |
dependiendo de todos estos ingredientes en el concreto, y tengo un gran modelo para ello. Y si solo ejecuto ese modelo, pero retengo algunos de los datos y miro el cuadrado R en eso, |
| |
Tengo para SLUMP, tengo un gran ajuste. Tengo una R cuadrada de 79, pero en el conjunto de validación encajo, tengo una R cuadrada que es negativa. |
| |
Cualquier cuadrado R que sea negativo significa que se ajusta peor que simplemente ajustarse a la media. Entonces, si me ajustara a la media, tendría un R cuadrado de cero. Si encajo todo este modelo, tengo un cuadrado R que es mucho peor que eso. Entonces, con modelos grandes, puede ir peor que solo ajustar la media, es peor que |
| |
Es un poco antiinformativo porque el modelo es muy grande y no tuvimos ningún esfuerzo y redujimos el tamaño del modelo. El modelo ha estado dominado por el ruido y no por la señal. Así que este es un problema al que debes prestar atención. |
| |
Entonces, la parte importante es poder reducir el tamaño del modelo. |
| |
Y ahora introdujimos un comando de diálogo modelo para hacer eso. |
| |
Vayamos a la diabetes con el modelo. |
| |
Puedo ejecutar este modelo y si, digamos, quiero sacar muchas de estas cosas no son muy significativas. ya sabes, la edad |
| |
tiene una contribución totalmente no significativa al modelo, por lo que quiero eliminar la edad. Bueno, entonces lo haría, podría volver a ajustar el modelo y |
| |
recordarlo o y luego eliminar la edad. O bien, puedo volver directamente al diálogo del modelo aquí y ajustar la edad y eliminarla, pero es posible que tenga una larga lista de modelos aquí e ir y venir para hacer estas cosas es una buena cantidad de trabajo. |
| |
Y entonces, en lugar de hacer eso... |
| |
a ver, que hago aquí. |
| |
Hace varios lanzamientos, introdujimos un nuevo informe llamado resumen de efectos. |
| |
Y con el resumen de efectos, hace que sea trivialmente fácil dividir el modelo en subconjuntos para que prediga mejor, |
| |
darle menos flexibilidad. |
| |
Así que puedo decir, bueno, envejecer, puedo eliminar eso. |
| |
O, bueno, hay muchas variables. Quitemos tres más. |
| |
LDL, bueno, eso parece más significativo. Y así puedo guardar ese modelo. |
| |
Solo guardémoslo en la tabla de datos. |
| |
Y luego vuelvo y digo, bueno, déjame recordar ese modelo que tiene esto. |
| |
De hecho, puedo deshacer lo anterior. Y entonces puedo deshacer eso y trae de vuelta |
| |
tres de las variables y puedo deshacer eso y trae de vuelta la edad. Así que en realidad almacena, cuando uso el resumen de efectos para editar el modelo, en realidad almacena un recuerdo de todas esas cosas. Y si miro ese guión, |
| |
Puedo ver esto de la historia. Entonces, cada vez que hice un modelo de efecto, almacené una cláusula de la historia. Y cuando deshago, lo estoy deshaciendo de nuevo a esa historia. |
| |
Así que quitar es fácil. También puedo añadir cosas. Si restara estas dos cosas podría volver a sumarlas. Podría volver a agregar, digamos, la edad. |
| |
No es bueno hacerlo, pero puedo hacerlo. También puedo editar el modelo recuperando una versión pequeña del modelo y |
| |
del diálogo del modelo y añadir efectos compuestos, etc. |
| |
Ahora otra cosa que pasa con los modelos grandes y |
| |
(déjame deshacer esto). |
| |
Con modelos grandes, |
| |
Estás haciendo muchas pruebas de hipótesis. |
| |
Entonces, si tiene una gran cantidad de pruebas de hipótesis, hay algunos ajustes que debe considerar y uno de ellos se llama tasa de descubrimiento falso. Y así, en lugar de tratar todos estos valores de p como si fueran pruebas independientes, |
| |
Quiero aplicar un ajuste para que esos valores p se ajusten por el sesgo de pruebas múltiples, por el sesgo de selección involucrado en subdividir el modelo. Y así puedo aplicar una tasa de falso descubrimiento |
| |
corrección a la misma. Entonces, en lugar del valor p regular, tengo el valor p ajustado del falso descubrimiento para eso. Y ahora estoy siendo más realista. Así que esto me va a ayudar con el problema de sobreajuste y la hipótesis... el problema del sesgo de selección al hacer muchas pruebas múltiples |
| |
cosas. |
| |
Entonces, |
| |
ahora |
| |
vamos |
| |
haz el siguiente tema y eso es transforms. |
| |
Suponer |
| |
quieres hacer un modelo, |
| |
pero |
| |
en lugar de y, desea ajustar el registro de y. |
| |
Bueno, antes lo que harías es crear una nueva columna en el conjunto de datos, |
| |
Iniciar sesión, |
| |
y luego para Log y, tú |
| |
especificar un... |
| |
hacer una fórmula. |
| |
y puedo tomar |
| |
un registro de ello. |
| |
Y ahora puedo volver a la especificación de mi modelo y hacer eso Log y |
| |
y luego tuve mi ataque. |
| |
Oh, falta, ¿qué hice? |
| |
Olvidé ingresar al |
| |
objetivo, el argumento. |
| |
Y ahora puedo |
| |
ajustar el logaritmo de Y |
| |
Y ahora |
| |
Lo he hecho. Pero hagamos el generador de perfiles. |
| |
Mi generador de perfiles está en términos del registro de Y. Déjame guardar el valor predicho. Mi fórmula de predicción es en términos del logaritmo de y, |
| |
y ahora voy a tener que ir y editar eso a mano... |
| |
esa fórmula y tomar la exponencial de eso |
| |
para devolverlo a la escala original. Así que eso es mucho dolor haciendo transformaciones de esa manera. |
| |
Bueno, hace varios lanzamientos |
| |
introdujimos transformaciones. |
| |
Entonces puedo tomar esa transformación y |
| |
transformarlo en el registro |
| |
y ahora utilícelo directamente allí como una transformación y no es parte de la tabla de datos. Es una variable virtual con una fórmula, pero no agregada a la tabla de datos. |
| |
Y ahora puedo adaptar mi modelo al Log y. Vamos |
| |
Quita la edad para que quede un poco mejor. |
| |
¡Vaya! |
| |
Tenía eso seleccionado también. |
| |
Y ahora he ajustado la respuesta Log y. |
| |
Entonces, si perfilo eso, ¿qué obtengo? |
| |
Perfilado de factores, perfilador. En lugar de perfilar el registro de y, perfila y. El generador de perfiles ve eso como una transformación y dice, bueno, puedo invertir esa transformación y volver a la escala original. Y eso es lo que hace. |
| |
Él |
| |
no transforma, vuelve a transformar a través del logaritmo de y para tomar la predicción y ponerla en la escala original. |
| |
Y lo hará para la mayoría de las transformaciones que pueden relajarse. Si una transformación involucra múltiples variables, etc., no puede hacerlo y solo hará las transformaciones. Entonces el original |
| |
Lo mismo cuando guardo una columna. Cuando guardo la fórmula de predicción, |
| |
guarda una fórmula de predicción en la escala de yen lugar del logaritmo de y. |
| |
Y estas cosas ahorran increíblemente tiempo y ahorran mucho esfuerzo en el uso de transformaciones. |
| |
Así que hay... |
| |
Déjame |
| |
ir a la diabetes otra vez |
| |
y haz otro... considera otra transformación. |
| |
Cuando estás haciendo variable, |
| |
hay una transformación de Box-Cox que puedes obtener. |
| |
Y |
| |
entre los perfiles de factores, la opción Box-Cox |
| |
te dice si transformaste toda una gama de funciones de potencia, |
| |
¿Qué, qué sería lo mejor para hacer? ¿Debería ser simplemente destransformar? Eso sería un valor lambda de Box-Cox de uno. |
| |
Si hizo cero, eso sería equivalente a tomar un registro. Si hicieras -1, sería equivalente a tomar el recíproco. |
| |
La potencia al -1. Si hiciste alrededor de .5, sería equivalente a sacar la raíz cuadrada de eso. |
| |
Y te está diciendo que este modelo encajaría mejor en una escala de transformación ajustada para esa transformación, si fuera más a lo largo de la transformación de raíz cuadrada, donde lambda fue .453. Ese es el valor óptimo en la transformación de Box-Cox. |
| |
Y puedes hacer zoom en esto |
| |
con una lupa para obtener |
| |
para obtenerlo con mayor precisión. |
| |
Entonces, |
| |
Así que ahora puedo transformarme, y hace varios lanzamientos. |
| |
Puedo... Agregué varias columnas. Uno es reajustar con transform, que creará una nueva ventana con la respuesta transform. |
| |
Y otro está reemplazando transform y voy a hacer eso. Y en lugar de .453, simplemente tomaré la transformación de raíz cuadrada (.5) y ahora ajustaré el modelo con esa transformación. |
| |
Y ahora la lambda mejor está alrededor de 1, que es donde debería estar, porque ya se transformó de inmediato por la transformación de Box-Cox. Y ahora puedo guardar el valor predicho de eso y |
| |
perfilarlo y así sucesivamente. E incluso puedo deshacerlo. Entonces, si no me gusta esa transformación y quiero volver al original, puedo volver al original y reajustarlo. |
| |
Entonces, |
| |
hemos ahorrado mucho dolor |
| |
en la transformación de las respuestas. |
| |
Y ahora |
| |
hay un dolor especial, un lugar especial de dolor cuando tienes muchos datos. |
| |
Y nos hemos esforzado mucho para tratar de resolver grandes problemas con menos dolor. |
| |
Ya sea que tenga muchas filas, muchas columnas, muchos grupos, muchos modelos para probar, |
| |
en el mundo de hoy vivimos en un mundo de grandes datos con grandes problemas. |
| |
Entonces, si tenemos análisis que fueron diseñados originalmente para manejar problemas pequeños, puede que no sean apropiados para los grandes, y el problema central con los problemas grandes es que hay demasiados resultados para clasificar. |
| |
Si ajustando el mismo modelo a 1000 variables, tengo 1000 informes para clasificar. Si busco valores atípicos entre 1000 columnas, solo hay valores atípicos, ya sabes, informes separados para cada columna, etc. quiero poder |
| |
obtener más eficientemente a través de una gran cantidad de grandes conjuntos de datos. Así que desarrollamos el menú de proyección, |
| |
que está destinado a resolver este gran tipo de problemas. Y además, hay muchos lugares en JMP que también resuelven mejor los problemas grandes. Por ejemplo, series de tiempo. La nueva plataforma de pronóstico de series de tiempo pronosticará muchas series de tiempo, en lugar de solo una. |
| |
Entonces, los elementos en la plataforma de detección exploran valores atípicos, exploran valores faltantes, exploran patrones. Estos son para hacer verificaciones de datos y luego buscar asociaciones, detección de respuestas, |
| |
cribado de procesos, cribado de predictores. Y, por supuesto, el pronóstico de series temporales es un elemento nuevo. No está en el menú de detección, pero está organizado para manejar problemas grandes. |
| |
Y todas estas cosas se aprovechan, no solo de formas más compactas de representar los resultados para que no tenga los miles de informes, sino que también son computacionalmente eficientes. Usan subprocesos múltiples para que aproveche su |
| |
el multiple |
| |
núcleos en su CPU para hacerlo muy rápido. |
| |
Entonces, digamos que tiene muchos datos de proceso; tienes 568 variables. Entonces, ¿cuál de estas variables parece saludable? La selección de procesos de pozos está diseñada para responder a eso. Y entonces puede ordenar por la estabilidad o por la capacidad (Ppk) o cuáles están mal u ordenar por |
| |
medidas del gráfico de control, cuentas fuera de control, etc. |
| |
Pero lo que es incluso... incluso me gusta más, son algunas de las herramientas que muestran todos los procesos en un gráfico. Y hay dos de ellos que me encantan. uno es el |
| |
la gráfica de la meta que muestra |
| |
cómo se comporta cada proceso con respecto a los límites de especificación y si es un proceso capaz, está en esta zona verde aquí. |
| |
Si es marginal, está en la zona amarilla. Si no es así, está en la zona roja, y si es alto, tiene demasiada variación. Si está a un lado del otro, entonces hay un problema. |
| |
Con... |
| |
Está fuera del centro, está fuera del objetivo. |
| |
Pero si está en la zona verde, entonces es un buen proceso, y con la versión 15 presentamos el |
| |
graphlets, la ayuda flotante |
| |
para que pueda ver cada proceso mientras pasa el cursor sobre él. Y luego el otro |
| |
La trama que me encanta para resumir todas estas cosas y reducir el dolor de mirar todos estos informes es este gráfico de rendimiento del proceso. Entonces, en el eje vertical, le dice si está dentro de los límites de especificación por la capacidad Ppk. |
| |
Entonces, si está por encima de esta línea en 1.33, entonces se ve bien en cuanto a la distribución de valores con respecto a los límites de especificación. Estás dentro de los límites de las especificaciones. |
| |
Si... entonces el índice de estabilidad está en el eje x. Entonces, si es un proceso bastante inestable, incluso si podría ser capaz pero inestable. Entonces, si observa ese proceso, podría tener algunos |
| |
cosa de estabilidad que deambula por algunos. Y si estás en la zona amarilla, estás |
| |
capaz pero inestable y así sucesivamente. La zona roja es la zona mala en la que eres incapaz e inestable. Y ahora es fácil mirar a través de cientos o miles de procesos, donde solía ser muy doloroso. |
| |
La pregunta es, ¿qué cambió más? Aquí hay algunos datos de la encuesta donde |
| |
durante muchos años diferentes, usted hizo una pregunta sobre sus actividades. Acaso tú |
| |
¿ir de camping? ¿O apostar en un casino? ¿O tenías un resfriado? Ya sabes, todas estas actividades y quieres saber cuál de todas estas actividades (y hay |
| |
Creo que 95 actividades diferentes) cuál de estas marcó la mayor diferencia. Y entonces estás buscando, ya sabes... una cosa que podrías hacer es pasar por uno a la vez |
| |
y ajustar esa actividad por año de encuesta. |
| |
En lugar de mirar uno a la vez. Puedo ver la evaluación de respuesta |
| |
y solo mire un gráfico para ver qué cambió más. |
| |
Y esto muestra un gráfico para las 95 de esas cosas. Primero, la importancia en términos del logaritmo negativo del valor P, |
| |
lo que llamamos valor logarítmico, que se ajusta por la tasa de falsos descubrimientos. Y así se ocupa de parte de ese sesgo de selección porque estás ordenando todos esos valores p. |
| |
y seleccionando el detrás... los valores bajos de P. Y me parece que alquilar una cinta de video fue lo que más cambió, la cinta de videocasete y, por supuesto, se volvieron obsoletas. Así que, por supuesto, cambió. |
| |
Otra cinta de video casete cambió mucho, las cosas recolectadas para reciclar cambiaron mucho, la gente entretenida en mi casa cambió mucho. |
| |
Y aquí está el que es menos significativo, pero de gran tamaño de efecto, ¿usa Internet? Y, por supuesto, esta encuesta se inició antes de que existiera Internet. Y así, cambió mucho. Así que la pregunta sobre qué cambió más fue |
| |
es fácil ahora, donde solía ser difícil. |
| |
Otra pregunta que hiciste sobre big data, ¿dónde están los valores faltantes? Así que aquí están |
| |
280 variables. |
| |
¿Dónde están los valores perdidos? ¿Tengo que preocuparme por ellos? Y puedo ver el informe de exploración de valores perdidos y ver que, bueno, solo hay cinco de estas variables con valores perdidos. |
| |
Y algunos de ellos solo tienen una variable, un valor faltante, pero algunos de ellos tienen mucho. Entonces, cuando hago un análisis, un análisis multivariante, probablemente no quiera incluir |
| |
376 de 452 variables. O si quiero incluir J, puedo pasar |
| |
e imputar esos valores faltantes |
| |
haciendo eso, está bien. |
| |
Entonces, |
| |
Siguiente pregunta, ¿los datos tienen valores atípicos? |
| |
Bueno, tengo 387 medidas, lo hago en este proceso. Y quiero averiguar si hay valores atípicos allí. Así que ahora tenemos la posibilidad de hacerlo en el menú de proyección. Puedo |
| |
hacer esto más o menos sensible. |
| |
Hagámoslo más sensible |
| |
por lo que hay menos valores atípicos y volver a escanear. |
| |
puedo mirar |
| |
en |
| |
los nueves Muy a menudo, una cadena de nueves se usa para representar un valor faltante y esos nueves pueden ser nueves reales, pero pueden ser solo un indicador de un valor faltante. Y entonces puedo, para esos, puedo decir bien agregar esos nueves a los códigos de valor que faltan y ahora la memoria ha cambiado. |
| |
y ahora puedo |
| |
vuelva a subir (hay muchas variables aquí) y vuelva a escanear y hay menos valores perdidos de los que preocuparse. |
| |
Así que explorar valores atípicos solía ser un fastidio. |
| |
Todavía puede ser un gran trabajo, pero es mucho más fácil de lo que solía ser. |
| |
Ahora, en la versión 15, agregamos otra plataforma de detección. ¿Los datos tienen patrones sospechosos? Y aquí hay algunos datos de laboratorio de un ensayo clínico. Estos son datos de patrones de laboratorio de nicardipina. Hay 27 resultados de laboratorio que tal vez quiera ver. Y por eso invoco |
| |
la nueva plataforma, explora los valores que faltan. Y esto me va a mostrar, ¿tengo una serie de valores? Entonces tengo el valor .03536 pero hay siete seguidos, comenzando en fila. |
| |
2065. Puedo colorear esas celdas, y puedo ver esos valores, y tal vez sea el último valor transferido, lo que puede no ser sospechoso. En este caso, es el... |
| |
es la misma persona. Entonces, tal vez el último valor transferido sea algo razonable, pero es un evento raro, raro si ha distribuido estas cosas... |
| |
si, si asumes una distribución aleatoria para estas cosas. |
| |
También la secuencia duplicada más larga. Entonces, para esta variable y estamos comenzando en la fila 2816 y también comenzando en la fila 3034, hay cuatro filas que tenían los mismos valores. Entonces, si coloreo esas cosas, hay cuatro en fila allí. Y si yo |
| |
vaya a la siguiente secuencia, hay cuatro en una fila que tienen los mismos valores. Entonces eso podría ser un síntoma de cortar y pegar los mismos valores de un lugar a otro. |
| |
Así que explorar patrones es buscar esas cosas. Y hay muchas otras cosas en las que puedes mirar los detalles de cada una de esas 27 variables y buscar síntomas de cosas sospechosas o |
| |
efectos negativos de la forma en que procesó los datos, etc. |
| |
Entonces, |
| |
explorar patrones como parte de la solución de grandes problemas. |
| |
Entonces, |
| |
Alivio del dolor. Gran parte de nuestro desarrollo se centra en hacer que el flujo de análisis sea más fluido, menos oneroso, menos laborioso y menos doloroso. Analgésicos. |
| |
Ahora bien, no siempre sabemos lo que es doloroso. Así que dependemos de la retroalimentación para saber en qué enfocarnos. Cuando recibimos esos correos electrónicos a los que tuve que responder cientos de veces, |
| |
escuchamos eso y sentimos el dolor y lo arreglamos para que ahora puedas transmitir en un grupo con miles de cosas |
| |
y transmitir los resultados de un diálogo en lugar de dialogar muchas veces. Así que enviarlo hizo que fuera mejor para todos los demás, porque no lo captamos la primera vez. Así que por favor dénos su opinión. |
| |
Con todas las mejoras que ya hemos realizado, creemos que el proceso de preparación y análisis de datos ya se ha vuelto mucho más fluido, mucho menos interrumpido, más fluido. |
| |
Entonces, |
| |
en lugar de pasar su tiempo superando obstáculos, pasa su tiempo aprendiendo de sus datos, comprendiendo sus datos. |
| |
analítica. Uno se preguntaría si vienen de la misma raíz, por supuesto, no nos gusta abreviar esas dos palabras. |
| |
Analytics viene del griego analyein, y no sé cómo pronunciarlo. |
| |
Pero en griego significa romper, soltar o liberar. Y es tomar algo complicado y dividirlo en pedazos para que podamos entenderlo. |
| |
Y eso es, por supuesto, exactamente lo que hacemos con el análisis de datos, la ciencia de datos. Y los analgésicos provienen de una combinación diferente de palabras \!"an-\!" significado sin, y \!"álgesis,\!" que es el sentido del dolor. Así que el mismo prefijo, diferentes... raíces un poco diferentes. |
| |
Y no los abrevie. |
| |
anabólico y afrodisíaco. Nos importa el poder. |
| |
Mucho de lo que hacemos es brindarle herramientas más poderosas para analizar datos, mucho de eso en JMP Pro, así como en JMP. |
| |
Y esperamos que los datos lo hagan emocionante, ya sabes, la emoción del descubrimiento. |
| |
La emoción de aprender a usar funciones avanzadas en JMP y creemos que es emocionante. Ya sabes, es un afrodisíaco. |
| |
Así que el poder y la emoción también son valiosos para nosotros. No se trata solo de aliviar el dolor. |
| |
Entonces, ¿qué vamos a hacer el próximo año? |
| |
Bueno, grandes palabras que comienzan con la letra B. |
| |
Comience con A, el siguiente es B, ¿verdad? |
| |
Bueno, el año que viene tenemos JMP 16. Y entonces eso es de lo que vamos a hablar. Quién sabe de qué vamos a hablar el año siguiente. Así que muchas gracias. Y esperamos que sufra muy poco dolor al analizar sus datos. |
| jeff perkinson |
Muchas gracias, Juan. Nosotros apreciamos eso. Fue una charla fantástica y habiendo sido testigo de mucho dolor a lo largo de los años, |
| |
es es todo lo que dices es absolutamente cierto. El alivio del dolor es algo importante para nosotros. |
| |
Tuvimos una pregunta que surgió, en realidad, varias preguntas; hemos respondido algunas de ellas en las preguntas y respuestas, pero lo que quería comentarles |
| |
¿Alivió el dolor y proporcionó algo de atracción e hizo que JMP fuera más poderoso? |
| Juan Sall |
Bueno, creo que el gran deleite de todos es Graph Builder. |
| |
Se siente increíblemente poderoso simplemente arrastrar esas variables y hacer algunos otros clics y tiene el gráfico que desea, y puede cambiarlo tan fácilmente. |
| |
Así que es, es una emoción. Es una característica poderosa y es un alivio del dolor; solía ser más difícil de hacer. Así que creo que eso es lo favorito de todos. |
| |
Pero, por supuesto, hay... JMP es un producto rico y estamos orgullosos de todo lo que contiene. Diseño de experimentos, todos |
| |
el gran poder involucrado allí y también hemos tratado de facilitar ese proceso. Y tantas cosas vienen a la mente. |
| jeff perkinson |
Muy bien. Muchas gracias Juan, te lo agradezco. Si te ha gustado esta charla, tengo dos sugerencias para ti. Uno, estaremos publicando esto |