SS_Logo

Estimadores de Machine Learning en modelos construidos con Stella Architect

Autor: Alexander Cortés Llanos / Portafolio: Software / Jue. 13 de Jun de 2024

Transcripción de este video

00:00:30:08 Software Show la empresa líder en la implementación de herramientas analíticas y software especializado en Latinoamérica. Les doy la bienvenida a esta presentación. El día de hoy contamos con el acompañamiento del Instructor Alexander Cortesanas, Ingeniero electrónico de la Universidad de Magister en Ingeniería Electrónica y de Computadores de la Universidad de los Andes en Colombia. Experiencia de diez años en docencia universitaria para pregrado y posgrado.

00:00:57:27 Cuenta con tres años de experiencia como director de programa en Ingeniería, además de 17 años en proyectos de la industria enfocados a la automatización de procesos industriales, sistemas aeronáuticos, telecomunicaciones y energías. Implementador y auditor interno de la Norma ISO 50.001 2018 para sistemas de Gestión de Energía. Bienvenidos buenos días para todos. Buenas tardes. Buenas noches donde se encuentren en el día de hoy.

00:01:28:23 ¿Eh? Hemos querido plantear una charla un poco en la línea que habíamos planteado desde nuestra última conferencia, relacionado con un poco la integración y los análisis offline, pero no solamente unos análisis que tengan que ver con los datos que nos arroja el modelo, sino también con el modelo propiamente perdón. En el día de hoy. ¿Entonces vamos a hablar un poco sobre los estimadores de machine learning en modelos construidos bajo este plan, eh?

00:01:55:03 Con un ejemplo particular. Digamos que el área de Machine Learning, eh bueno, es una área dentro de todo este concepto de inteligencia artificial y dentro de la parte analítica. Entonces, pues vamos a tratar de hacer un ejemplo que muy probablemente eh va a dejar como el preámbulo para que ustedes se están interesados. Digamos que en profundizar sobre el tema, lo hagan a partir pues de estas orientaciones que vamos a plantear en el día de hoy.

00:02:32:11 Entonces vamos a tener pues unos puntos, eh, Para el desarrollo de nuestra agenda. Vamos a hablar inicialmente del modelo eh construido en en este la arquitectura. ¿Después lo vamos a llevar entonces a un notebook en Python y pues en Python eh? Ya podemos utilizar las librerías de EH Machine Learning y empezamos un poco a hacer el análisis y lo que queremos con con esta, con, con, con estas funciones o estimar unas nuevas funciones y por último inquietudes si las existen o preguntas por parte de ustedes.

00:03:00:15 ¿Inicialmente perdón, lo que tenemos es que cuando nosotros construimos los modelos en la dinámica de sistemas o o utilizando otro enfoque basados en agentes o eventos discretos, eh Nosotros relacionamos los elementos a partir de ecuaciones analíticas, no? Entonces vamos a tener, eh, la posibilidad de establecer, eh, no sé, eh, ciertas operaciones matemáticas o, como es el caso en Estrella.

00:03:38:20 Tenemos también funciones incorporadas. Entonces voy a venir aquí un poquito ya al software para contextualizar un poco lo que estamos haciendo. Entonces cuando llegamos yo, eh, quiero, eh, en esta tasa, si en este, en este elemento que tenemos acá hablar un poco sobre eh, la ecuación que tenemos, fíjense que al lado derecho de nuestra, de nuestra caja de ecuaciones, tenemos una ecuación analítica, que es pues un porcentaje multiplicado por otra variable dividido por otra variable.

00:04:31:20 Sí. Eh, En algunos momentos digamos que estas ecuaciones necesitamos, eh, mejorarlas o realmente no representan esa relación real que quisiéramos en nuestro modelo. Y también en algunas ocasiones utilizamos las tablas de búsqueda o tablas de Lokad. Aquí tenemos utilizadas unas eh. Aquí tenemos la función locate en donde estamos utilizando una gráfica que tiene que ver con eh. Una variable es esta gráfica y sobre ese sobre esos valores que tenemos en la gráfica que pues básicamente son unos valores tabulados, buscamos un valor que viene aquí evalúa si ya venimos acá para explicar un poco el modelo, simplemente eh, para tener un contexto, entonces estamos hablando un poco de estas ecuaciones que tenemos acá, en este caso,

00:05:00:17 ¿eh? ¿La tasa de de efectos eh, o acá también que nos habla de un número de empleados con otras variables, entonces tenemos variables analíticas o podemos determinar también la parte de, EH, las tablas de búsqueda o local, cierto? ¿Qué es lo que pasa? Que en algunos momentos, pues esos elementos o esas, eh, representación matemática no están, eh, exacta o no es tan precisa.

00:05:33:13 ¿Y es allí donde podemos entrar a utilizar, eh, algún algoritmo de machine learning, eh? ¿Y eso es lo que tenemos en el segundo punto, no? ¿Entonces no pueden estar bien estimadas esas ecuaciones o esas funciones, eh? Y lo que hacemos y bueno, y no pueden estar bien estimadas porque muy probablemente no solamente, eh, eh, dependen perdón, de unas de una entrada y una salida, sino puede representar varias entradas y una salida.

00:06:04:04 Entonces eso lo vuelve un poquitico más complicado. En el día de hoy vamos a trabajar con un ejemplo. Sí, eh, que es un ejemplo también clásico en temas de defectos de manufactura. Entonces, eh, lo que tenemos allí son es un ejemplo sencillo, lo pueden visualizar en la pantalla, pero vamos pues a este a para revisarlo en detalle. Entonces, básicamente que acá lo que queremos eh representar y modelar y simular también es la cantidad de retrasos.

