Vocero | Transcripción |
| Mia Esteban | Bienvenido a la Cumbre de Descubrimiento de JMP. 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 sólo como referencia; No voy a hablar de eso. |
| Y vamos a dividir esta charla en dos partes. Voy a comenzar y hablaré sobre el flujo de trabajo analítico. |
| y hablar sobre creación de datos, lo que entendemos por curación de datos. Y veremos cómo identificar posibles problemas de calidad de los datos en sus datos. |
| Y luego le pasaré la palabra a Jordan, y Jordan hablará sobre la necesidad de reproducibilidad. |
| Compartirá con nosotros una hoja de trucos para la curación de datos y mostrará cómo... cómo curar sus datos en JMP. |
| la grabadora de acciones y el registro mejorado. |
| Entonces, 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 se pueden compilar datos de varias fuentes diferentes y traerlos en un JMP. |
| Y al final, debemos 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 datos nuevos o actualizados, ¿puede repetir fácilmente su análisis y, en particular, los pasos de conservación de datos sobre estos nuevos datos? Esto es lo que estamos abordando en esta charla. |
| Pero ¿qué es exactamente la curación de datos? |
| ¿Y por qué debemos preocuparnos por eso? |
| Bueno, la curación de datos consiste en garantizar que nuestros datos sean útiles para impulsar descubrimientos analíticos. Fundamentalmente, debemos poder resolver los problemas que intentamos abordar. |
| Y se trata en gran medida 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, que falten datos o que tenga datos sucios o desordenados. |
| Y para ayudarnos a hablar sobre estos temas, tomaremos prestado algo de 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 análisis de datos exploratorios. |
| Y debido a la naturaleza iterativa e interactiva del análisis exploratorio de datos 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 mucho prestado de esta lección a lo largo de esta charla. |
| Analicemos cada una de estas cuestiones. Formato incorrecto. ¿Qué queremos decir con formato incorrecto? Bueno, esto es cuando sus datos están en la forma incorrecta o en el formato incorrecto para el análisis. Esto puede aplicarse a la tabla de datos en su conjunto. Entonces, por ejemplo, es posible que tengas |
| 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 separadas y necesite concatenar, actualizar o unir las tablas de datos. |
| Puede relacionarse con variables individuales. Entonces, por ejemplo, es posible que tenga el tipo de modelado incorrecto. O es posible que tenga fechas en su tabla de datos, por lo que es posible que tenga columnas de fechas y que no estén formateadas como días, por lo que el análisis podría no reconocer que estos son... estos son datos de fechas. |
| El formato también puede ser cosmético. Entonces, por ejemplo, si estás tratando con una tabla de datos grande, es posible que tengas muchas columnas... |
| es posible que tenga nombres... nombres de columnas que no sean realmente reconocibles y que quizás desee cambiar. |
| Es posible que tenga muchas columnas que desee agrupar para hacerlo un poco más manejable. |
| Es posible que su columna de respuesta esté al final de la tabla de datos y es posible que desee subirla. Por lo tanto, los problemas cosméticos no necesariamente obstaculizarán 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 una 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 podría tener una variable objetivo que le interese y que esté desequilibrada, por lo que podría estar estudiando algo como defectos. Puede que sea solo el 5% de tus observaciones. |
| son para defectos y es posible que no tenga suficientes datos, ya que ya sabe, es posible que solo tenga un subconjunto muy pequeño de sus datos |
| donde está presente el defecto. 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. |
| Los datos faltantes se producen cuando faltan valores para las variables, y esto puede adoptar 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 faltan datos completamente al azar, esto podría no ser un problema si solo faltan unas pocas observaciones, pero si faltan muchos datos, entonces esto puede ser problemático. |
| Los datos sucios y desordenados ocurren cuando tienes problemas con las observaciones o con las variables. Por lo tanto, es posible que tenga valores incorrectos, los valores simplemente son incorrectos. |
| Es posible que tengas inconsistencia. Entonces, por ejemplo, es posible que tenga errores tipográficos cuando las personas ingresan las cosas de manera diferente. |
| Los valores pueden ser inexactos. Por ejemplo, es posible que tenga problemas con su sistema de medición. Puede haber errores, puede haber errores tipográficos, los datos pueden estar obsoletos. |
| Los datos obsoletos son cuando se tienen 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. |
| lo que significa que esos datos históricos podrían no ser relevantes para el proceso actual tal como está hoy. Es posible que sus datos sean censurados o truncados. |
| Puede tener columnas redundantes, que son columnas que contienen esencialmente la misma información. O es posible que haya duplicado las observaciones. |
| Por lo tanto, los datos sucios o confusos pueden adoptar muchas formas diferentes. |
| Entonces, ¿cómo se identifican problemas potenciales? |
| Bueno, un buen punto de partida es explorar sus datos y, de hecho, identificar problemas lo lleva a la exploración y luego al análisis de los datos. 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 durante el resto de esta charla llamado Componentes, y este es un ejemplo del curso STIPS. |
| donde está una empresa produce componentes pequeños y tiene problemas con el rendimiento. Entonces se recopilaron los datos, hay 369 lotes. Se han capturado 15 características 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 qué tipos de problemas de calidad de datos podríamos tener. Y un punto de partida realmente bueno (y esto se agregó en JMP 15) |
| Estos son los gráficos de encabezado. Me encantan los gráficos de encabezado. Lo que hacen es, si tienes una variable continua, que te muestre un histograma, para que puedas ver el centrado, la forma y la extensión de la distribución. |
| También le muestran el rango de los 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. |
| Los números de lote son algo que probablemente sea un identificador, así que desde el principio 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 hacerme hacer preguntas sobre la viabilidad de tener un número de desechos negativo. |
| El proceso es otro. Básicamente tengo 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, 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. Estas son cosas que tal vez querríamos cambiar. |
| También podemos mirar los datos en sí. Entonces, por ejemplo, cuando miro la humedad (y el contexto es realmente importante cuando miras tus datos), la humedad es algo que consideraríamos 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 a JMP. Entonces, esto es algo que vemos que vamos a necesitar arreglar desde el principio. |
| Y también puedo mirar las otras columnas. Entonces, por ejemplo, Proveedor, veo que me faltan algunos valores. Cuando extraes datos a 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 somos consistentes en la forma en que se ingresaron los datos. |
| Así que estoy obteniendo algunas pistas serias sobre algunos problemas potenciales con mis datos. |
| Note todos los puntos. La temperatura es una variable continua y donde veo puntos, indica que me faltan valores. Entonces, la temperatura es algo 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 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 columna N faltante. Y aquí puedo ver que me faltan 265 de los 369 valores de temperatura, así que esta es una brecha importante aquí si creemos que la temperatura va a ser importante en el análisis. |
| También puedo ver si tengo algunos valores extraños. Entonces, cuando miro cosas como los mínimos y máximos para el número de desechos y la tasa de desechos, obtengo valores negativos. Y si esto no es factible, entonces tengo un problema con los datos o el sistema de recopilación de datos. |
| También es bastante fácil ver errores de codificación de variables. Así, por ejemplo, la instalación y el número de lote, que probablemente deberían codificarse como nominales, informaban una media y una 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 dispersió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. Así, 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 grupos con otra categoría para aquellos clientes de 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 mirando en los datos del proveedor. Por ejemplo, Cox Inc y Cox, Anderson se escriben de tres maneras diferentes, Hersh se escribe de tres maneras diferentes. |
| Para la velocidad, observe que tenemos una distribución en forma de montículo que va desde alrededor de 60 a 140 pero, en la parte inferior, vemos que hay uno o dos valores. |
| 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 en 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 desecho y el número de desecho, veo que tengo algunas bandas. Y es posible 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 en esta banda morada es donde tengo un tamaño de lote de 5000. |
| Y tengo muchas más oportunidades para desechar con un tamaño de lote más grande que con un tamaño de lote más pequeño. Eso podría tener algún sentido, pero también veo algo que no tiene sentido. Estos dos valores están aquí en el rango negativo. |
| Así que es bastante fácil verlos cuando observo datos en dos dimensiones. |
| Puedo agregar dimensionalidad adicional a mis gráficos usando conmutadores de columnas y filtros de datos. |
| Esto también me lleva a un análisis potencial, por lo que podría estar interesado en comprender cuáles son las x que podrían ser importantes y que podrían estar relacionadas con la tasa de desechos. |
| Y al mismo tiempo, observe los problemas potenciales o los problemas de calidad de los datos. Entonces, para la tasa de desperdicio, parece que existe una relación positiva entre la presión y la tasa de desperdicio. |
| No parece que haya demasiada relación. La tasa de desechos versus la temperatura es bastante plana, por lo que no está sucediendo mucho 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 destacarse. |
| Por lo tanto, 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 cerca de 0 es válido o no. |
| Entonces hemos mirado la tabla de datos. Hemos analizado los datos una variable a la vez. Hemos analizado los datos 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 valores faltantes) que están más allá del alcance de este curso o de esta charla. |
| Y cuando empiece a analizar sus datos, probablemente identificará problemas adicionales. Entonces, por ejemplo, si tienes muchas categorías de variables categóricas |
| e intentas ajustar una interacción en un modelo de regresión, sabes que JMP te advertirá que realmente no puedes hacer esto. Entonces, cuando comienza 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 analiza sus datos. Y algunos de estos pueden ser |
| corregido a medida que avanza, por lo que puede ocultar y excluir valores, puede remodelarlos, 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 sabes que vas a repetir este análisis o que alguien más querrá repetirlo, |
| entonces querrás asegurarte de capturar los pasos que estás dando para que tengas reproducibilidad. Alguien más puede reproducir sus resultados, o usted puede repetir su análisis más tarde. Así que aquí es donde le voy a ceder la palabra a Jordan, y Jordan va a |
| Hable sobre la curación de datos reproducibles. |
| Jordan Hiller | Vale, gracias Mía. |
| Hola, soy Jordan Hiller. Soy ingeniero de sistemas para JMP. Profundicemos un poco y hablemos un poco más sobre la reproducibilidad. |
| para la curación de sus datos. |
| Mia presentó muy bien esta idea, pero demos 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 veo tres beneficios principales al hacer esto. La primera es la eficiencia. Si es necesario... si sus datos cambian y necesita repetir estos pasos de curación en nuevos datos en el futuro, |
| Es mucho más eficiente ejecutarlo una vez con un script de un solo 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, que tal vez esté subestimada. Si tiene un guión, éste documenta los pasos que |
| tomó. Es un rastro de migas de pan que puedes revisar más adelante cuando, inevitablemente, tengas que volver a visitar este proyecto y recordar, ¿qué es lo que hice para preparar estos datos? |
| Tener ese guión es de gran ayuda. Así que hoy vamos a analizar un caso de estudio. Voy a mostrarte cómo generar uno de estos scripts de curación de datos reproducibles. |
| usando sólo 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, apuntando y haciendo clic. Mientras hacemos esto, |
| El script que necesitamos, el código de computadora (se llama código JSL, JSL para lenguaje de scripting JMP) será capturado automáticamente para nosotros. |
| 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, sólo 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 hacerlos en JMP 16 de manera que deje ese rastro de migas de pan, de manera que deje el script JSL en el registro mejorado. Por lo tanto, cubre cosas 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 se captura en el registro mejorado, pero esto es lo más importante que está a su alcance. |
| Muy bien, entremos en nuestro caso de estudio usando el archivo de componentes que Mia presentó y hagamos nuestro script de curación de datos en JMP 16 usando el registro mejorado. |
| Aquí estamos en JMP 16. Señalaré que esta es la última versión del programa de usuarios pioneros de JMP 16, por lo que 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í. Les mostraré cómo es esto, pero les daré una vista previa rápida, si tuviera que realizar 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 el script 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 necesites simplemente apuntando y haciendo 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 |
| sección para el registro y puede volver a la vista de texto anterior del registro, si lo prefiere. El valor predeterminado al instalar JMP 16 es el registro mejorado y hablaremos de 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 ir |
| el tronco por ahora del triángulo rojo. Borre el registro y comencemos con nuestro estudio de caso. Importemos los datos de los componentes que Mia estaba compartiendo contigo. Comenzaremos desde este archivo csv. |
| Entonces |
| Voy a realizar el tipo de importación más simple simplemente arrastrándolo. Oh, tenía... ya tenía una versión abierta. Lo siento, déjame empezar cerrando la versión anterior. |
| y borre el registro una vez más. |
| Bien, 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. voy a encender |
| los gráficos de encabezado. Y lo primero que podemos ver es que la columna de instalaciones tiene solo una entrada, un valor, FabTech, por lo que no hay variación, nada interesante aquí. Simplemente voy a eliminarlo con un clic derecho, eliminar la columna. |
| Y nuevamente, eso se captura a medida que avanzamos en el registro mejorado. |
| Vale, ¿qué más? Imaginemos que esta columna de tasa de desperdicio cerca del final de la tabla es realmente importante para nosotros y me gustaría ver una anterior en la tabla. Voy a moverlo a la cuarta posición. |
| tomándolo en el panel de columnas y arrastrándolo justo 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 aparezca como una variable de carácter. Así que arreglemos eso. Vamos a entrar en la columna info 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 simplemente hagamos clic en el registro aquí y podrán ver que ahora tenemos cuatro pasos que se han capturado y continuaremos. |
| Muy bien, ¿qué sigue? Tenemos varias variables que deben cambiarse de continua a nominal. Estos 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 ellos han sido corregidos. |
| Y nuevamente, podemos ver que esos tres pasos están registrados aquí en el registro. |
| Muy bien, ¿qué más? Otra cosa un poco cosmética, 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 quedará capturado en el registro. |
| El proveedor. Mia nos mostró que hay algunas, ya sabes, ortografías inconsistentes. Probablemente haya 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 abordar este problema. Entonces con el clic derecho en proveedor, pasaremos a recodificar. |
| Y agrupémoslos apropiadamente. Voy a empezar con algunas opciones del triángulo rojo. Convirtamos todos los valores a mayúsculas y minúsculas, |
| También recortemos ese espacio en blanco, para corregir el espaciado inconsistente. Eso ya ha corregido un par de problemas. Corrijamos todo lo demás manualmente. Voy a agrupar a los Anderson. Voy a agrupar a los Cox. |
| Agrupa los Hershes. Trutna y Worley ya tienen razón con una sola categoría. Y la última corrección que haré son las cosas que, ya sabes, aparecen como en blanco o faltantes, les daré una descripción explícita. |
| Falta etiqueta aquí. |
| Muy bien, y cuando hagamos clic en recodificar, |
| Hemos realizado esas correcciones en una nueva columna llamada proveedor 2. |
| Eso solo tiene 1, 2, 3, 4, 5, 6 categorías corregidas y colapsadas. |
| Bien. |
| Bien, hagamos un cálculo. Aquí vamos a calcular el rendimiento, utilizando el tamaño del lote y el número desechado. |
| Bien. 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 solo por el bien del argumento, realizaremos |
| el cálculo. Entonces quiero que esa columna de rendimiento se inserte justo después del número descartado, así que resaltaré el número descartado y luego iré al menú de columnas y elegiré una nueva columna. |
| A esto lo llamaremos rendimiento. |
| Y vamos a insertar nuestra nueva columna después de la columna seleccionada, después del número eliminado, 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. |
| Entonces ese es el número de unidades buenas y vamos a dividirlo todo entre |
| el tamaño del lote. |
| Número de unidades buenas 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 desperdicio de uno menos. Eso es... eso es bueno e ignoremos, por ahora, el hecho de que tenemos algunos rendimientos superiores al 100%. |
| Bien, casi hemos terminado. Sólo algunos cambios más. He notado 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. |
| Añade eso. |
| Y dos representa experimental. |
| Añade eso. |
| Haga clic en Aceptar. Bien. Muestra uno y dos en los gráficos del encabezado, pero producción y experimentales aquí en la tabla de datos. |
| Muy bien, un último paso antes de guardar nuestro guión. Digamos, a modo de argumento, que sólo me interesan los datos... Quiero continuar con el análisis sólo cuando el vacío esté desactivado. |
| Bien, entonces voy a subconjuntos de 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 el vacío desactivado. |
| y seleccionar celdas coincidentes. |
| Eso selecciona las 313 filas donde el vacío está desactivado. Y ahora iremos al subconjunto de tablas, |
| Cree una nueva tabla de datos, a la 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. |
| Entonces ese es el final. Hemos curado todos nuestros datos y ahora regresemos y revisemos el registro y aprendamos un poco más sobre lo que tenemos. |
| Bien, todos esos pasos, y además algunos más que no tenía intención de seguir, 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 lo necesitaba... Realmente no necesito que eso forme parte de mi guión. |
| Borrando las filas seleccionadas, eliminémoslas. Simplemente haré 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 vuestra atención sobre el origen y el resultado. Esto es bastante ingenioso. |
| Cada vez que damos un paso, cada vez que hacemos una acción apuntando y haciendo clic, 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... optemos por cambiar la información de la columna por humedad. El origen, la cosa en la que lo hicimos. |
| era la tabla de Componentes A, y la vemos aquí como la tabla de datos. Cuando paso el cursor sobre él, dice Traer los componentes A al frente, así que al hacer clic en eso, sí, eso nos lleva a la tabla de Componentes A. Muy lindo. |
| 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 es para ayudarnos a realizar un seguimiento de nuestras actividades en diferentes tablas de datos. Hicimos todas estas actividades en la tabla de datos de los Componentes A. |
| y en 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 ayudarte a realizar un seguimiento de las cosas. |
| Muy bien, la última característica que quiero mostrarles aquí en el registro es... esa es |
| Es útil que si tienes una serie de pasos muy larga y solo necesitas encontrar uno, este cuadro de filtro te 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. Nuestros pasos de curación de datos fueron capturados. Todo lo que necesitamos 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 eliminar columna, el paso de mover la tasa de rechazo. 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 comentarios útiles que nos dicen exactamente qué estábamos haciendo en cada uno de esos pasos. |
| Bien, entonces esto es todo. Esto es todo lo que necesitamos y voy a guardarlo. Lo guardaré en mi escritorio como importación y limpieza... llamémoslo importar y seleccionar componentes. |
| Bien, ese es nuestro script 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 repetir 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, realiza toda la limpieza, realiza los subconjuntos y crea ese nuevo archivo de datos con 313 filas. |
| Imaginemos ahora que necesitamos reproducir esto con 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. Imagine que hemos ejecutado el proceso para otros 50 lotes y tenemos más datos. |
| Se llama Componentes B y quiero ejecutar este script en los componentes B. Pero notarás que a lo largo del script se llama al Componentes A varias veces. Así que simplemente tendremos que buscar y reemplazar los Componentes A y cambiarlos a los Componentes B. Allá vamos. Editar. |
| Buscar. |
| Encontraremos los Componentes A, los reemplazaremos con los Componentes B. Reemplazaremos todos. Se han reemplazado 15 ocurrencias. |
| Puedes verlo aquí y aquí. |
| Y ahora simplemente volvemos a ejecutar el script y ahí está la nueva versión de los datos. Puedes ver que tiene más filas, de hecho, estaba apagado. Antes eran 313, ahora son 358. |
| Muy bien, entonces 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 guardemos con la charla, para que puedan acceder a él y encontrarlo. Y esto le indica cómo apuntar y hacer clic en su camino a través de la curación de datos y dejar un buen script de curación de datos reproducible y reproducible. |
| Ese script que creamos no requirió que hiciéramos ningún tipo de codificación, pero te daré solo algunos consejos, cuatro consejos que puedes usar. |
| para mejorar los guiones un poco. El primer consejo es insertar esta línea al principio de sus scripts. Es algo bueno que puedes hacer con todas tus secuencias de comandos. Simplemente inserte aquí los nombres de línea predeterminados. |
| Esto es para evitar que su script interactúe con otros scripts. Se llama colisión de espacio de nombres y realmente no es necesario entender lo que hace, simplemente hacerlo. Es algo bueno que hacer. Es una buena práctica de programación. |
| El segundo consejo es asegurarse de que haya punto y coma entre las expresiones JSL. |
| El registro mejorado hace esto 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 sólo unas palabras para los sabios. |
| Añadir comentarios. |
| Los comentarios son una forma de dejar notas en el programa y dejarlas de manera que no estropees el programa, ¿verdad? Es una manera de |
| deje algo en el programa que no sea interpretado por el intérprete JSL. Y hay notas que el registro mejorado le dejó... la grabación de acciones en el registro de mejora le dejó a usted, pero puede modificarlas y agregarles, si lo desea. Aquí están los puntos principales sobre los comentarios. |
| El formato típico es dos barras y todo lo que sigue a las barras es un comentario. Entonces puedes 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 lo que esté después de las barras. |
| También puedes, si tienes un comentario más largo, usar este formato, que es /* al principio y */ al final. Eso incluye un comentario. Por lo tanto, los comentarios son útiles para dejar notas para usted mismo, 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, puede simplemente anteponerle esas dos barras y, si desea hacerlo para una porción más grande de código, puede usar este formato. Es bueno saber cómo utilizar los comentarios. |
| El último consejo que les dejaré es generalizar las referencias a las tablas de datos. ¿Recuerdas cómo tuvimos que buscar y reemplazar para que ese script se ejecutara con 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 sólo tuviéramos que cambiarlo una vez, en lugar de 15 veces? Para que puedas hacer tus scripts más robustos |
| generalizando las referencias a 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. Te mostraré un ejemplo. |
| A la izquierda hay un código que se generó mediante la grabación de acciones en el registro mejorado. |
| Estamos abriendo 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, |
| Al abrir, lo usamos para realizar el cambio en la columna de edad y lo usamos aquí. |
| Muy simple, lo que hay que hacer para que esto sea más sólido y generalizado. |
| Necesitas hacer tres cambios. |
| Este primer cambio aquí, le estamos asignando un nombre. Elegí BC; puedes elegir lo que quieras. Verás mucho al 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 así cuando queremos cambiar la edad |
| edad significa la tabla de datos de 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. Entonces simplemente 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 cuyo nombre no sea Big Class, este es el único cambio que debemos realizar. Necesitamos cambiar solo un lugar en el guión. No tenemos que buscar y reemplazar. |
| Bien, después de esos cuatro consejos, si estás listo para llevar tu guión de curación al siguiente nivel, aquí tienes algunos pasos a seguir. Podrías agregar un selector de archivos. No se necesita mucha codificación |
| para cambiarlo de modo que cuando alguien ejecute este script, pueda simplemente navegar hasta el archivo en el que desea que se ejecute en lugar de tener que editar el script manualmente. |
| Esa es una buena idea. Si desea distribuir el script a otros usuarios de su organización, puede incluirlo en un complemento 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 según una programación para actualizar una tabla de datos JMP maestra que mantiene en algún lugar de la red, puede usar el programador de tareas en Windows o el automatizador en Mac OS para poder hacerlo. eso en un horario. |
| 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, que son eficiencia, precisión y 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 desde el registro mejorado para crear su script de curación de datos reproducible. Esto concluye nuestra charla. Muchas gracias por su tiempo y atención. |