Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 22 Anuncio

Más Contenido Relacionado

Más reciente (20)

Anuncio

AIportfolio.pdf

  1. 1. Carlos J. Vila Freelance Data Scientist Porfolio de mis casos de éxito basados en el uso de tecnología de Inteligencia Artificial. septiembre 2022
  2. 2. Lo que quiero compartir contigo Quién soy y cómo hago lo que hago ▪ Mi formación. ▪ Mi experiencia. ▪ Qué se hacer. ▪ Cómo trabajo. Que he hecho en Marketing Digital 01 Mis Proyectos con NLP Cómo creo valor con las Series Temporales ▪ Mi experiencia en este caso de uso de la inteligencia artificial ▪ Algunos casos de éxito y proyectos comerciales relevantes 02 ▪ Mi experiencia y forma de trabajar en proyectos que involucren Procesamiento de Lenguaje Natural ▪ Algunos ejemplos reales. 03 ▪ Mi metodología de gestión de Series Temporales. ▪ Cómo crean valor. ▪ Ejemplos de mis proyectos comerciales sobre Series Temporales. 04
  3. 3. Carlos José Vila Vergara Freelance. Experto en Innovación, Inteligencia Artificial, Tecnología y Transformación Digital. Formación: • Ingeniero de Telecomunicación por la UPM. • Master en Data Science por la Universidad de California, Berkeley. • Programa de Dirección General por el IESE. • Master en Marketing Digital por el ESIC. • … y titulado como Sumiller, Enólogo, Patrón de Yate y Guitarrista (rock de los 70 con mi Les Paul y mi Strato) Experto en: Inteligencia Artificial / Big Data / Data Management 85% Transformación Digital 65% Innovación 90% Tecnología 70%
  4. 4. Uso de Inteligencia Artificial en el Marketing
  5. 5. El Marketing Digital fue y sigue siendo uno de los primeros y mayores generadores de caso de uso en el ámbito de la inteligencia artificial Sin duda la razón del Amplio uso de algoritmos de machine learning y deep learning en el mundo del marketing online se debe a la abundancia de datos de forma nativa de este entono, debido a las herramientas disponibles (Google, AWS,…) que son fácilmente accesibles y utilizables directamente. Otra razón es que es muy fácil medir el ROI de la inversión en Inteligencia artificial. Hace ya varios años que se desarrollan múltiples aplicaciones: Recomendadores de productos (pioneros Netflix y Amazon) Clasificación de clientes, identificar buyer personas a partir de los datos de navegación y compra. Identificar la mejor nueva interacción con cada usuario, personalización de la web y las ofertas partir de los datos de navegación dentro y fuera de la web Fijación dinámica y personalización de precios .. y muchos otros más. A continuación comento algunos proyectos interesantes que he realizado en esta área.
  6. 6. Calcular el precio óptimo de los productos para una empresa de venta online: El cliente (una web de venta de material deportivo con una facturación anual superior a 100 MM€) ya utilizaba un método de calculo del precio dinámico basado en el análisis de la competencia mediante el uso de web scrappers y situaba sus precios en los productos coincidentes en 1 o 2 € por debajo, consiguiendo así un incremento en el volumen de facturación diario de un 16%. Decidieron dar un paso más e incluir en el cálculo las propias características y perfil de cada cliente individual para aumentar aún más el efecto del dinamic pricing: por un lado para rebajar un poco más el precio a los clientes sensibles al mismo y NO hacerlo a los clientes que presentan una gran propensión a comprar un producto concreto. Para conseguir este objetivo : • En primer lugar realicé la segmentación de clientes y su clasificación en función de su perfil de compra. Para ello utilicé los datos de navegación (Google 360) y el histórico de compras disponible. Para ello hice un doble análisis: primero utilizando un modelo no supervisado (k-means) identifiqué a partir de los datos cuántos y cuáles eran los ‘tipos’ de clientes de esta WEB. Luego analicé en detalle las características de cada grupo individualmente mediante métodos estadísticos, obteniendo así valores de sensibilidad al precio para cada perfil. Mediante un método supervisado obtuve un modelo de calculo de la propensión de compra de cada cliente individual independiente de su perfil anteriormente citado • Utilicé a continuación una red neuronal que a partir de los datos obtenidos en el paso anterior, mas el precio de la competencia, el nivel de stock, el día del año, el histórico de ventas y número de unidades en stock, realizaba el cálculo del descuento óptimo para cada cliente individual. El resultado obtenido fue pasar de un incremento del 16% con el método antiguo a un 29% de incremento del volumen de facturación diario. Casi el doble que la mejora obtenida con su modelo original. Caso de uso 1: Dinamic Pricing en eCommerce Caso de uso 2: medición de propensión a compra para un portal inmobiliario Ordenar los clientes de una web inmobiliaria de mayor a menor intención de compra: Este fue uno de mis primero proyectos y el que me enseñó la realidad sobre el trabajo de un Data Scientist. El cliente (una de las mayores webs de venta de inmuebles de España) me pidió que asignara un % de posibilidad de compra a cada uno de los visitantes de su WEB que se registraran diariamente. Sin más, recopilé las fuentes de datos disponibles (información de navegación de Google 360 y los datos sociodemográficos del registro) y construí varios modelos con redes neuronales, regresiones, clasificadores etc para calcular la predicción pedida, pero, no pasaba de una precisión del 70% y tenia muchos falsos positivos (digo que comprará casi seguro y luego nada). No había manera. El problema es que en la venta de pisos online hacen falta más de mil interesados para vender 1 piso, lo cual lleva a que sea casi imposible para un modelo, por complejo que sea, entrenarse correctamente por falta de ejemplos positivos. Lo que se llama un set de datos desbalanceado de manual. Ahora tengo herramientas específicas para estos casos pero entonces no había ninguna disponible. Y no hacían falta. Error de novato (todos lo éramos hace 8 años). Hice lo que tenía que haber hecho desde el principio y hago siempre desde entonces: fui a ver al equipo de ventas y estuve mucho tiempo dedicándome a entender su negocio, cuál era su proceso de venta, qué dificultades tenían y qué era lo que pretendían mejorar con la herramienta que me pedían y cómo aumentar su facturado. Comprendí que su negocio se basaba en: recoger solicitudes de visita a un inmueble durante un día y llamarlos para concertar una cita lo antes posible. El problema es que tienes 1500 números de teléfono a los que llamar y con suerte 1 o 2 acabarán comprando. El cliente no busca sólo en tu web sino en otras muchas, y el primero que contacta tiene un 70% de probabilidades de llevarse la venta. Necesitábamos ser los primeros en llamar al que iba a comprar. Peo para eso hay que localizarlo. En este momento me di cuenta de mi error y de que en realidad ya había hecho mi trabajo: yo no era capaz de medir con precisión quién iba a comprar, pero sí que identificaba al 98% a los que de ninguna manera comprarían. Es decir, podía eliminar 900 de cada 1000 leads y que se centrasen en los 100 entre los que estaba seguro el cliente o par de clientes que sí comprarían. El resultado fue un incremento en las ventas del 55%. Es decir, donde se vendían 4 casa diarias, se vendía 6. Esto en camisetas no es mucho, en pisos incrementa en 10 0 12MM€ las ventas al mes. Me sacaron a hombros. Desde entonces me centro en entender el negocio, cómo se hace el dinero, el proceso, y luego busco la pregunta quela IA debe responder, luego los datos que harán falta, cómo medir el resultado y, por último, el modelo y los algoritmos.
  7. 7. Caso de uso 3: identificar el buyer persona de una Universidad Online Caso de uso 4: optimización de inversión en publicidad online mediante la segmentación de la audiencia Determinar de forma objetiva a partir de los datos el perfil del cliente tipo / ideal (buyer persona) de cursos de posgrado para una Universidad online: Una universidad Española que ofrece multitud de estudios de grado y posgrado exclusivamente de forma online, me solicitó que identificara el cliente tipo que cursaba estudios de posgrado a partir de los datos históricos y de navegación (Google) de que disponen. Su objetivo era a partir de ahí optimizar su mensaje de venta y dirigir mejor su oferta y propuestas de nuevos cursos. Lógicamente, su departamento de marketing (numeroso) llevaba años diseñando esa ‘buyer persona’ al medio tradicional: el típico yo conozco a mi cliente después de tantos años, nadie me va a contar cómo son los clientes que me compran y los que no. La Dirección no veía avances por más que incrementara el gasto en anuncios online. Decidieron probar lo siguiente: tiene mucho más sentido averiguar a partir de los datos fríos (navegación, usuarios registrados, histórico de ventas, ventas no finalizadas, peticiones de información etc. Salga lo que salga, aunque no se corresponda con la imagen mental que cada uno tiene de su cliente ideal. De hecho casi nunca coincide. A veces ni un poquito. Pero los datos (cuando los hay) no mienten. Utilicé tanto modelos no supervisados como clasificadores supervisados (redes neuronales clásicas) combinados. Por supuesto, el buyer persona que salió no apreciaba cosas que se suponía que adoraba, como el precio bajo sobre todo, o las prácticas en empresas. De hecho las prácticas las odiaban y eran un motivo para no hacer el máster, ya que ni eran tan jóvenes como se pensaba ni estaban tan en paro como parecía, y las prácticas imposibilitaban que los que estaban trabajado o vivían en otro país o continente (esto es una universidad online) cursar el master, con lo cual se iban a otra parte a buscar. Y lo mismo con otras VERDADES INMUTABLES. Resultado: reorientando primero el mensaje y adaptando los títulos a lo que demandaban y valoran de verdad los alumnos se incrementó el ratio de conversión un nada desdeñable 22% el primer año. Ahora iniciarán la parte de personalización de web en función de tipo de cliente. No hay datos todavía de esta mejora, pero creo que será muy significativa. Conseguir un mayor impacto con un menor coste de los anuncios de pago en internet(Google, Facebook y banners en webs de terceros): en esta época dirigía y estaba creando el equipo de la nueva área de Data Management & AI en una agencia de Marketing Digital y recibimos este encargo de nuestro cliente, una gran multinacional aseguradora española con presencia en Europa y Latam. Nuestra agencia era la que gestionaba la publicidad online globalmente en toda la compañía y lo que nos pedía era que utilizásemos Inteligencia Artificial para optimizar su inversión (muy jugosa, sobre todo para nosotros) en publicidad de pago en Internet. La idea era: ‘creemos que estamos perdiendo eficacia en nuestro gasto en publicidad porque estamos presentando nuestros anuncios en Google, Facebook y muchas webs con las que tenemos acuerdos a todo internauta que aparezca y además el mismo anuncio para todos estamos pagando más anuncios de los que seguro hacen falta y no estamos dirigiendo el mensaje adecuado y relevante a los clientes potenciales. Tenéis que ayudarme a bajar mis costes y que a lavez las conversiones suban.’ El si no lo hará otro flotaba en el ambiente, claro. La opción más razonable para conseguir este doble objetivo era claramente realizar una segmentación de clientes adecuada. Además, para variar teníamos todas las fuentes de datos que quisiéramos y el dinero pudiera pagar (Google 360 tope de gama, Google ads,… Fabebook, AWS, históricos enormes, encuestas, RRSS), y encima ya las gestionábamos en su nombre: el sueño de un Data Scientist. Construimos varios modelos a lo largo del tiempo para adaptarnos a los diferentes mercados (automóvil, vida, hogar, profesionales) y países (España, Alemania, Italia, Francia, México, Brasil,…) que, como vimos, presentaban diferentes características que convenía tener en cuenta y además el volumen de negocio lo aconsejaba (cada 1% de mejora supone mucho dinero). Utilizamos sobre todo redes neuronales como clasificador entrenadas con los datos que comentaba, además en cantidades nunca vistas por mí hasta ese momento. De hecho tuvimos que cambiar nuestro modo de trabajo habitual (desarrollo en servidores propios, modelos de producción en Cloud ) por desarrollo totalmente en Azure para poder gestionar el volumen de datos y entrenar redes neuronales bastante grandes en paralelo. El resultado ofrecido por los modelos junto con la generación de anuncios específicos para las características de cada tipo de cliente (por país, características de cada tipo de cliente, etc) de acuerdo a los resultados obtenidos de los modelos, consiguió incrementar la conversión en un 19% con un coste por conversión (CPC) un 35% menor.
  8. 8. Procesamiento de Lenguaje Natural (NLP)Aplicado a la gestión documental
  9. 9. Combinando algoritmos de visión artificial y reconocimiento de caracteres y algoritmos de NLP se puede extraer contenido estructurado a partir de imágenes que contienen texto en un formato libre., Dos aplicaciones de especial relevancia en el entorno empresarial son la extracción de datos desde facturas o albaranes, o la extracción de datos contenidos en una tabla contenida en un fichero de imagen(jpeg, png,…) o en pdf, obtenido normalmente por escaneado de un documento en papel. Por la misma razón, es tremendamente complicado y difícil de mantener un sistema informático convencional que extraiga datos de interés (nombres, direcciones, artículos, códigos de producto, etc.) de una base documental para, por ejemplo, identificar toda la legislación que hace referencia a un determinado concepto como la venta de un inmueble. Existen algoritmos NLP especializados en la extracción de entidades como nombres propios, organizaciones, localizaciones, fechas, cantidades económicas, etc. Y además se pueden definir nuevas entidades (DNI, código de producto.) y entrenar al algoritmo para que los extraiga de forma sencilla y automática. Nada hay más difícil y frustrante que realizar búsquedas textuales a la manera tradicional, es decir, localizando palabras clave, da igual que sea en un texto introducido en una caja de búsqueda o mediante voz. La falta de uso del contexto de la conversación y la imposibilidad de poder contemplar todas las formas posibles de referirse a un concepto, hacen esta tarea inabordable. El uso adecuado los algoritmos correctos de NLP proporciona una solución para este problema de forma natural. De manera simplificada podemos decir que el NLP (Natural Language Processing o Proceso de Lenguaje Natural) consiste en una serie de técnicas de Inteligencia Artificial mediante las cuales se puede extraer información de manera automática del contenido de un documento, realizar búsquedas semánticas sobre una base documental, realizar resúmenes de un texto, generar textos o diálogos o medir la similitud de dos frases o conceptos entre otras muchas aplicaciones. La tecnología NLP permite tratar de igual modo cualquier fuente de texto, ya sea voz (grabaciones de un call center), imágenes (facturas escaneadas o contratos, ficheros de texto. Esto permite que toda la base de conocimiento disponible pueda ser aprovechada en la búsqueda de información, análisis de datos, elaboración de informes, gestión de clientes o cualquier otro caso en el que queramos automatizar y agilizar tareas repetitivas que consumen un elevado uso de horas de personas que podríamos utilizar en mejorar nuestros procesos o evolucionar nuestras soluciones, además de obtener un mas que significativo ahorro de costes. Los metadatos son la piedra angular de la estrategia de la gestión documental de cualquier organización: nos sirven para categorizar, distinguir, valorar y, en última instancia, permitir a nuestros usuarios encontrar la información que les hace falta para realizar su trabajo o automatizar procesos, y son caves para identificar nuevas oportunidades de negocio. Los sistemas tradicionales sólo pueden explotar y realizar búsquedas con calidad si estos metadatos ya existen y son completos y son actualizados permanentemente por las personas que crean los documentos. Lo cual todos sabemos que no es ni remotamente cierto. Por no mencionar el enorme coste de integrar la información que está en papel en el archivo histórico de la empresa, que normalmente no se explota por el coste que supone su digitalización manual. Mediante el uso adecuado de los algoritmos de NLP correctos cualquier empresa puede automatizar tanto la creación y mantenimiento de estos metadatos e incorporar como utilizar o diseñar sus propias herramientas que obtengan todo el valor económico que pueden proporcionar, ya sea en forma de optimización de procesos, ahorro de costes en múltiples tareas cotidianas o identificar oportunidades de evolución y creación de nuevos productos y fuentes de ingresos. Caso de uso: NLP para la Gestión Documental
  10. 10. Extraer de mis datos todo su valor económico: • Optimizar y ahorrar costes en mis procesos actuales. • Identificar e implementar eficientemente nuevos modelos de negocio o productos a partir de los datos.. Automatizar la integración con nuestras aplicaciones de negocio (ERP, CRM, …) de todos los documentos disponibles en cualquier formato, ahorrando cualquier proceso manual y los errores que conlleva.(p.e. facturas, pedidos o contratos). Localizar toda la información relevante disponible de forma libre, no limitada por una lista de palabras clave o conceptos preprogramados, al estilo de un buscador actual como Google, pero sobre nuestros propios documentos e integrado con todos los sistemas de gestión documental. Integrar de forma totalmente automática la información disponible en cualquier formato (voz, imagen, texto) o tipología (CRM, folletos, contratos, facturas, especificaciones,…)en la base de datos documental (base de conocimiento) de la compañía. Propuesta de Valor
  11. 11. Ejemplo de Caso de Uso : Integración de datos no estructurados con cualquier ERP C a p t u r a d e d o c u m e n t o s Carga de documentación escaneada o en formato de texto. Contratos Un modelo NLP extrae la información de los metadatos (participantes, objeto del contrato, palabras clave, fecha,….)) para que sea asociado al documento.. C l a s i f i c a c i ó n Un clasificador nlp organiza los documentos por su tipología (facture, contrato, albarán, nómina, especificaciones, … Formularios, encuestas, etc. Un modelo NLP extrae la información suministrada en estos documentos para su almacenamiento en forma estructurada, así como extracción de palabras clave, nombres, sentimiento… La tecnología de IA basada en NLP, permite automatizar y acelerar exponencialmente la integración de la documentación existente en una empresa en cualquier formato (documentos escaneados, formato office, etc.). E x t r a c c i ó n . d a t o s e s t r u c t u r a d o s Un modelo NLP se encarga de extraer los datos contenidos en facturas que estén en un formato no estructurado (imagen, pdf escaneado,…) para asociarlo al documento.
  12. 12. Ejemplo #1: Extracción de datos estructurados de una factura (escaneada o en pdf) integrables automáticamente en el ERP El problema que resuelve esta solución es el de localizar los datos que nos interesan dentro del texto leído en el paso anterior pese a que no conocemos el formato de la factura que, como sabemos, es diferente para cada proveedor y cambia con el tiempo. Es inviable extraer los datos mediante un programa que utilice plantillas predefinidas para localizarlos, como por ejemplo los sistemas OCR convencionales que seguro conoces y que obligan a hacer (gastar dinero en) actualizaciones de las plantillas cada vez que aparece un formato nuevo o éste cambia. Para resolverlo utilizamos NLP. Utilizo técnicas de visión artificial y reconocimiento de texto para leer la factura y además obtener la posición de cada palabra o número que contiene la factura. Esta parte no requiere ningún entrenamiento o personalización, funciona con cualquier factura y en cualquier formato de imagen o pdf. 1. Una aplicación monitoriza continuamente en background un directorio de entrada donde se depositan las facturas en formato imagen, pdf o ambos. Cuando detecta una factura, la abre, extrae la información y la deposita en un directorio de salida junto con un JSON que contiene los datos extraídos. Para hacerlo utiliza un algoritmo NLP especializado y reentrenado por mí para esta tarea específica. 2. Otra aplicación permite validar los datos extraídos (imagen al lado) de forma visual y sencilla y corregirla en caso de un error (normalmente debido a un escaneado deficiente o un diseño de factura demasiado creativo en colorido y tipografía). Una vez validada, se envía la factura junto con su JSON asociado para ser gestionada por tu ERP, Sharepoint o lo que utilices de forma fácil y natural. Y sin errores. Sí, es preferible y recomendable que un humano supervise el proceso, pero podemos dedicar una sola persona ha hacer el trabajo de 20 y, además, de forma mucho más cómoda y amigable. Cualquier empresa que tenga que gestionar cientos o miles de facturas e integrarlas en su ERP o aplicaciones de contabilidad, es consciente del enorme gasto de recursos y dinero que supone introducir manualmente los datos de las facturas en el sistema (salvo que seas una empresa enorme y obligues a tus proveedores a hacerlo por ti, en cuyo caso no necesitas una solución como la que te presento). Afortunadamente podemos utilizar la inteligencia artificial para automatizar este proceso y reducir dramáticamente los costes y poder asignar los recursos a tareas más productivas. Esta es la solución que he construido y que en el momento actual están utilizando empresas en entorno de salud (facturación de hospitales), y distribución (contabilizar facturas de cientos de proveedores):
  13. 13. Entender las peticiones de un cliente expresadas en sus propias palabras (voz o texto) Una empresa que desarrolla asistentes personales para multitud de sectores (banca, seguros, salud, administraciones públicas, venta a distancia o online entre otros) dispone de una herramienta para crear de forma muy sencilla asistentes personales que se integran con los sistemas del cliente. Se utilizan canales conversacionales como wasap, sms o aplicaciones web para interactuar con el cliente. Hasta ahora, utilizaban un modelo tradicional de análisis de textos para búsqueda de palabras clave para identificar qué es lo que necesita el usuario y dirigirle y guiarle para obtener lo que necesita. El problema viene cuando por usabilidad y para hacer más amigable el uso del asistente, han incluido la posibilidad de que el usuario haga sus peticiones de viva voz o tecleando en su móvil expresándose libremente, en lugar de guiarlo mediante selección de opciones de menú: un ejemplo real es recibir un texto como ‘Hola…..uhm….querría…sacar…más…..por mi dinero… pero sin riesgo, eh?.’ Encontrar aquí la palabra clave por programación clásica es prácticamente imposible. Otro caso habitual cuando el usuario teclea es recibir algo como ‘Qsira cita con l tramatlgo’, más imposible aún. Y esto en castellano, inglés, francés, alemán o italiano indistintamente… La solución que apliqué fue: En segundo lugar, leo directamente y utilizo las descripciones de los distintos servicios que ofrece el asistente virtual que invoca a mi aplicación y las palabras clave asociadas a cada uno de ellos que espera y es capaz de tratar. Con ello se forma el contexto en que el algoritmo que utilizaré en el paso siguiente puede determinar a partir del texto recibido cuál es el servicio que solicita el usuario y, dentro de él, cuál es la palabra clave que mejor se ajusta a su necesidad para que el asistente virtual le ofrezca la información u pociones disponibles para su caso. Este enfoque por un lado evita la necesidad de realizar cambio alguno en la aplicación de generación de asistentes virtuales de mi cliente y, por otro, evita tener que reentrenar el algoritmo en función de qué asistente invoque el servicio. No hay reentrenamientos. En nuestro ejemplo de banca, se identificaría el estado descrito como ‘Fondos de inversión para personas con aversión al riesgo’ y dentro de sus palabras clave se identificarían por ejemplo ‘Fondo de Inversión’ o ‘Renta fija’ como opciones. Construir una aplicación que en primer lugar toma el texto a procesar, sea el tecleado directamente por el usuario o la conversión a texto del conversor Speech to text y mediante un algoritmo multi-idioma pre entrenado en esta tarea (openAI) que corrige los errores tipográficos y limpia el texto a procesar. En nuestro ejemplo, la salida sería ‘Quisiera cita con el traumatólogo o Hola querría sacar más por mi dinero, pero sin riesgo’. Como algoritmo utilicé en este caso un modelo NLP o, más bien sólo una parte de él, la encargada de traducir un texto en habla humana (multiidiona claro) en el lenguaje interno de los algoritmos NLP (que son vectores de 512 dimensiones. Este elemento se llama embedding en la jerga NLP) que son capaces de agrupar las palabras en función de su similitud de significado y en cómo se utilizan más o menos en un mismo contexto y por tanto están más menos relacionadas en su significado. Por ejemplo futbolista y gol estarán cercanas entre sí pero muy lejos de berenjena. Ganar, rentabilidad o invertir están más próximas entre si que cualquiera de ellas con ‘cajero automático’ etc. La idea es que nos podemos aprovechar de esta funcionalidad (preentrenada sobre terabytes de textos en 5 idiomas y ofrecida en modo openAI y que podemos utilizar de forma directa y sin ningún tipo de entrenamiento o personalización, tal cual). Aplicando este algoritmo tanto al texto introducido como al contexto generado, podemos identificar mediante sencillas operaciones con vectores el grado de similitud de la petición del usuario en primer lugar con los servicios que ofrece el asistente virtual que hace la petición, y después hacer lo mismo con las palabras clave que éste tiene asociadas. Como resultado, devuelvo al servicio que invocó el programa cuál es el servicio más probable (con su grado de fiabilidad, es decir, 80%, si es muy fiable el resultado o 25% si no es fácil deducirlo del texto recibido o en realidad ninguna opción se adecuaba a un servicio soportado) y las palabras clave ordenadas de más a menos probable, cada una con su probabilidad asociada.
  14. 14. Series Temporales
  15. 15. Casos de Uso de las Series Temporales e H e a l t h . M a n t e n i m i e n t o . P r e v i s i ó n d e V e n t a s . D e m o g r a f í a . G e s t i ó n S a n i t a r i a . A n t i c i p a r T e n d e n c i a s . G e s t i ó n d e a c t i v o s . C o m p o r t a m i e n t o d e l c o n s u m i d o r . E v o l u c i ó n E c o n o m í a . G e s t i ó n d e l a O f e r t a . M e t e o r o l o g í a . G e s t i ó n C a d . S u m i n i s t r o . G e s t i ó n d e S t o c k . R e n d i m i e n t o D e p o r t i v o . A g r i c u l t u r a y m . a m b i e n t e . P r e v i s i ó n d e l a D e m a n d a . G e s t i ó n d e c l i e n t e s . El análisis de las series temporales y su capacidad de predecir valores futuros a partir de los datos del pasado se utiliza en infinidad de negocios y ámbitos de actividad y permite crear valor económico con sus predicciones que permiten tomar decisiones que hacen adaptarse y evolucionar a tu negocio.
  16. 16. El análisis de Series Temporales es uno de los campos de Inteligencia artificial más complejos A diferencia de otros problemas típicos de Machine Learning / Deep Learning, las Series Temporales presentan la complejidad añadida de la dependencia temporal de cada uno de los datos u observaciones, lo que implica que p.e. el orden de los datos cuenta. Mucho. Este hecho hace que la mayor parte de los algoritmos de Machine Learning o Deep Learning no se puedan utilizar ‘tal cual’ o no sirvan en absoluto. Construir un modelo para analizar o hacer predicciones es mucho más costoso de lo habitual. T r a t a m o s c o n D a t o s o r d e n a d o s e n e l t i e m p o Los métodos tradicionales están pensados para predecir el siguiente valor de la serie temporal. Desgraciadamente, lo que necesitamos casi siempre es predecir un rango de tiempo futuro objetivo, tendencias (Multi Step- Forecasts en la jerga de IA). Este es el tipo de información que resulta útil en la toma de decisiones en los negocios. Necesitamos modelos más complejos. E s m u c h o m á s ú t i l p r e d e c i r u n r a n g o ( p . e . 1 m e s ) q u e e l p r ó x i m o v a l o r d e l a s e r i e Hay que gestionar además características como la estacionalidad, ruido, anomalías o aparición de tendencias en los datos de entrada, así como saltos temporales en los mismos. Además hay que garantizar que se respeta en todo momento la secuencia en que los datos aparecen, su frecuencia (cada segundo, día hora, espacios temporales mezclados,..) y garantizar que se procesan adecuadamente sin alterarla. Incluso al entrenar los modelos. Sobre todo al entrenar y evaluar los modelos. N e c e s i t a m o s c o n s t r u i r u n a G e s t i ó n d e D a t o s E s p e c í f i c a q u e t e n g a e n c u e n t a e l t i e m p o Normalmente la variable a predecir no depende sólo del tiempo sino de otras variables que a su vez tienen dependencia entre sí (multi-variate time series). Por otro lado, las cada vez más numerosas aplicaciones de IoT incorporan una nueva complejidad: las muestras no están perfectamente sincronizadas (loas decenas o cientos de variables que intervienen no están medidas en el mismo instante) y no están necesariamente presentes o aparecen de repente (un sersor averiado o un sensor nuevo instalado). L a r e a l i d a d e c o m p l e j a . C a d a d í a m á s
  17. 17. 2010 2014 2017 2022 Redes Neuronales clásicas. Resuelven todos los problemas que presentan los métodos clásicos. Son muy rígidos, tanto el número de datos de entrada como de salida está prefijado y no son adecuados para dependencias temporales complejas (el tiempo es una dimensión más). Redes Neuronales Recurrentes y Transformers. Arquitecturas de Red Neuronal específicas para gestionar dependencia temporal de los datos de entrada, así como identificación de relaciones muy complejas de dependencia entre observaciones o variables Redes Convolucionales. En lugar de entrenarse de forma secuencial en el tiempo utilizan la totalidad de la serie o tramos muy grandes de la misma. Se utilizan para detectar la estructura, tendencias y relaciones complejas entre las variables. Métodos lineales clásicos (ARIMA, SARIMA(*), Exponential Smoothing...): rápidos y fáciles de implementar pero de difícil aplicación en entornos multivariable y/o multi-step forecasting. No soportan errores o saltos en los datos disponibles La tecnología de análisis y predicción de series temporales ha conseguido grandes avances
  18. 18. Metodología que aplico Procesamiento de datos de entrada: acepto varios formatos de entrada que se procesan automáticamente para su uso por el resto de herramientas Enfoco mis esfuerzos en la optimización del valor creado por las predicciones generadas por la herramienta, no en la implementación técnica Genero los informes y dashboard a partir de los datos proporcionados por la plataforma Análisis detallado de los datos: analizo las características de los datos e identifico y gestiono anomalías, datos faltantes etc. Generando informes detallados de forma automatizada Benchmarking inicial automático de los modelos adecuados al objetivo / tipo de serie temporal y selección automática del modelo optimo para el objetivo buscado y la tipología de datos disponibles Utilizo mecanismos y metodologías AET para realizar el ajuste fino del modelo de forma cuasi automática El proceso de desarrollo tradicional del análisis de series temporales es complejo y requiere mucho tiempo. La metodología y herramientas que utilizo hacen que este proceso de desarrollo sea más rápido, eficiente y enfocado en optimizar aspectos claves del negocio.
  19. 19. Puedo realizar predicciones precisas porque identifico rápidamente el algoritmo óptimo que debo utilizar, porque ya he implementado los algoritmos más utilizados al estado del arte y continuo añadiendo los nuevos disponibles Algorit m o Series Univariantes. Series Multivariantes. Predicción next value. Predicción de rango temporal. Datos nuevos / varias series simultáneas. ARIMA, SARIMA, SARIMAX. DeepAr. Rocket, miniRocket. HIVE-COTE. LTSTM (Enc-Dec). Prophet. Informer. Temporal Fusion Transformer (TFT) …… … pero como regla general, prefiero utilizar el algoritmo más sencillo si cumple con los objetivos de negocio.
  20. 20. Predicción de la evolución del precio del stock de Biocombustible para empresa de energías renovables: la empresa quería anticipar la evolución a 3 y 6 meses del precio del biocombustible almacenado en cada momento para poder planificar su producción y toma de decisiones de venta anticipada. Sin duda este ha sido uno de los proyectos más complicados de mi carrera. Y en el área de Inteligencia Artificial el más largo y extenuante. Al problema de la búsqueda y normalización de bases de datos externas que obligaron a un enorme esfuerzo de normalización, limpieza y preproceso, el proyecto incluía docenas de series temporales interrelacionadas y el rango temporal a predecir era intimidante. Por eso es uno de los proyectos más gratificantes en los que he participado. Porque salió bien, claro. La metodología utilizada fue: • Se partió de fuentes de datos externas (datos macro económicos, evolución precio del biocombustible y resto de combustibles fósiles, previsiones de uso de vehículo priva y transporte etc) e información interna (estudios propios, informes encargados a terceros). Se integró, limpió y normalizó la información disponible. • El algoritmo más adecuado resultó ser Profet (diseñado por Meta), el cual proporcionó los mejores resultados tanto a 3 como a 6 meses vista. Las predicciones se integraron en el cuadro de mandos general (Tableau). • El cliente estimó el impacto económico durante el primer año de uso del modelo en 23MM€, entre ahorro de costes de producción y mejor margen en ventas. • Nota: la Guerra de Ucrania y sus efectos no fue anticipada por el algoritmo, a tanto no llego. Sin embargo, tras 4 -5 meses de lógica falta de acierto en la predicción, ésta ya ha recuperado una precisión a tres meses cercana a la anterior y está cerca de ya de hacer lo mismo a 6 meses vista. Esto es gracias a que se utilizan los nuevos datos para reentrenar periódicamente el modelo para conseguir esta adaptación a cambios raros o ‘cisnes negros’ como los de los últimos años. Caso de uso 1: Predicción de la Valoración de Activos Predicción de la evolución del riesgo por siniestralidad para gran aseguradora de vehículos: la aseguradora perseguía un objetivo triple: analizar la previsión de la siniestralidad de sus clientes actuales, la valoración del potencial de siniestralidad de los nuevos solicitantes y la evolución de la siniestralidad en su conjunto de la cartera. El margen de previsión pedido eran 6 meses. Tras analizar las necesidades de negocio y el impacto económico así como los datos disponibles se decidió priorizar la tendencia individual y conjunta frente a pretender cuantificarla individualmente en detalle para lo cual no se disponía de datos. El compromiso fue hacer la previsión de la tendencia medida como baja, media y alta, la cual ofreció el retorno económico esperado por el cliente. En resumen, la mayor dificultad del proyecto fue conseguir encontrar los objetivos a cumplir por los modelos de IA que fuesen alcanzables con los datos disponibles y permitieran alcanzar los objetivos que necesitaba el cliente desde el punto de vista de negocio. La metodología fue: • Como fuentes de datos se tomaron datos internos del cliente, datos de los usuario (a partir de la información de Google 360) y fuentes externas tales como registros de infracciones de trafico etc. • El algoritmo seleccionado por ofrecer la mejor precisión de entre los analizados fue el uso de redes neuronales recurrentes LSTM, pese a ser probablemente el algoritmo más exigente en recursos y lento en su proceso de entrenamiento. Mi tendencia es utilizar la solución más sencilla y rápida, pero en este caso LSTM era la mejor opción de largo. • Para acabar de complicar el proyecto era complicado medir el impacto económico real objetivamente, pero al final acordamos fijar el coste por siniestralidad global antes y después de la implantación del modelo. Se apreció un ahorro de un 7% en 2018 y 2019, lo cual son bastantes millones de euros. En 2020 la caída fue de más del 50%, pero eso no fue merito mío sino del COVID. Caso de uso 2: predicción del riesgo en seguros auto
  21. 21. Predicción del consumo eléctrico en un puerto comercial: el cliente (la autoridad portuaria encargada de la gestión y explotación del Puerto) necesitaba anticipar el consumo energético debido al tráfico uso de uso sus instalaciones por parte de los barcos de contenedores y petroleros a efectos de optimización de este recurso energético. Los barcos que atracan en el puerto normalmente utilizan el suministro eléctrico del puerto durante el tiempo en el que carga, descargan o repostan (varios días) y este consumo es gigantesco, razón por la cual una gestión adecuada de la energía en colaboración con el distribuidor puede suponer varios millones de euros de ahorro sólo por una planificación adecuada cuando y cuanto serán los picos de demanda de energía eléctrica. La metodología fue: • Como fuentes de datos se tomaron datos macroeconómicos mundiales, datos de transporte de mercancías por vía marítima, previsiones de producción y consume de combustibles fósiles, evolución histórica del precio de la energía y los propios datos históricos del Puerto. La labor de limpieza, validación y normalización de los datos previa a poder iniciar los desarrollos de modelos fue especialmente exigente y prolongada. (80% del tiempo del proyecto). • El algoritmo que se seleccionó de entre los analizados fue Rocket, que pese a no estar diseñado para producir predicciones en rangos de tiempo prolongados, sobre este set de datos específicos obtuvo la mayor calidad en su predicciones. • Sin embargo entre elTras su implementación se pudo renegociar el suministro con la distribuidora eléctrica y se estima un ahorro de entre un 8 y un 10%. COVID y la bajada del tráfico en 2020 y 2021 y el precio de la energía disparado en 2022, no hemos podido realizar una comparativa realista con la situación anterior aún. Caso de uso 3: previsión del consumo energético para una autoridad portuaria
  22. 22. Juan Ramón Jimenez 6 28232, Las Rozas de Madrid +34 678 480 892 carlos.vila@haiyue.es https://www.linkedin.com/in/carlosvilaver gara/ Carlos J. Vila Vergara

×