00:06:42:05 Backlog Sí. La cantidad de retrasos de un las piezas. Entonces tenemos una una línea de manufactura o un proceso de manufactura y tenemos algunas variables. Entonces Backlog va a ser como esas piezas de retraso. ¿Entonces ustedes saben que muy probablemente en algunos momentos en procesos de manufactura donde se busca la homogeneidad, la cadena y la calidad de los productos por errores de las máquinas, por material, pues pueden haber algunos errores de efecto, entonces esos vamos a tener aquí como unas unidades de de retraso eh?

00:07:20:22 ¿Y esas unidades de retraso dependen de dos entradas, un tiempo de llegada de ese tiempo que en este caso el tiempo de llegada lo estamos eh simulando, eh? A partir del tiempo 20 del tiempo 20. Y vamos a mirar en qué unidades está el tiempo. Tiempo 20. Entonces nos coloca una amplitud, Sí, Entonces está dentro de un tiempo nos va a, eh, a colocar un número de unidades, un número de piezas que llegan y si no, pues no, Entonces es como si estuviera llegando, como por lotes.

00:07:47:10 Los productos. Sí. Entonces tenemos un tiempo de llegada y una tasa de cumplimiento. Entonces esa tasa de cumplimiento va a depender del número de empleados por, EH, el largo del día, o sea, la jornada de trabajo dividido sobre el tiempo asignado por cada unidad. ¿Cuántos empleados tenemos inicialmente? ¿Dos en esa línea de manufactura? Son las variables que tenemos en la parte inicial.

00:08:19:06 Ahora, nuestro modelo está en días. Estamos contemplando 50 días de producción y tenemos entonces un delta de tiempo, o sea, la división cada vez que hacemos o el software hace, eh, el análisis es casi de uno, un 64. ¿Ah, sí? Entonces estamos haciéndolo un poco más, eh, Digamos que más, eh, corto en el análisis en tiempo. Eso es como para tener en cuenta.

00:08:47:13 Ahora bien, aquí en nuestro modelo tenemos otras variables. Entonces ya dijimos que los retrasos dependen de la tasa de llegada y de la tasa de cumplimiento, pero la tasa de cumplimiento depende de otras variables y es un tiempo asignado por cada unidad que lo tenemos. En esta parte. Y también tenemos, eh, la longitud del día de trabajo o lo que se conoce como jornada de trabajo.

00:09:30:01 Sí. Y esos tiempos calculan de ese retraso que tenemos del backlog a través de unas, eh, gráficas. Entonces, eh, muchas veces digamos que por la forma en que se comporta, las variables es mejor llevarlas y graficarla. Las. Entonces aquí digámoslo que tenemos 116 puntos, porque ya digamos que la línea de manufactura está eh está caracterizada y nos dice que la influencia de eh de esas cantidades de retraso sobre la velocidad, sí sobre el trabajo y la velocidad, pues tiene una dependencia.

00:09:58:10 Eso es lo que estamos haciendo aquí y también tenemos una influencia de ese backlog de las piezas o ese atraso que tenemos. Entonces hay una un atraso en lo que tiene que ver con la velocidad de trabajo y otro a otra influencia sobre la jornada laboral. Sí. Aquí también la influencia. Esta influencia se está planteando a partir de una gráfica donde tenemos ocho puntos.

00:10:33:23 Entonces ese tiene un comportamiento que como lo ven no es no lineal. Entonces muchas veces es interesante utilizar digamos esta forma los convertidores que tenemos en este de la. Pero pues tenemos una caracterización ya de nuestros de nuestro proceso y acá lo que hacemos en longitud de eh jornada de trabajo es utilizar la función DUKAT, que es básicamente que como yo tengo una característica cierto, una gráfica característica y tengo un dato del backlog, pues vengo y busco ese dato que puede estar en esos datos que yo tengo en la gráfica.

00:11:02:02 Puede ser un dato interpolado y digamos que eso es lo que está haciendo esa función local. Lo mismo acá digamos que el tiempo para para la unidad y eso es dos variables ya utilizando las tablas de búsqueda y el valor que tengo inicialmente del backlog, entonces me ocasiona una tasa de ehh defectos y esa tasa de defectos junto con la longitud de la jornada laboral, pues tiene que ver con la tasa de cumplimiento.

00:11:40:16 Sí. Entonces, ah, ese es nuestro modelo, nuestras variables. Ahora bien, aquí traje como los lazos, eh, que los lazos que aparecen, los lazos de retroalimentación que aparecen en nuestro sistema. ¿Entonces, qué pasa en el momento en que el tiempo cierto por unidad, eh? ¿Digamos que aumenta el tiempo por unidad? ¿Eh? Aumenta. Pues quiere decir que la tasa de cumplimiento va esta vez significa en un lazo de retroalimentación eh, negativo o balanceado.

00:12:12:07 Entonces, mientras que la variable digamos que aumenta, la o, las otras variables van disminuyendo, es el caso de Backlog. ¿Entonces que quiere decir que si el tiempo por unidad aumenta en la línea de producción, cierto? Pues voy a tener un mayor atraso ese backlog. Ahora bien, este lazo de eh la los errores que que pasan o digamos que esa esa posibilidad o haciendo errores eh eh, es un un lazo, eh es es balanceado.

00:12:38:06 Este es de reforzamiento. ¿La reforzamiento quiere decir que en el momento en que aumenta el tiempo, cierto? Pues va a aumentar también la tasa de cumplimiento o mejor va a aumentar la variable atrás. Entonces, mientras que el tiempo de trabajo es más rápido, el atraso disminuye, mientras que el tiempo por unidad de producto es más alto, el backlog se aumenta.

