Vocero | Transcripción |
| Mia Stephens | Bienvenido a JMP Discovery Summit. Soy Mia Stephens y soy gerente de producto de JMP. Y me acompaña Jordan Hiller, que es ingeniero de sistemas. Y hoy vamos a hablar sobre la automatización del flujo de trabajo de curación de datos. |
| Y este es el resumen solo como referencia; No voy a hablar de eso. |
| Y vamos a dividir esta charla en dos partes. Voy a empezar y hablar sobre el flujo de trabajo analítico. |
| y hablar sobre la creación de datos, lo que entendemos por conservación de datos. Y veremos cómo identificar posibles problemas de calidad de datos en sus datos. |
| Y luego se lo voy a dejar en manos de Jordan, y Jordan va a hablar sobre la necesidad de reproducibilidad. |
| Él compartirá con nosotros una hoja de trucos para la curación de datos y mostrará cómo ... cómo curar sus datos en JMP. |
| el registrador de acciones y el registro mejorado. |
| Así que hablemos del flujo de trabajo analítico. |
| Todo comienza con algún problema comercial que estamos tratando de resolver. |
| Y, por supuesto, necesitamos compilar datos, y usted puede compilar datos de varias fuentes diferentes y traer los datos en un JMP. |
| Y al final, necesitamos poder compartir resultados, comunicar nuestros hallazgos a otros. Ahora bien, a veces este es quizás un proyecto único, |
| pero muchas veces tenemos análisis que vamos a repetir. Entonces, una pregunta central que se aborda en esta charla es, ¿puede reproducir fácilmente sus resultados? |
| ¿Pueden otros reproducir sus resultados? O, si tiene nuevos datos o, si tiene datos actualizados, ¿puede repetir fácilmente su análisis y, en particular, los pasos de curación de datos en estos nuevos datos? Entonces, esto es lo que estamos abordando en esta charla. |
| Pero, ¿qué es exactamente la conservación de datos? |
| ¿Y por qué debemos preocuparnos por eso? |
| Bueno, la conservación de datos se trata de garantizar que nuestros datos sean útiles para impulsar descubrimientos analíticos. Básicamente, necesitamos poder resolver los problemas que estamos tratando de abordar. |
| Y se trata principalmente de organización de datos, estructura de datos y también limpieza de datos. |
| Si piensa en los problemas que podríamos encontrar con los datos, tienden a clasificarse en cuatro categorías generales |
| es posible que tenga un formato incorrecto, que tenga datos incompletos, datos faltantes o datos sucios o desordenados. |
| Y para ayudarnos a hablar sobre estos temas, vamos a tomar prestado contenido de STIPS. Y si no está familiarizado con STIPS, STIPS es nuestro curso gratuito, Pensamiento estadístico para la resolución de problemas industriales. |
| Y este es un curso basado en siete módulos independientes, y el segundo módulo es el análisis exploratorio de datos. |
| Y debido a la naturaleza iterativa e interactiva del análisis de datos exploratorios y la curación de datos, la última lección de este modelo ... en este módulo se llama Preparación de datos para el análisis, por lo que tomamos prestado mucho de esta lección a lo largo de esta charla. |
| Analicemos cada uno de estos temas. Formateo incorrecto. ¿Qué entendemos por formato incorrecto? Bueno, esto es cuando sus datos están en el formato incorrecto o en el formato incorrecto para el análisis. Esto puede aplicarse a la tabla de datos en su conjunto. Entonces, por ejemplo, podría tener |
| llamado ... datos almacenados en columnas separadas, pero en realidad necesita los datos almacenados en una columna. |
| O podría ser que tenga sus datos en tablas de datos independientes y necesite concatenar, actualizar o unir las tablas de datos. |
| Puede relacionarse con variables individuales. Por ejemplo, es posible que tenga el tipo de modelado incorrecto. O puede tener fechas en su tabla de datos, por lo que puede tener columnas de fechas y es posible que no tengan el formato de días, por lo que es posible que el análisis no reconozca que estos son ... estos son datos de fecha. |
| El formateo también puede ser cosmético. Entonces, por ejemplo, si está tratando con una tabla de datos grande, es posible que tenga muchas columnas ... |
| es posible que tenga nombres ... nombres de columnas que no sean realmente reconocibles y que desee cambiar. |
| Es posible que tenga muchas columnas que desee agrupar para que sea un poco más manejable. |
| Su columna de respuesta puede estar al final de la tabla de datos y es posible que desee moverla hacia arriba. Por lo tanto, los problemas estéticos no necesariamente se interpondrán en el camino de su análisis, pero si puede abordar algunos de estos problemas, puede hacer que su análisis sea un poco más fácil. |
| Los datos incompletos son cuando faltan datos. Esto puede deberse a una falta de datos sobre variables importantes. Entonces, por ejemplo, es posible que no haya capturado datos sobre variables que son fundamentales para resolver el problema. También podría deberse a la falta de datos sobre una combinación de variables. |
| Entonces, por ejemplo, es posible que no tenga suficiente información para estimar una interacción. |
| O es posible que tenga una variable de destino que le interese que no esté equilibrada, por lo que podría estar estudiando algo como defectos. Puede ser solo el 5% de sus observaciones |
| son para defectos y es posible que no tenga suficientes datos, ya que sabe, es posible que solo tenga un subconjunto muy pequeño de sus datos |
| donde el defecto está presente. Es posible que no tenga suficientes datos que le permitan comprender las posibles causas de los defectos. Es posible que tampoco tenga un tamaño de muestra lo suficientemente grande, por lo que simplemente no tiene suficientes datos para tener buenas estimaciones. |
| La falta de datos es cuando le faltan valores para las variables, y esto puede tomar varias formas diferentes. |
| Si faltan datos y los datos ... la falta no es aleatoria, esto puede causar un problema grave, por lo que es posible que tenga estimaciones sesgadas. |
| Si le faltan datos completamente al azar, esto podría no ser un problema si solo le faltan algunas observaciones, pero si le faltan muchos datos, entonces esto puede ser problemático. |
| Los datos sucios y desordenados son cuando tiene problemas con las observaciones o con las variables. Por lo tanto, es posible que tenga valores incorrectos, los valores simplemente son incorrectos. |
| Puede tener inconsistencias. Entonces, por ejemplo, es posible que tenga errores tipográficos o tipográficos cuando las personas ingresan las cosas de manera diferente. |
| Los valores pueden ser inexactos. Entonces, por ejemplo, es posible que tenga problemas con su sistema de medición. Puede haber errores, errores tipográficos, los datos pueden estar obsoletos. |
| Los datos obsoletos son cuando tiene datos sobre, por ejemplo, una instalación o máquina que ya no está en servicio. |
| Los datos pueden estar desactualizados, por lo que es posible que tenga datos que se remontan a un período de dos o tres años, pero el proceso podría haber cambiado en algún momento de ese período de tiempo, |
| lo que significa que esos datos históricos podrían no ser relevantes para el proceso actual tal como está hoy. Sus datos pueden estar censurados o pueden estar truncados. |
| Puede tener columnas redundantes, que son columnas que contienen esencialmente la misma información. O puede haber duplicado las observaciones. |
| Por lo tanto, los datos sucios o desordenados pueden adoptar muchas formas diferentes. |
| Entonces, ¿cómo identifica los problemas potenciales? |
| Bueno, un buen punto de partida es explorar sus datos y, de hecho, identificar problemas lo lleva a la exploración de datos y luego al análisis. Y a medida que comienza a explorar sus datos, comienza a identificar cosas que podrían causarle problemas en su análisis. |
| Entonces, un buen punto de partida es escanear la tabla de datos en busca de problemas obvios. |
| Así que usaremos un ejemplo a lo largo del resto de esta charla llamado Componentes, y este es un ejemplo del curso STIPS |
| donde una empresa está produciendo componentes pequeños y tienen un problema con el rendimiento. Entonces se recopilaron los datos, hay 369 lotes. Hay 15 características que se han capturado y queremos utilizar estos datos para ayudarnos a comprender las posibles causas fundamentales del bajo rendimiento. |
| Entonces, si comenzamos a mirar la tabla de datos en sí, hay algunas pistas sobre los tipos de problemas de calidad de los datos que podríamos tener. Y un buen punto de partida (y esto se agregó en JMP 15) |
| Son gráficos de encabezado. Me encantan los gráficos de encabezado. Lo que hacen es, si tienes una variable continua que te muestra un histograma, para que puedas ver el centrado y la forma y la extensión de la distribución. |
| También le muestran el rango de valores. Si tiene datos categóricos, le mostrará un gráfico de barras con valores para las barras más pobladas. Así que echemos un vistazo a algunos de estos. Empezaré con el número de lote. Entonces, el número de lote muestra un histograma, y en realidad tiene una forma uniforme. |
| El lote numera algo que probablemente sea un identificador, por lo que, de buenas a primeras, puedo ver que estos datos probablemente estén codificados incorrectamente. |
| Puedo ver que esta distribución está muy sesgada y también puedo ver que el valor más bajo es -6, y esto puede hacer que haga preguntas sobre la viabilidad de tener un número de rechazo negativo. |
| El proceso es otro. Tengo básicamente dos barras y en realidad me muestra un histograma con solo dos valores. |
| Y mientras miro estos gráficos de columnas, estos gráficos de encabezado, puedo mirar el panel de columnas, |
| y es bastante fácil ver que, por ejemplo, el número de lote y el número de pieza y el proceso están codificados como continuos. Cuando importa datos a JMP, si JMP ve números, automáticamente codificará estas columnas como numéricas continuas. Entonces, estas son cosas que podríamos querer cambiar. |
| También podemos mirar los datos en sí. Entonces, por ejemplo, cuando miro la humedad (y el contexto es realmente importante cuando estás mirando tus datos), la humedad es algo que podríamos considerar como datos continuos. |
| Pero tengo un par de campos aquí donde tengo N / A. |
| Si tiene datos alfanuméricos, si tiene datos de texto en una columna numérica, la columna se codificará como nominal cuando extraiga los datos en JMP. Así que esto es algo de buenas a primeras que vemos que tendremos que arreglar. |
| Y también puedo mirar a través de las otras columnas. Entonces, por ejemplo, Proveedor, veo que me faltan algunos valores. Cuando extrae datos en JMP, si hay |
| celdas vacías para datos categóricos, sabemos que nos faltan valores. Puedo ver que hay algunas entradas, en las que no somos consistentes ... no consistentes en la forma en que se ingresaron los datos. |
| Entonces, estoy obteniendo algunas pistas serias sobre algunos problemas potenciales con mis datos. |
| observe todos los puntos. La temperatura es una variable continua y donde veo puntos, indica que me faltan valores. Entonces, la temperatura es algo que es realmente importante para mi análisis, esto podría ser problemático. |
| Una extensión natural de esto es comenzar a explorar datos, una variable a la vez. Una de mis herramientas favoritas cuando quiero empezar a mirar datos por primera vez es el visor de columnas. Y el visor de columnas nos brinda resúmenes numéricos de las variables que hemos seleccionado. |
| Si nos faltan valores, habrá una N columna faltante. Y aquí puedo ver que me faltan 265 de los 369 valores de temperatura, así que esto, esto es una brecha seria aquí si creemos que la temperatura va a ser importante en el análisis. |
| También puedo ver si tengo valores extraños. Entonces, cuando miro cosas como Mins y Maxes para el número desechado y la tasa de desechos, obtengo valores negativos. Y si esto no es factible, entonces tengo un problema con los datos o con el sistema de recopilación de datos. |
| También es bastante fácil ver una codificación incorrecta de las variables. Entonces, por ejemplo, la instalación y el número de lote, que probablemente deberían codificarse como nominal, informaban una media y la desviación estándar. |
| Y una buena manera de pensar en esto es, si no es físicamente posible tener un número de lote promedio o (el número de pieza era la otra variable) o un número de pieza, entonces estos deberían cambiarse a variables nominales, en lugar de continuas. |
| Distribuciones es el siguiente lugar al que voy cuando me familiarizo con mis datos por primera vez. |
| Y las distribuciones, si tiene datos continuos, le permiten comprender la forma, el centrado y la extensión de sus datos, pero también puede ver si tiene algunos valores inusuales. |
| Para datos categóricos, también puede ver cuántos niveles tiene. Entonces, por ejemplo, número de cliente. Si el número de cliente es una variable importante o potencialmente importante, |
| Tengo muchos niveles o valores para el número de cliente. Cuando preparo los datos, es posible que desee combinarlos en cuatro o cinco depósitos con otra categoría para aquellos clientes en los que realmente no tengo muchos datos. |
| Humedad. Vemos el problema de tener N / A en la columna. Vemos un gráfico de barras en lugar de un histograma. |
| Podemos ver fácilmente lo que estábamos viendo en los datos del proveedor. Por ejemplo, Cox Inc y Cox, Anderson se deletrea de tres formas diferentes, Hersh se escribe de tres formas diferentes. |
| Para la velocidad, observe que tenemos una distribución en montículo que va desde alrededor de 60 a 140 pero, en la parte inferior, vemos que hay un valor o dos |
| eso es bastante cercano a cero, y esto podría ser ... podría haber sido un error de entrada de datos, pero definitivamente es algo que nos gustaría investigar. |
| Una extensión de esto es comenzar a mirar sus datos de dos variables a la vez. Entonces, por ejemplo, usando Graph Builder o diagramas de dispersión. |
| Y cuando observa las variables de dos en dos, puede ver patrones y puede ver más fácilmente patrones inusuales que cruzan más de una variable. |
| Entonces, por ejemplo, si miro la tasa de rechazo y el número desechado, veo que tengo algunas bandas. Y puede ser que tenga algo en su tabla de datos que pueda explicar este patrón. |
| Y en este caso, las bandas se atribuyen a diferentes tamaños de lote, por lo que esta banda púrpura es donde tengo un tamaño de lote de 5,000. |
| Y tengo muchas más oportunidades para la chatarra con un tamaño de lote más grande que para un tamaño de lote más pequeño. Entonces eso puede tener algún sentido, pero también veo algo que no tiene sentido. Estos dos valores aquí abajo en el rango negativo. |
| Así que es bastante fácil verlos cuando miro datos en dos dimensiones. |
| Puedo agregar dimensionalidad adicional a mis gráficos mediante el uso de conmutadores de columnas y filtros de datos. |
| Esto también me está llevando a un análisis potencial, por lo que podría estar interesado en comprender cuáles son las x que podrían ser importantes, que podrían estar relacionadas con la tasa de desperdicio. |
| Y al mismo tiempo, observe los problemas de calidad de los datos o los problemas potenciales. Entonces, para la tasa de desperdicio, parece que hay una relación positiva entre la presión y la tasa de desperdicio. |
| no parece que haya demasiada relación. Tasa de desperdicio versus temperatura, esto es bastante plano, por lo que no hay mucho que hacer aquí. |
| Pero fíjate en la velocidad. Hay una relación negativa, pero en la parte superior veo esos dos valores; el único valor que vi en el histograma, pero hay un segundo valor que parece destacar. |
| Entonces, podría ser que este valor alrededor de 60 sea simplemente un valor atípico, pero podría ser un punto válido. Probablemente me preguntaría si este punto aquí cerca de 0 es válido o no. |
| Entonces miramos la tabla de datos. Hemos analizado los datos de una variable a la vez. Hemos analizado los datos de dos variables a la vez, y todo esto encaja perfectamente con la exploración de datos y nos lleva al análisis. |
| Hay herramientas más avanzadas que podríamos usar (por ejemplo, explorar valores atípicos, explorar faltas) que están más allá del alcance de este curso o esta charla. |
| Y cuando comience a analizar sus datos, probablemente identificará problemas adicionales. Por ejemplo, si tiene muchas categorías de variables categóricas |
| e intenta ajustar una interacción en un modelo de regresión, sabe que JMP le advertirá que realmente no puede hacer esto. Entonces, cuando comience a analizar datos, todo este proceso es iterativo e identificará problemas potenciales a lo largo del proceso. |
| Una clave es que desea tomar nota de los problemas que encuentre mientras mira sus datos. Y algunos de estos pueden ser |
| corregido a medida que avanza, para que pueda ocultar y excluir valores, puede remodelar, puede volver a limpiar sus datos a medida que avanza, pero puede decidir que necesita recopilar nuevos datos. Es posible que desee realizar un DOE para tener más confianza en los datos en sí. |
| Si sabe que va a repetir este análisis o que alguien más querrá repetir este análisis, |
| entonces querrá asegurarse de capturar los pasos que está dando para que tenga reproducibilidad. Alguien más puede reproducir sus resultados, o usted puede repetir su análisis más tarde. Así que aquí es donde se lo voy a entregar a Jordan, y Jordan va a |
| Hable sobre la conservación de datos reproducibles. |
| Jordan Hiller | Está bien, gracias, Mia. |
| Hola, soy Jordan Hiller. Soy ingeniero de sistemas para JMP. Profundicemos un poco y hablemos un poco más sobre la reproducibilidad. |
| para la conservación de sus datos. |
| Mia presentó esta idea muy bien, pero démosle algunos detalles más. La idea aquí es que queremos poder volver a realizar fácilmente |
| todos nuestros pasos de curación que utilizamos para preparar nuestros datos para el análisis, y hay tres beneficios principales que veo al hacer esto. El primero es la eficiencia. Si tiene que ... si sus datos cambian y necesita reproducir estos pasos de curación en nuevos datos en el futuro, |
| Es mucho más eficiente ejecutarlo una vez con un script de un clic que volver a realizar todas las actividades de apuntar y hacer clic. La precisión es el segundo beneficio. Apuntar y hacer clic puede ser propenso a errores y, al convertirlo en un guión, garantiza una reproducción precisa. |
| Y por último está la documentación, y esto tal vez se subestime. Si tiene una secuencia de comandos, documenta los pasos que |
| cogí. Es un rastro de migas de pan que puede volver a visitar más adelante cuando, inevitablemente, tenga que volver a visitar este proyecto y recuerde, ¿qué hice para preparar estos datos? |
| Tener ese guión es de gran ayuda. Así que hoy vamos a pasar por un estudio de caso. Le mostraré cómo generar uno de estos scripts de curación de datos reproducibles |
| usando solo apuntar y hacer clic. Y la tecnología habilitadora es algo nuevo en JMP 16. Es el registro mejorado y la grabación de acciones que se encuentran en el registro mejorado. |
| Así que esto es lo que vamos a hacer, vamos a realizar nuestras actividades de curación de datos como de costumbre con apuntar y hacer clic. Mientras hacemos esto, |
| el script que necesitamos, el código de la computadora (se llama código JSL, JSL para el lenguaje de scripting JMP) lo capturaremos automáticamente |
| en el nuevo registro mejorado. Y luego, cuando hayamos terminado con nuestra selección de apuntar y hacer clic, todo lo que tenemos que hacer es tomar ese código y guardarlo. Es posible que queramos hacer algunos ajustes, algunas modificaciones, solo para hacerlo un poco más fuerte, pero esa parte es opcional. |
| Bien, esta es una hoja de trucos que puedes usar. Estas son algunas de las actividades de limpieza de datos más comunes. |
| y cómo hacerlo en JMP 16 de manera que se deje ese rastro de migas de pan, de manera que deje el script JSL en el registro mejorado. Por lo tanto, cubre aspectos como operar en filas, operar en columnas, |
| formas de modificar la tabla de datos, todas nuestras operaciones de limpieza de datos y cómo hacerlo apuntando y haciendo clic. |
| Por lo tanto, no es una lista exhaustiva de todo lo que podría necesitar hacer para la limpieza de datos, y tampoco es una lista exhaustiva de todo lo que está capturado en el registro mejorado, pero esto es lo más importante aquí a su alcance. |
| Muy bien, vayamos a nuestro estudio de caso utilizando el archivo de Componentes que presentó Mia y creemos nuestro script de curación de datos en JMP 16 usando el registro mejorado. |
| Aquí estamos en JMP 16. Notaré que esta es la última versión del programa de adopción temprana de JMP 16, por lo que esta es una versión preliminar. Sin embargo, estoy seguro de que será muy, muy similar a la versión de lanzamiento real de JMP 16. |
| Entonces, para llegar al registro, |
| Te lo mostraré aquí. Esto se ve diferente si está acostumbrado al registro de versiones anteriores de JMP. Está dividido en estos dos paneles, |
| bien, un panel de mensajes en la parte superior y un panel de códigos en la parte inferior. Vamos a pasar un tiempo aquí. Le mostraré cómo es esto, pero solo le daré una vista previa rápida, si tuviera que hacer algunas actividades rápidas como importar un archivo y tal vez eliminar esta columna. |
| Puede ver que esos dos pasos que hice (la importación de datos y la eliminación de la columna), se enumeran aquí en este panel de mensajes |
| y el código, el código JSL que necesitamos para la secuencia de comandos de curación de datos reproducible, está aquí en este panel inferior. Bueno entonces |
| que es realmente muy emocionante, la capacidad de tener este código y tomarlo cuando lo necesite con solo señalar y hacer clic es un beneficio tremendo en JMP 16. |
| Entonces, en JMP 16, esta nueva vista de registro mejorada está activada de forma predeterminada. Si desea volver a la versión anterior del registro, ese registro de texto simple, puede hacerlo aquí en la sección de preferencias de JMP. Hay una nueva |
| para el registro y puede volver a la vista de texto anterior del registro, si lo prefiere. El valor predeterminado cuando instala JMP 16 es el registro mejorado y hablaremos sobre algunas de estas otras características un poco más adelante, más adelante en nuestro estudio de caso. |
| Muy bien, entonces me voy a aclarar |
| el registro por ahora del triángulo rojo. Borre el registro y comencemos con nuestro estudio de caso. Vamos a importar los datos de Componentes que Mia estaba compartiendo contigo. Vamos a empezar con este archivo csv. |
| Asi que |
| Voy a realizar el tipo de importación más simple con solo arrastrarlo. Oh, tenía una ... ya tenía una versión abierta. Lo siento, déjame, déjame empezar cerrando la versión antigua. |
| y borre el registro una vez más. |
| De acuerdo, importación simple |
| arrastrándolo a la ventana de JMP. Y ahora tenemos ese archivo, Componentes A, con 369 lotes, y ahora procedamos con nuestras actividades de limpieza de datos. Me encenderé |
| los gráficos de encabezado. Y lo primero que podemos ver es que la columna de instalaciones tiene solo una entrada, un valor en ella, FabTech, por lo que no hay variación, nada interesante aquí. Solo voy a eliminarlo con un clic derecho, eliminar la columna. |
| Y nuevamente, eso se captura a medida que avanzamos en el registro mejorado. |
| De acuerdo, ¿qué más? Imaginemos que esta columna de tasa de rechazo que se encuentra cerca del final de la tabla es realmente importante para nosotros y me gustaría ver una anterior en la tabla. Lo voy a mover a la cuarta posición |
| agarrándolo en el panel de columnas y arrastrándolo a la derecha después del número de cliente. Aquí vamos. |
| Mia mencionó que esta columna de humedad está representada incorrectamente en la importación, principalmente debido a que N / A |
| caracteres del alfabeto que hacen que se presente como una variable de carácter. Así que arreglemos eso. Vamos a entrar en la columna de información con el clic derecho aquí. |
| y cambie el tipo de datos de carácter a numérico, cambie el tipo de modelado de nominal a continuo. Haga clic en Aceptar. Y hagamos clic en el registro aquí, y puede ver, tenemos cuatro pasos ahora que han sido capturados y continuaremos. |
| Muy bien, ¿qué sigue? Tenemos varias variables que deben cambiarse de continuas a nominales. Esos son el número de lote, el número de pieza y el proceso. Entonces, con los tres seleccionados, haré clic derecho y cambiaré de continuo a nominal. |
| Y todos han sido corregidos. |
| Y nuevamente, podemos ver que esos tres pasos están registrados aquí en el registro. |
| Está bien, ¿qué más? Algo más un poco cosmético, esta columna, Presión. A mis ingenieros les gusta ver el nombre de esa columna como PSI, así que lo cambiaremos simplemente seleccionando esa columna y escribiendo PSI. Sal de allí para ir a otro lugar. Eso también se registrará en el registro. |
| El proveedor. Mia nos mostró que hay algunas, ya sabes, ortografías inconsistentes. Probablemente hay demasiados valores aquí. Necesitamos corregir los valores de los caracteres. Cuando tenga valores de caracteres incorrectos e inconsistentes en una columna, piense en la herramienta de recodificación. |
| La herramienta de recodificación es una forma realmente eficaz de solucionar este problema. Así que con el clic derecho sobre proveedor, pasaremos a recodificar. |
| Y agrupemos estos apropiadamente. Comenzaré con algunas opciones de triángulo rojo. Convirtamos todos los valores a mayúsculas y minúsculas, |
| recortemos también ese espacio en blanco, de modo que se corrija el espaciado inconsistente. Eso ya ha corregido un par de problemas. Corregamos todo lo demás manualmente. Voy a agrupar a los Anderson. Voy a agrupar a los Cox. |
| Agrupa a los Hersh. Trutna y Worley ya tienen razón con una sola categoría. Y la última corrección que haré son las cosas que están, ya sabes, enumeradas como en blanco o faltantes, les daré una explicación explícita. |
| falta la etiqueta aquí. |
| Muy bien, y cuando hacemos clic en recodificar, |
| hemos convertido esas correcciones en una nueva columna llamada proveedor 2. |
| Eso solo tiene 1, 2, 3, 4, 5, 6 categorías corregidas y colapsadas. |
| Bueno. |
| Bien, hagamos un cálculo. Vamos a calcular el rendimiento aquí, utilizando el tamaño del lote y el número desechado. |
| Correcto. Y sí, me doy cuenta de que esto es un poco redundante. Ya tenemos la tasa de desperdicio y el rendimiento es solo uno menos la tasa de desperdicio, pero por el simple hecho de argumentar, lo haremos |
| el cálculo. Así que quiero que esa columna de rendimiento se inserte justo después de que se elimine el número, así que voy a resaltar el número eliminado y luego iré al menú de columnas, elegiré una nueva columna. |
| Vamos a llamar a esto rendimiento. |
| Y vamos a insertar nuestra nueva columna después de la columna seleccionada, después del número desechado, y le daremos una fórmula para calcular el rendimiento. |
| Necesitamos la cantidad de buenas unidades. Ese será el tamaño del lote menos el número desechado. |
| Así que ese es el número de buenas unidades y vamos a dividir todo eso por |
| el tamaño del lote. |
| Número de buenas unidades dividido por el tamaño del lote, ese es nuestro cálculo de rendimiento. |
| Y haga clic en Aceptar. |
| Ahí está nuestro nuevo |
| columna de rendimiento. Podemos ver que es una tasa de desguace de uno menos. Eso es ... eso es bueno e ignoremos, por ahora, el hecho de que tenemos unos rendimientos superiores al 100%. |
| Está bien, casi terminamos. Solo algunos cambios más. Me di cuenta de que tenemos dos procesos y, por ahora, solo están etiquetados como proceso 1 y proceso 2. |
| Eso no es muy descriptivo, no es muy útil. Démosles etiquetas más descriptivas. Proceso 1, lo llamaremos proceso de producción; y el proceso 2, lo llamaremos experimental. Así que haremos esto con etiquetas de valor, en lugar de recodificar. Iré a la información de la columna |
| y asignaremos etiquetas de valor a uno y dos. |
| Uno en esta columna representará la producción. |
| Agregue eso. |
| Y dos representa experimental. |
| Agregue eso. |
| Haga clic en Aceptar. Bueno. Muestra uno y dos en los gráficos de encabezado, pero producción y experimental aquí en la tabla de datos. |
| Muy bien, un paso final antes de guardar nuestro guión. Digamos, en aras del argumento, que solo me interesan los datos ... Quiero continuar con el análisis solo cuando el vacío está apagado. |
| Correcto, entonces voy a crear un subconjunto de los datos y crear una nueva tabla de datos que tenga solo las filas donde el vacío está desactivado. Lo haré haciendo clic derecho en una de estas celdas que tiene vacío |
| y seleccionando celdas coincidentes. |
| Eso selecciona las 313 filas donde el vacío está desactivado. Y ahora iremos al subconjunto de la tabla, |
| cree una nueva tabla de datos, que llamaremos vac_off. |
| Haga clic en Aceptar. |
| Muy bien, y esa es nuestra nueva tabla de datos con 313 filas que solo muestran datos donde el vacío está desactivado. |
| Así que ese es el final. Hemos hecho toda nuestra curación de datos y ahora regresemos y revisemos el registro y aprendamos un poco más sobre lo que tenemos. |
| Bien, todos esos pasos, y algunos más que no tenía la intención de hacer, se han capturado aquí en el registro. |
| Mire aquí, tenemos ... cada línea es uno de los pasos que realizamos. |
| También hay algunas cosas extrañas, como en un momento borré la selección de filas. Realmente no necesitaba ... Realmente no necesito hacer eso parte de mi guión. |
| Borrando las filas seleccionadas, eliminemos eso. Solo voy a hacer clic derecho sobre él y borrar ese elemento para eliminarlo. Eso es bueno. |
| Bien, mensajes aquí arriba, código JSL aquí abajo. Me gustaría llamar su atención sobre el origen y el resultado. Esto es bastante ingenioso. |
| Siempre que damos un paso, cada vez que hacemos una acción por apuntar y hacer clic, ya sabes, hay algo en lo que hacemos esa acción y hay algo que resulta. Entonces ese es el origen y el resultado. Entonces, por ejemplo, cuando eliminamos la columna de instalaciones ... |
| bueno, tal vez ese sea un mal ejemplo ... elijamos cambiar la información de la columna por humedad. El origen, aquello en lo que lo hicimos |
| era la tabla de Componentes A, y vemos la lista aquí como la tabla de datos. Cuando coloco el cursor sobre él, dice Traer los componentes A al frente, así que al hacer clic en eso, sí, nos lleva a la tabla Componentes A. Muy agradable. |
| Y el resultado es algo que le hicimos a la columna de humedad. Cambiamos la humedad. Lo cambiamos a tipo de datos numérico y tipo de modelado continuo. Mira eso aquí abajo. |
| Entonces puedo hacer clic aquí, ir a la columna de humedad, y ... resalta, selecciona por nosotros. JMP selecciona la columna de humedad por nosotros. |
| verde para todas partes, excepto este último resultado en azul. Bueno, eso nos ayudará a realizar un seguimiento de nuestras actividades en diferentes tablas de datos. Hicimos todas estas actividades en la tabla de datos de Componentes A |
| y nuestra última actividad, realizamos un subconjunto en la tabla de datos de Componentes A, el resultado fue una nueva tabla de datos llamada vac_off. Y entonces vac_off está en azul. Bien, entonces podemos usar esos colores para ayudarlo a realizar un seguimiento de las cosas. |
| Muy bien, la última característica que quiero mostrarte aquí en el registro es ... es |
| Es útil si tiene una serie de pasos muy larga y solo necesita encontrar uno, este cuadro de filtro le permite encontrarlo. Digamos que quiero encontrar el subconjunto. Ahí está. Encontramos la tabla de datos del subconjunto y puedo acceder directamente al código que necesito. |
| Bien, entonces esto ... esto es todo lo que necesitamos. Se capturaron nuestros pasos de curación de datos. Todo lo que tenemos que hacer para crear un script de curación de datos reproducible es ir al triángulo rojo y guardaremos el script en una nueva ventana de script. |
| el paso de importación, el paso de la columna de eliminación, el paso de la tasa de desecho en movimiento. Todos esos pasos están aquí en el guión. |
| Tenemos el color de sintaxis para ayudarnos a leer el guión. Tenemos todos estos útiles comentarios que nos dicen exactamente lo que estábamos haciendo en cada uno de esos pasos. |
| Bien, entonces esto es todo. Esto es todo lo que necesitamos y voy a salvarlo. Lo guardaré en mi escritorio como importación y limpieza ... llamémoslo importar y seleccionar componentes. |
| Correcto, ese es nuestro guión de curación de datos reproducible. Entonces, si volviera a la ventana de inicio de JMP y cerrara todo excepto nuestro nuevo script, |
| esto es lo que hacemos si necesito reproducir esos pasos de curación de datos. Acabo de abrir el archivo de secuencia de comandos y podemos ejecutarlo haciendo clic en el botón Ejecutar secuencia de comandos. Abre los datos, hace toda la limpieza, hace los subconjuntos y crea ese nuevo archivo de datos con 313 filas. |
| Imaginemos ahora que necesitamos reproducir esto en nuevos datos. |
| Tengo otra versión del archivo Componentes. Se llama Componentes B. Tiene 50 filas más, por lo que en lugar de 369 filas, tiene 419 filas. Imagínese que, ya sabe, hemos ejecutado el proceso para otros 50 lotes y tenemos más datos. |
| Entonces se llama Componentes B y quiero ejecutar este script en los componentes B. Pero notará que a lo largo del script está llamando a Componentes A varias veces. Así que solo tendremos que buscar y reemplazar los Componentes A y cambiarlos a Componentes B. Aquí vamos. Editar. |
| Buscar. |
| Encontraremos los Componentes A, los reemplazaremos por los Componentes B. Reemplazaremos todos. Se han reemplazado 15 apariciones. |
| Puedes verlo aquí y aquí. |
| Y ahora simplemente volvemos a ejecutar el script, y ahí está la nueva versión de los datos. Puede ver que tiene más filas, de hecho, estaba apagado. Antes eran 313, ahora son 358. |
| Muy bien, un script de curación de datos reproducible que puede ejecutarse con datos nuevos. |
| Bien, aquí está esa hoja de trucos una vez más. Esto estará en los materiales que guardamos con la charla, para que puedas acceder a esto y encontrarlo. Y esto le dice cómo apuntar y hacer clic en su camino a través de la curación de datos y dejar un buen guión de curación de datos reproducible y reproducible. |
| Ese script que creamos no requirió que hiciéramos ningún código en absoluto, pero voy a darte solo un puñado de consejos, cuatro consejos que puedes usar. |
| para mejorar los scripts solo un poco. El primer consejo es insertar esta línea al comienzo de sus scripts. Es algo bueno para todas sus secuencias de comandos. Simplemente inserte los nombres de línea predeterminados aquí. |
| Esto es para evitar que su secuencia de comandos interactúe con otras secuencias de comandos. Se llama colisión de espacio de nombres y realmente no tienes que entender lo que hace, simplemente hazlo. Es algo bueno que hacer. Es una buena práctica de programación. |
| El segundo consejo es asegurarse de que haya puntos y comas entre las expresiones JSL. |
| El registro mejorado lo hace automáticamente. Coloca el punto y coma requerido entre cada paso. Sin embargo, si realiza alguna modificación usted mismo, querrá asegurarse de que esos puntos y comas estén colocados correctamente. Así que solo unas palabras para los sabios. |
| Añadir comentarios. |
| Los comentarios son una forma de dejar notas en el programa y dejarlas de tal manera que no estropees el programa, ¿verdad? Es una forma de |
| deje algo en el programa que no será interpretado por el intérprete JSL. Y hay notas que le ha dejado el registro mejorado ... la grabación de acciones en el registro mejorado le ha dejado, pero puede modificarlas y agregarlas, si lo desea. Así que aquí están los puntos principales sobre los comentarios. |
| El formato típico es de dos barras y todo lo que sigue a las barras es un comentario. Entonces puede hacerlo al principio de una línea o también al final de la línea. Entonces, el intérprete ejecutará esta expresión JSL X = 9, pero luego ignorará todo después de las barras. |
| También puede, si tiene un comentario más largo, puede usar este formato, que es un / * al principio y un * / al final. Eso incluye un comentario. Por lo tanto, los comentarios son útiles para dejar notas para usted, pero también son útiles para depurar su script JSL. |
| Si desea eliminar una línea de código y hacer que no se ejecute, simplemente puede comenzar con esas dos barras y, si desea hacerlo para un fragmento de código más grande, puede usar este formato. Es bueno saber cómo usar los comentarios. |
| El último consejo que les voy a dejar es generalizar las referencias de la tabla de datos. ¿Recuerda cómo tuvimos que buscar y reemplazar para que ese script se ejecutara en un nuevo nombre de archivo, Componentes B? |
| Tuvimos que cambiar 15 instancias en la tabla de datos, en el script. ¿No sería bueno si solo tuviéramos que cambiarlo de una vez, en lugar de 15 veces? Para que pueda hacer que sus scripts sean más robustos |
| generalizando las referencias de las tablas de datos. En lugar de usar los nombres, usaremos una variable JSL para contener esos nombres de tablas. Esto es de lo que estoy hablando. Les mostraré un ejemplo. |
| A la izquierda hay un código que se generó mediante la grabación de acciones en el registro mejorado. |
| Abrimos la tabla de datos de Big Class. Estamos operando en la columna de edad, cambiándola a un tipo de modelado continuo y luego estamos creando una nueva columna calculada, |
| en abierto, lo usamos para realizar el cambio en la columna de edad, y lo usamos aquí. |
| Muy simple, lo que debe hacer para que esto sea más sólido y generalizado. |
| Necesita hacer tres cambios. |
| Este primer cambio aquí, le estamos asignando un nombre. Elegí BC; puedes elegir lo que quieras. Verás mucho DT. |
| Entonces BC es el nombre con el que nos referiremos a esa tabla de datos de Big Class en el resto del script. Y entonces cuando queremos cambiar la edad |
| edad significa tabla de datos BC y la columna de edad en esa tabla de datos. |
| Aquí abajo, estamos enviando un mensaje a la tabla de datos de Big Class, y eso es lo que significa la sintaxis de doble flecha. Así que solo estamos generalizando eso, lo estamos generalizando para que usemos el nuevo nombre para enviar ese mensaje. |
| a la tabla de datos. Y ahora, si necesitamos ejecutar este script en una nueva tabla de datos que tiene un nombre diferente a Big Class, este es el único cambio que debemos hacer. Necesitamos cambiar solo un lugar en el guión. No tenemos que buscar y reemplazar. |
| Bien, luego de esos cuatro consejos, si está listo para llevar su guión de curación al siguiente nivel, aquí hay algunos pasos siguientes. Podría agregar un selector de archivos. No se necesita mucha codificación |
| para cambiarlo de modo que cuando alguien ejecute este script, puedan navegar hasta el archivo en el que quieren que se ejecute en lugar de tener que editar el script manualmente. |
| Así que esa es una buena idea. Si desea distribuir el script a otros usuarios de su organización, puede resumirlo en un complemento de JMP, y de esa manera los usuarios pueden ejecutar el script simplemente eligiéndolo en un menú dentro de JMP. |
| Realmente útil. Y, por último, si necesita ejecutar este script de curación en un horario para actualizar una tabla de datos JMP maestra que mantiene en la red en algún lugar, puede usar el programador de tareas en Windows o el automatizador en Mac OS para hacer eso en un horario. |
| Entonces, en resumen, Mia habló sobre cómo realizar la curación de datos explorando los datos e iterando para identificar problemas. |
| Si automatiza esos pasos, obtendrá los beneficios de la reproducibilidad y esos son la eficiencia, la precisión y la documentación de su trabajo. |
| Para hacer esto en JMP 16, simplemente apunte y haga clic como de costumbre y sus pasos de curación de datos serán capturados por la grabación de acciones que ocurre en el registro mejorado. |
| Y, por último, puede exportar y modificar ese código JSL del registro mejorado para crear su secuencia de comandos de curación de datos reproducible. Con eso concluye nuestra charla. Muchas gracias por su tiempo y atención. |