00:13:12:15 Entonces, cuando tenemos esa r de reforzamiento, o sea, es que aumenta. Digamos que esa variable es que tenemos ahí lo mismo acá. Entonces cuando ese es de balanceo, en el momento en que se alarga la jornada laboral, pues quiere decir que el backlog se disminuye, o sea, el atraso se disminuye y tiene sentido, o sea, si yo trabajo más rápido o si se trabaja más rápido, pues el atraso se disminuye o si la jornada laboral se hace más larga, el atraso de productos disminuye, pero si cometo más errores pues los atrasos aumenta.

00:13:59:05 Si eso es un poco lo que quiere decir aquí los las ya teniendo nuestro modelo, entonces pues hacemos la simulación, entonces no tenemos ahí ningún inconveniente y exploramos un poquitico. Digamos que las variables que tenemos. Bueno, aquí digamos que como que limpiemos y hagamos solamente de una simulación, Entonces aquí tenemos, eh, la tasa de efecto, entonces me dice que tiene una tasa del 4.9%, estoy en 50 días, o sea mes y 20 días y sobre el día 20 entonces aparece una tasa de efecto que alcanza, pasa el 4.9% al 11%, casi el doble.

00:14:26:17 Eso es lo que me está mostrando acá. Mhm. ¿Y otra variable que sería interesante revisarla sería el atraso, no? Entonces pasa lo mismo a partir de lo que tengo. Entonces, eh configurado en el día 20 empieza a subir el atraso y llega casi hasta 29, hasta casi 30 eh, piezas de retraso en ese día 29, o sea casi en el mes.

00:14:56:25 Tengo 30 meses de hoy y después pues empieza a disminuir. Sí. Eso es como la configuración que que yo tengo listo. Mmm. ¡Ahora bien, entonces nosotros ya en de pronto si no lo han podido ver o si no estuvieron en la página de de soporte eh, eh! Aparece la grabación del anterior webcast donde importamos el modelo A eh, herramientas de Python a notebook de Python.

00:15:32:11 Sí. Entonces de pronto acá, eh, voy a a saltarme como como cositas, pero pues ahí lo también lo lo vamos explicando. ¿Entonces, eh? ¿Hay dos formas, eh? Digamos que eh, para poder trasladar, digamos, nuestro modelo en un entorno de Python, eh, un digamos que podríamos guardarlo. Entonces tenemos este modelo y lo guardamos guardar como eh, un modelo XML en sí.

00:16:00:10 Entonces aquí ya lo tenía, voy a volverlo a grabar. Entonces cuando lo tenemos en este podemos, eh, trasladarlo en un archivo XML. XML es un archivo que se ha creado como para poder hacer eh en enlace con otro software. Sí, o lo puedo llevar a otro programa que trabaje también dinámica de sistemas y también guardar. ¿Ya les voy a mostrar alguna cosa que pase, eh?

00:16:19:02 ¿Vamos entonces yo digamos que he venido utilizando algo muy sencillo que es Colab, que es un notebook de Python que me parece que no necesita ninguna, eh? A ver que se me hizo.

00:16:50:22 A ver, mejor por acá, que no necesita ninguna instalación adicional. Sí. Entonces con una cuenta de Gmail. Entonces aquí vamos a crear un nuevo notebook. ¿Cuál es la ventaja de utilizar Colab? Pues que digamos que, eh, la instalación de muchas librerías no hay que hacerlas, sino solamente hay que llamarlas. Entonces le colocamos su nombre, defectos, manufactura.

00:17:31:09 Sí. ¿Y empezamos un poco a trabajar, eh? En nuestro notebook ya inicialmente digamos que nosotros hacemos, como todo esos análisis y utilizando una librería desarrollada por el MIT que se llama EH, Pip. SD Sí. Entonces en ese entorno de Colab, pues ese sí hay que instalarlo. Simplemente le decimos basta a, eh, pip install eh, Price. Esa es la librería como que nos permite hacer transformaciones de lo que tenemos en en el software de Estela, eh, u otro software para poder trabajarlo en Python.

00:18:04:20 Entonces aquí digamos que lo instalamos. ¿Lo interesante de este escenario es que pues digamos que nos estamos parando sobre una máquina virtual, sobre algo que nos proporciona Google, eh? Y ahí empieza la instalación, que se demora dos segundos. ¿O sea, ya vamos a terminar entonces por aquí, Fíjense aquí, eh? Bueno, ahí está todavía analizando, pero no se demora mucho.

00:18:32:23 Tan Y ya debe estar por terminar. Entonces esa librería es la librería que nos que nos funciona. ¿Fíjense que ahí ya acabó, simplemente aquí vamos a ocultar los resultados para que podamos ver lo que sigue, eh? Vamos a utilizar entonces, eh, Inicialmente sí, una librerías básicas de de Python. ¿Comenzando por ahí se ve que es la primera, cierto?

00:19:04:21 Entonces importamos la librería que acabamos de instalar, las otras como NumPy, como pandas, como matplotlib, ya están instaladas en ese entorno virtual que nos brinda, eh, Google Colab. Entonces no hay que instalarla, simplemente las llamamos para poder trabajar con ellas. ¿Entonces fíjense que no apareció ningún error y aquí vamos a hacer, voy a mostrarles algo que pasa igual también para que lo tengan en cuenta cuando nosotros utilizamos librerías, eh?

00:19:26:13 ¿Lib sin librerías de uso libre, perdón ahí la redundancia, eh? O librerías que han desarrollado terceros nos exponemos. Digamos que a ciertas cosas, si es que aparezcan errores que tenemos que solucionarlos o que nos pueden ayudar. Yo les dije inicialmente cierto que eh iba exportar.

00:20:02:28 Digamos que mi archivo XML ya eh. ¿En la anterior eh, charla anterior webcast eh, nos funcionó, digamos, exportamos el archivo, eh? Aquí simplemente utilizamos el código que es, eh, model y utilizamos la librería que acabamos de importar. Países de, mmm punto break se parece mucho a cuando uno hace una importación de pandas y aquí, eh. ¿Es mal cierto?

00:20:19:03 Y simplemente traemos el nombre que tenemos acá, en este caso default punto XML.

00:20:26:03 Ahí lo tenemos. En un momento.

00:20:28:28 Mmm.

00:20:38:18 Para SD está el país sede. A ver que nos. Pues ahora desde.

00:20:52:15 De Facebook Tweets. Bueno, vamos a volver a ejecutar este. Vamos a volver a ejecutar este.

00:20:59:00 Ah, perdón, que tengo el el error que es raya al piso.

00:21:29:25 Entonces fíjense que en este caso con este archivo aparece un error que tiene que ver como con eh, la parte de lo. ¿Efectivamente, digamos que como este las eh, digamos actualizaciones muy periódicas, cierto? Entonces aquí ya hay que entrar a mirar, bueno, hablar con los desarrolladores para porque realmente no está recogiendo la tabla de LUCA. Aquí aparece lo cap estructura y dice que tiene tres posiciones ahí está, yo la estoy revisando.

00:21:58:15 ¿Sin embargo, digamos que también nosotros podemos, eh, digamos que ya utilizar en transformaciones de de de modelo no? Entonces en este caso no voy a utilizar el modelo que tenemos en una función de Smith, sino de md l, que es otro tipo de archivo que también soporta. O también hay otras librerías que nos puede digamos que que hacer esa transformación.

00:22:27:14 Entonces como pues eh, ya digamos que me comuniqué o envié un un dato a a a los a los desarrolladores porque pues es una librería de terceros para que de pronto podamos mirar. Pero digamos que lo importante es que ahí tenemos el modelo, ahí hemos traído digamos que el modelo. Mmm. ¿Ahora bien, cuando nosotros hablamos de machine learning tenemos dos partes, tenemos una parte que son datos, cierto?

00:23:09:10 ¿Y con esos datos me ayuda a entrenar el modelo, cierto? Entonces cuando hablamos de de del concepto de machine learning, tenemos como esa posibilidad. Entonces ya digamos que entrando un poquitico en en como en el en el fondo en nuestra charla. ¿Entonces cuando hablamos de aprendizaje automático, cierto? Pues ya como les decía, es una rama de inteligencia artificial y lo que tenemos es que eh a partir de algoritmos y modelos que nos permiten hacer predicciones o eh, o decisiones basadas en datos, entonces aquí ya tenemos el modelo, Si que nos hace falta los datos y después aplicamos el el algoritmo.

00:23:40:23 ¿Entonces vamos a ir acá eh? Son unos datos que han sido creados, eh creados aleatoriamente. Entonces vamos a a importarlos por acá, los tengo en un archivo CSV. Si simplemente es un script en donde se crearon los archivos con, eh tres cuatro columnas, ya los vamos a mirar. Entonces vamos a crear aquí un código y ese código vamos a tener un dataframe.

00:24:06:13 Sí. Entonces lo que estoy diciendo es vamos a importar, eh, los datos que están en esa en ese archivo de valores separados por comas. Y voy a leer los cinco primeros a ver como qué es lo que tengo aquí. Entonces fíjense que lo que tengo tengo, eh, día de trabajo, tengo tiempo por tarea y tengo una tasa por defecto.

00:24:35:02 Si acá tengo una tasa por defecto, tengo una longitud del día que este va a ser esa variable y tengo un tiempo, o sea, tengo esta variable, tengo esta, esta y esta eh, Aquí las tengo en el modelo, pero acá las tengo en unos datos que vamos a hacer con esos datos. ¿Pues vamos, digamos que a entrenar, cierto?

00:25:00:10 Nuestro modelo para poder aplicárselo. Pues perdón, vamos a colocar un algoritmo que utilice los datos cierto para poder hallar una ecuación o una función o un dato que nos permita mejorar lo que tenemos en el modelo. Entonces, por un lado tenemos el modelo que ya lo importamos. Por otro lado, tenemos unos datos, sí, de EH que también nos hablan.

00:25:28:09 Pueden ser unos datos medidos en este caso, pues los he creado artificialmente y eh, trabajo tiempo por tarea y tasa de efecto. Y ahora lo que vamos a hacer vamos a a entender un poquitico esos datos que tenemos allá, esos datos que acabamos de traer. Entonces vamos simplemente a graficarlos. Entonces lo que estoy haciendo acá es en una eh, gráfica de de nube, vamos a graficar esos datos de día de trabajo.

00:25:59:21 ¿El el tiempo que gasta por tarea, la tasa de efecto y pues ya lo otro tiene que ver con la parte de visualización para que se vea digamos que un poco bonito y tenemos lo siguiente Estamos hablando de los datos, no? Acá estamos hablando del modelo, entonces ya entendimos cómo es el comportamiento del modelo. Recuerden que cuando hablamos del modelo, en este la arquitecta estamos hablando tanto de la estructura como del comportamiento.

00:26:27:00 ¿Sí, o sea, cómo se conectan cada uno de los elementos y en el comportamiento cuál es esa ecuación? Acá lo que tenemos en Python es los datos, entonces los datos queremos identificar cómo es el comportamiento de esos datos. Entonces tenemos en la parte de la variable x en la horizontal la longitud de ese día, el tiempo por tarea o el tiempo asignado por tarea y la tasa de defectos.

00:26:57:29 Entonces tiene digamos que la intensidad o unos colores que puedo digamos que empezar a explorar en estos datos que tengo. ¿Y es que, eh, entre más eh? Amarillo, cierto o verde, mejor. La tasa de defecto aumenta. Entonces fíjense que si yo me voy para la parte de EH punto 40 en la longitud del día, sí, casi que en la mitad del día los defectos empiezan a ser mayor.

00:27:26:07 Es cuando la el tiempo por tarea es menor, o sea, si se demora mucho y puede ser, digamos que hay una máquina que está haciendo alguna alguna perforación y si no se le da el tiempo, digamos destinado para ello, la está sacando muy rápido en en ganas, en aras de ganar. Digamos que mejora en esa productividad con la variable tiempo, pues muy probablemente la tasa de defectos está aumentando.

00:27:56:03 Sí. Si yo tengo un tiempo de tarea de punto cero siete con, eh, digamos que está comenzando el día. Esta longitud del día es como el transcurso del día, pues la tasa de efecto, eh, está del orden de 0.02, o sea, del 2%. Sí. Entonces fíjense que tengo entre, eh, Entre menos pasa el día, o sea, arrancando el día tengo menos tasa de efecto con un tiempo, digamos mayor por tarea.

00:28:28:27 ¿Qué quiere decir eso? Que de pronto, a medida que va pasando el día, eh las máquinas o las fricciones, o otros defectos que pueden existir en la línea de manufactura, pues pueden tener una implicación sobre esa tasa de defectos, Entonces ahí lo lleva uno también a pensar en planes, en los planes de mantenimiento, como se está haciendo. O también digamos que el cansancio de los operarios en el momento en que va transcurriendo el día, pues digamos que va aumentando esa tasa de defectos.

00:29:14:07 Entonces tenemos los datos listo, tenemos los datos, tenemos los modelos, vamos a hacer eh, uso este de una librería de Python para eh, el tema de machine learning. Entonces el tema los tipos de machine learning cierto son, digamos que aquí los he traído en en cuatro grandes grupos simplemente como para contextualizar, pero son inmensos. ¿Aquí solamente vamos a utilizar un algoritmo de un tipo de machine learning, que en este caso va a ser máquinas de vectores de soporte, pero para que ustedes pues también digamos que eh, la infinidad que de cosas que se puede hacer, pues también digamos que son muy grandes cuando ya llevamos el modelo a este tipo de ambientes, no?

00:29:50:04 Entonces pues aquí simplemente hay como una clasificación, tenemos aprendizaje supervisado, tenemos aprendizaje no supervisado, tenemos aprendizaje semi supervisado, aprendizaje de refuerzo o deep learning. Si no conozco no coloco digamos que los algoritmos, porque pues la intención no es hablar sobre machine learning, sino de la integración del modelo con EH, la parte de machine learning eh coloco acá porque aquí nos vamos a situar, entonces vamos a trabajar con este eh algoritmo que se llama Máquinas de vectores de soporte.

00:30:24:20 ¿Cada uno de los algoritmos tiene, eh, unas cualidades o unos méritos y tiene unas desventajas o unas dificultades, no? Ya digamos que depende mucho. Como es especialista. Sin embargo, ese esa clase o ese algoritmo que vamos a utilizar de máquinas de vectores de soporte tiene estas cualidades. Entonces digamos que tiene alta eficiencia en espacios con alta dimensión. ¿Si tenemos datos con EH, bueno, perdón, antes que eso tendríamos que revisar, eh?

00:30:54:12 Cuando hablamos de aprendizaje supervisado es cuando trabajamos con datos que están etiquetados. ¿O sea, podemos decir cuál es la entrada, cuál es la salida, cierto? Y a partir de eso, pues se hacen algunas acciones de clasificación de agrupamiento a partir de aprendizaje supervisado. Aprendizaje no supervisado No necesitan, eh, datos etiquetados. Pueden ser un conjunto de datos un poco más crudos y pues a partir de eso pues se hace todo el análisis.

00:31:20:05 ¿Ya entrando, digamos un poco a revisar ese algoritmo en máquinas de vectores de soporte, pues entonces tenemos que existen unas cualidades que si tenemos varias dimensiones nos funciona si el conjunto de datos es pequeño, porque pues acá también digamos que si tenemos más eh, más datos eh? Muy probablemente de pronto no puede ser el algoritmo y puede resolver problemas no lineales sí.

00:31:45:25 Algunas desventajas. Entonces, cuando tenemos datos o un dataset muy grande, de pronto no es tan eficiente, tiene un costo computacional alto. ¿Digamos que para este caso nos funciona, eh? Y muy probablemente si tenemos datos con EH, que hay que hacer como un una depuración, una exploración y una clasificación y tienen algo de ruido, de pronto no nos funciona tan bien.

00:32:21:20 ¿Por qué les hablo de esto? Porque es lo que vamos a acá a trabajar. Entonces vamos inicialmente a eh importar una librería especialista o especializada para toda la parte de EH, Machine learning, que es que si, que learning si eh aquí entonces estamos hablando que tiene eh la librería que tiene un método que se llama eh eh, el método, la máquina de vectores de soporte.

00:32:50:11 Si, que eso es lo que me dice acá. Entonces estoy utilizando esa librería, estoy utilizando, eh, ese algoritmo, máquinas de vectores de soporte. Y voy a hacer también una regresión. Entonces una clase de ese módulo de la librería. Eso es lo que significa. Entonces lo importamos. ¿Listo? No tenemos ningún inconveniente. Y vamos entonces. Acá a utilizar esa librería.

00:33:16:02 ¿Entonces, cómo la vamos a utilizar? Entonces vamos a coger las columnas de Workday de jornada de trabajo, de los datos y el tiempo por tarea de los datos. Esos valores si tenemos una salida, que son la tasa de efecto, que básicamente que es lo que tenemos acá, tenemos dos variables que es la jornada de trabajo, el tiempo por cada tarea, y eso nos arroja pues eh, una tasa de efecto.

00:33:29:21 Si hacemos una regresión utilizando regresión de vectores eh de soporte, regresión de.

00:33:59:13 ¿Y aquí la utilizamos, cierto? Entonces ahí utilizamos la librería. Entonces pues aquí lo interesante y pues digamos que es algo complementario ya digamos que al modelo que tenemos en este la Y es un poco también, pues como nosotros eh traemos esos conocimientos en temas de machine learning para poderlos utilizar. Claro, cuando hablamos de temas de programación, pues es simplemente son unas líneas de código, pero detrás de eso pues hay una fundamentación bien interesante.

00:34:23:09 Entonces aquí estamos utilizando un como una un subconjunto o un algoritmo o una variable. El algoritmo que anteriormente les presenté, que era el de máquina vectores de soporte con regresión de vectores de soporte, que quiere decir que utiliza ese algoritmo pero que utiliza una técnica de regresión para los datos. ¿Entonces he utilizado los datos para entrenar cierto? Mmm.

00:34:58:02 O lo voy a utilizar para entrenar mi modelo. Ahora vamos a crear entonces una función y esa función lo que va a hacer es asignar esta. Esto que acabamos de crear a que aquí me creó. Okay. Entonces tenemos la siguiente función. Entonces, eh, Nueva función de efecto. Entonces lo que vamos a modificar o lo que estamos haciendo es tomar los datos en sí.

00:35:23:16 Hacer un algoritmo de regresión de vectores de soporte para utilizarlo en nuestro modelo. Entonces eso es lo que dice aquí. ¿Entonces reemplaza la ecuación de efecto que tenemos a Cuál es la ecuación de efecto? Mirémoslo acá. La ecuación de efecto que tenemos. Pero yo corro esto que no me. Entonces acá tenemos la ecuación de efecto. ¿Es esta ecuación?

00:35:58:24 Sí. Entonces me dice que tiene la longitud del día tiempo localizada, o sea, me va a ayudar a encontrar el mejor número o el mejor, eh, la mejor ecuación o el o la mejor sustitución para la tasa de efecto. Entonces aquí simplemente me está diciendo ahora lo que tenemos en Workday. Entonces va a longitud de borde. ¿Entonces modelo con los datos, el tiempo para la tarea es igual al tiempo asignado por unidad, lo que tenemos en el modelo, cierto?

00:36:35:11 Entonces datos con modelo y nos regresa la predicción de regresión. Sí. Entonces tenemos unas nuevas asignaciones. Entonces ahora le asigno lo que tenemos en el modelo a las columnas Workday o Jornada y lo que tenemos en tiempo a lo que ir y Unit a Time Ver ofertas. Listo. Y aplicamos, eh, la regresión. Aplicamos la regresión y entonces ahora le asignamos a esa columna de tasa de efecto la nueva función.

00:36:55:10 Ejecutamos la función, pues como es una función tendríamos que, eh eh, llamarla para poder digamos que que utilizar. ¿Listo? ¿Eh, Miremos entonces cuál sería ese resultado? Entonces vamos a traer.

00:37:39:00 Nuestro modelo. Fíjense que ahí estamos utilizando nuestro modelo. ¿Qué pasa con la tasa de efecto? ¿O en cuanto la coloca? ¿Fíjense que ahí está haciendo ya utilizando la función el tiempo, eh? El tiempo que que toma es un poco mayor porque está aplicando puesto el algoritmo para buscar ese mejor número que podamos tener en la causa efecto. Ahí lo está revisando Tu tu, tu está ejecutando sobre el modelo.

00:37:45:14 Perdón, un segundo. ¿Que me mostraba ahí?

00:38:05:13 Y ahí nos arroja el valor 0.5667. Okay. Y nosotros en cuanto lo teníamos. Entonces, cuando nosotros hacemos la ejecución acá. Si, claro, esto se mueve. Pero fíjense que acá me aparece.

00:38:18:23 0.052 O sea, buscó un mejor número que fue el de 0.056.

00:38:54:04 Y me lo coloca constante. Sí. ¿Entonces aquí, eh? Cuando yo vengo y miro acá 0.0528 Y lo que me arroja acá es 0.056. O sea, la variación es muy pequeña. Entonces digamos que ahí tiene mucha, mucho, mucho, mucha importancia, como el concepto de de, de de estos algoritmos, porque me permiten encontrar esos valores que son muy pequeños. Si nosotros lo hacemos a prueba y error, pues va a ser muy muy complicado.

00:39:24:22 Y bueno, pues graficamos un poco, cierto lo el nuevo modelo. Fíjense que aquí lo que vamos a graficar es un es el modelo con esos nuevos parámetros. ¿Entonces ahí estoy ejecutando el modelo con la tasa de efecto nueva para que me muestre digamos que las diferentes eh, los diferentes comportamientos que tengo, que son los comportamientos que pues yo puedo obtener acá no?

00:39:38:16 Entonces miremos acá, entonces Backlog, que era lo que vamos a ver, la tasa de efecto. Bueno, tenía, digamos que hay un.

00:40:07:14 Tenía una variación a partir del día 20 y bueno, ya vamos a analizarlo en detalle a ver que qué pasa mientras tanto por acá, nuestro modelo nos nos arrojó lo siguiente. ¿Entonces tenemos todas las variables tiempo inicial, tiempo final, eh? La longitud de la jornada de trabajo, tasa de cumplimiento. Bueno pues, pero pues así no nos permite como revisarlo en detalle.

00:40:42:05 Revisemos algunas de las variables que nos interesa. ¿Entonces inicialmente arranquemos con eh el retraso llamado backlog, cierto? Solamente graficamos esta columna. Mmm digamos que en esta librería se utiliza es con retour, con ese ese método o esa función nos permite, digamos que eh graficar solamente otra de los datos de esa columna, en este caso Backlog. ¿Vamos a buscarlo acá Backlog eh?

00:41:18:14 Graficamos solamente lo que tiene que ver con los retrasos. Si con esa cantidad de unidades que tenemos atrasadas con respecto al modelo inicial en el modelo inicial, entonces arrancábamos desde el día 20 hasta el día 30 hasta obtener unos retrasos casi del 30 de 30 unidades. Con esta nueva tasa de defectos, o sea, aumentando la tasa de defectos, pues tiene una implicación en todo el modelo y ahora no superan más de 20 los retrasos o las unidades en retraso en diez días que tenemos, que es como el punto crítico.

00:41:45:23 Sí. Entonces ahí por lo menos digamos que el retraso que tenemos ha disminuido. Ahora bien, aquí tenemos la tasa de cumplimiento. Miremos en nuestro modelo la tasa de cumplimiento. Entonces simplemente vengo acá, tasa de cumplimiento y aquí en el lado derecho me cambio la gráfica. Entonces la tasa de cumplimiento. Teníamos.

00:42:24:27 ¿Tasa de cumplimiento de 20 nos superaba, eh, el 20%? Sí. 20 21 Y aquí digamos que permanece en 22. No hay mucho la diferencia, pero pues tampoco. Digamos que hace que se complique el. Digamos que la tasa de cumplimiento que otro podríamos mirar. Entonces vamos a colocar acá, vamos a mirar lo que tiene que ver con, eh.

00:42:39:18 El aquí nos muestra el tiempo asignado por unidad, entonces TIME hay que colocarlo igual.

00:42:47:10 Eh, A lo que creo que es minúscula acá si.

00:42:52:02 ¿Pero y UNIT?

00:42:56:10 ¿Listo?

00:43:01:23 Lo graficamos.

00:43:17:01 Y mientras que lo ejecuta, vamos aquí a mirar lo que tenemos. Entonces el de la derecha es el de nuestro modelo.

00:43:47:20 Y pues aquí lo tenemos. ¿Fíjense que hay pequeñas variaciones, no? Buscando como ese es el mejor, es mejor resultado. Porque bueno, digamos que es, eh, eh, algoritmos por allá tienen unos unos unas funciones de optimización que también nos ayudan a encontrar esos, esos mejores puntos. Entonces lo mismo el comportamiento Día 20. Sin embargo, aquí, eh, está en valor de siete.

00:44:09:28 El tiempo punto cero siete Si 73 y bueno, creo que aquí sí No no no baja mucho. Digamos que esas variables se pueden y pues bueno, ahí podríamos digamos que seguir mirando. Miramos de pronto este lo que tiene que ver con.

00:44:15:09 Entonces coloquemos otro ya.

00:44:20:10 O lo que no lo ve después.

00:44:46:19 Okay. Y vamos a mirar. Por último, lo que tiene que ver con, eh, la longitud del día de trabajo. Entonces vamos a colocar aquí, vamos a llamarlos datos y graficarlos, lo que tiene que ver con la longitud. O la jornada laboral.

00:44:58:00 Y los comparamos con nuestro modelo. En este.

00:45:03:14 Lo está ejecutando.

00:45:36:23 Entonces. Pues definitivamente. Digamos que los días en donde hay más atraso es donde. Pues, eh, tienen que trabajar al 100%. Fíjense que aquí tenemos día 20, o sea, en el mismo intervalo de ese mes y medio, día 20, día 30 se trabaja al 20%, mientras que aquí sí hay una variación bien interesante, porque estamos hablando que eh, pues digamos que se atrasan dos elementos.

00:46:19:05 ¿Pero fíjense que cada día cuando miramos el atraso que teníamos era de dos unidades menos, no? ¿Por día? Pues eso, en diez días termina siendo 20 unidades y eso tiene una implicación también en la jornada de trabajo. Fíjense que aquí no sube más del punto 47%, o sea, casi que la mitad de la jornada de trabajo ya se está, digamos que pues se trabaja con ese atraso, pero pues no tiene que trabajar

08:00 o

10:00, mientras que en el modelo inicial si digamos que la jornada en del 20 a 30, del día 20 al día 30 pues hay que trabajarlo al 100%.

00:46:56:15 Listo, Entonces digamos que lo que hemos tratado de hacer es buscar una mejoría de o una mejora o una mejor estimación a partir del algoritmo de máquina de vectores de soporte. ¿Cierto? Utilizando, pues digamos que eh, librerías de machine learning en Python para en nuestro modelo. ¿Entonces pues aquí ya lo hemos hecho un poco en análisis y bueno, pues digamos que acá, eh lo hemos planteado de una forma muy sencilla para que se entienda un poquitico el procedimiento, eh?

00:47:22:02 Y bueno, eso era lo que queríamos un poco establecer en el día de hoy, trabajar con, eh, un algoritmo, un solo algoritmo. Por eso digamos que se estima una función diferente, pero solamente un algoritmo. Pero pues la posibilidad para que ustedes exploren es muy grande. ¿Entonces, eh? Pues nada, digamos que ahí perfecto. ¿Alexander, muchas gracias por tu presentación, pero acá tenemos una consulta eh?

00:48:08:28 ¿De David nos pregunta cómo se podría utilizar Machine Learning para la selección de personal? Eh, lo mismo, sí, digamos que fíjense que el procedimiento aquí vamos a hablar en términos generales como esa metodología para trabajar machine learning. Y es que, eh, digamos que el aquí, cuando yo coloque eh, en el modelo, sí, aquí en en el modelo, la variable que utilizamos acá fue la variable de tasa de efecto, pero pues nosotros podríamos cambiar y que los modelos que tengamos cierto afecten o este este modelo de regresión.

00:48:35:28 Cambiamos acá por lo que nosotros hemos llamado en nuestro modelo number of employees. Sí, entonces cambiamos acá y asignamos a partir de los datos que tenemos. Sí, claro. Deben de tener en cuenta lo siguiente que la intención de este algoritmo es que nosotros hemos trabajado dos variables, dos entradas, por decirlo así, jornada de trabajo y tiempo por tarea.

00:49:13:21 Y eso tiene una implicación sobre la tasa de efectos. Sí. Así como tenemos nuestro modelo. Porque fíjense que acá tenemos tasa de efecto y tenemos el tiempo asignado para cada unidad y el día de trabajo. Recuerden que digamos que lo que hemos planteado es estimadores que cuando tenemos dos o varias entradas y un ID único y una única salida, pues muy probablemente digamos que esa variable que nos o o esta ecuación analítica que nosotros tenemos acá no es la mejor perdón, aquí la cambio para que la puedan ver, si no es la mejor.

00:49:38:24 Ese es el concepto y por eso hemos utilizado si lo queremos utilizar para el número de empleados. Entonces, muy probablemente si ese número de empleados depende cierto de las personas en planta y las personas que no están en otras funciones y no están en esa línea de producción, tendríamos dos variables y la utilizamos para el número de empleados que necesitemos.

00:50:09:01 Pero el concepto que hemos planteado es, digamos que cuando una variable sí o cuando colocamos una ecuación que depende de varias entradas y una única salida, podemos digamos que buscar esa mejor, ese mejor valor, sin necesidad de utilizar esa variable que muy probablemente nos estime. ¿Para el tema de personal, pues va a depender de varias cosas, no? Depende de la jornada, de los turnos o de las incapacidades o de la persona asignada a la línea.

00:50:34:04 ¿Entonces nos tocaría venir acá, cierto a este modelo y empezar a a a jugar con ello? Sí. Pues para que sea un poco acorde al algoritmo que estamos utilizando. Entonces, si nosotros digamos que hablamos de incapacidades y por el otro lado hablamos de, EH, personal asignado a la línea.

00:51:02:29 ¿Línea cierto que tiene como dos variables y hacemos la conexión de este con el número de empleados? Pues entonces, eh, lo que hacemos es tendríamos que tener los datos de la empresa de cuántas incapacidades pasan en esos en ese mes y medio y cuántas personas se asignan a la línea. De acuerdo, pues como la organización de planeación, tengo dos entradas a una variable que tiene una salida y ahí puedes utilizar, digamos, lo que hemos planteado acá, porque ese es el concepto.

00:51:34:18 O sea, cuando tenemos una variable que de pronto digamos que tiene varias entradas y muy probablemente esa ecuación analítica en este no es tan precisa como lo podríamos hacer con un concepto de machine learning. ¿Pues digamos que eh el concepto aquí hemos tratado de de de plantear algunos webcasts donde ustedes miren como esa ese complemento eh? ¿Y digamos que esa buena opción que podría tener modelar en Estela, no?

00:52:01:25 Fíjense que si ustedes se van acá digamos es muy fuerte la el nivel de abstracción que ustedes deben de tener, porque ustedes dicen pero venga, como funciona esto, digamos esta gráfica. Si pues estoy mostrando todas las variables, pero cuando yo vengo acá y veo y enlazo el comportamiento con la estructura y además de eso aplico algunos algoritmos que no se pueden aplicar acá el complemento funciona muy bien, sí.

00:52:33:28 Y pues es cierto que digamos que hoy en día todos los conceptos de analítica, algunos conceptos de inteligencia artificial, de machine learning, pues están digamos ahí a la mano para utilizarlos en diferentes. Entonces aquí nuestros, nuestras, nuestra toma de decisiones, nuestra planeación, nuestros proyectos de investigación pueden ir a un nivel muy superior. Sí, porque lo que no tiene pronto acá, Estela, porque no es el énfasis, no es la esencia, lo podemos tener en otras herramientas que pueden pasar acá.

00:53:04:23 ¿Muchas gracias a todos por por la atención, por la participación y bueno, esperemos que que digamos amplíe un poquitico eh? El la comprensión de los modelos en Estela con otras herramientas. Muchas gracias. Saludos. Para mayor información respecto al software o en temas relacionados, no dude en contactarnos a través del correo electrónico entrenamientos arroba software, guion shop punto com o visitar nuestra página web Triple W punto Software Guion Shop Puntocom.

Estimadores de Machine Learning en modelos construidos con Stella Architect


La dinámica de sistemas representa las relaciones entre los elementos del modelo con sus ecuaciones analíticas, sin embargo, en algunas situaciones esas relaciones no son estimadas con precisión. Ante esta situación, se pueden utilizar librerías de Python que permitan sustituir una función por un estimador de Machine Learning. En este espacio se presentará un modelo que será importado en un notebook de Python para el análisis con una biblioteca de aprendizaje automático gratuito.

Etiquetas relacionadas

  • Análisis de datos
  • Educación
  • Finanzas

¡Comparte este video con tus colegas!

Compartir

Ver más

Cotizar
Próximos
Eventos

X

Mis cotizaciones:

Comentarios a tu solicitud:

Cotizar