Para poder anticipar cualquier fenómeno y entrenar correctamente los modelos de aprendizaje automático, así como para analizar la información de manera precisa y sin temor a errores, es crucial la profundidad y la calidad de la información. Sin embargo, esto no es simplemente una cuestión de la consistencia y validez de la misma, ya que, en ocasiones, ni siquiera tenemos registros de un determinado fenómeno o de casos extremos que pensábamos que eran imposible que ocurrieran.

Uno de los casos paradigmáticos, fue el accidente del Challenger, en el año 1986. Era la vez número 25 que el trasbordador iba a realizar un despegue y, aunque en ocasiones anteriores se habían producido daños y pequeños incidentes, nada hacía presagiar el comportamiento de ese día. La diferencia fue que, en la gran mayoría de los intentos anteriores, la temperatura atmosférica oscilaba entre 18 y 27 grados, mientras que, el día del fatal accidente rondaba un grado bajo cero. Si hubieran tenido un modelo predictivo para evaluar el riesgo de accidente, ¿podría haber funcionado bien, si nunca habían tenido un intento a una temperatura tan baja? ¿Habría sido capaz de extrapolar el comportamiento y haber lanzado una alerta para suspender el lanzamiento?

Pensemos ahora algo un poco más moderno: en la actualidad, hay muchas empresas que están desarrollando sistemas de coches autónomos, es decir, vehículos capaces de conducirse de manera independiente a la intervención humana y que responden a todo tipo de estímulos, como los coches que les preceden, el tráfico, la meteorología, peatones… Obviamente, por debajo, existe todo un sistema de inteligencia artificial que controla estos procesos, pero, ¿cómo enseñamos a este sistema? Es un caso complicado ya que no es muy factible obtener un histórico real de datos de accidentes con el propio coche que queremos entrenar… de nuevo, nos encontramos en un escenario donde, aunque nuestros modelos inteligentes tienen que aprender de datos, no disponemos de los datos adecuados para ello.

Estas dos situaciones no son ajenas a lo que ocurre en el día a día de las empresas. Imaginemos que una gran empresa, con miles de trabajadores en sus oficinas, quiere mitigar el impacto que la gripe invernal tiene y disminuir el número de bajas laborales que se producen durante este período por este motivo. Una buena idea puede ser incentivar y proveer la vacunación de un subconjunto de ellos, pero rápidamente surge la pregunte de a quién y a cuántos debería vacunar para que el riesgo de un contagio masivo disminuya mucho. Si tuviéramos datos históricos, podríamos entrenar un clasificador automático que nos devolviera la probabilidad de contagio de cada empleado en función de múltiples variables calculadas con datos pasados y seleccionar los que mayor probabilidad tienen para la campaña de vacunación, pero esto no es habitual según nuestra experiencia y, además, no aseguraría parar un contagio masivo.

Para resolver este tipo de casos, un tipo de datos muy común en las empresas que nos pueden ayudar, son los datos que relacionan a más de un actor (usuarios, clientes, empleados, …) involucrados en un proceso de la compañía:  son datos relacionales, pero no en el sentido de la tecnología que los almacena (no estamos hablando de sistemas SQL) sino porque establecen conexiones entre estos actores. Además, estos datos suelen tener un carácter transaccional, es decir, ocurren varias veces a lo largo del tiempo. Por ejemplo, en una compañía telefónica, se registra quién llama a quién y cuándo; en cualquier compañía, queda un registro del origen, destino y momento de cada uno de los emails que se mandan dentro de una empresa; en los eventos físicos, es posible utilizar tecnología, como los RFIDs, para determinar quién ha hablado con quién presencialmente, y por tanto establecer una conexión; en fuentes de datos externas, como las redes sociales, sabemos qué usuario comparte o consume información y en qué momento; en las ciudades, es posible saber quién se mueve, a qué lugar y cuándo; en redes de comunicaciones, la información fluye entre ordenadores y servidores, creando una gigantesca red; y así un largo etcétera de casos.

simulaciones data-driven Visualización de cómo se expandiría un rumor a través de email en un college de Estados Unidos gracias a la aplicación desarrollada por PiperLab

Pensemos ahora que, aunque esta información es muy valiosa de por sí, en una capa superior, están ocurriendo muchos fenómenos. Cuando las personas se comunican a través de teléfonos móviles, emails o redes sociales, comparten información y contenidos. Por ejemplo, si conocemos muy bien esta estructura social, podremos identificar qué contenidos se están haciendo virales, a cuánta gente van a llegar y, llegado el caso, parar su difusión identificando a los usuarios clave que ayudan a acelerar este proceso si la noticia es falsa; o si queremos mejorar la seguridad de la red de nuestra empresa, nos interesará saber qué máquinas son las que tienen una red de comunicación más diversa ya que, de ser infectadas por un virus informático, pueden ser los mayores propagadores del malware; en el caso de la propagación de enfermedades como la gripe, si conocemos las interacciones de los empleados y su movilidad por las oficinas, podremos detectar aquellos que, en caso de contagio, son los mayores difusores de la enfermedad. En definitiva, siempre que dos entidades (personas, computadores, ciudades, etc.) interactúan, se producen fenómenos por encima de esta red que dependen de la estructura subyacente, tanto la social (cómo se conectan los distintos actores), como su dinámica (cada cuánto interactúan entre ellos).

Pero, si no tenemos histórico de datos sobre ataques informáticos anteriores, éxito de campañas de marketing o cómo se ha expandido la gripe dentro de mi empresa en los inviernos anteriores, ¿cómo podemos hacer modelos predictivos para anticiparnos a este tipo de fenómenos?

Para anticiparnos a este tipo de fenómenos y predecir lo que ni nuestras bases de datos han visto, utilizamos simulaciones basadas en datos (o simulaciones data-driven), algoritmos que utilizan el histórico de comunicaciones e interacciones entre entidades para, de una manera parametrizada y adaptada a cada caso, entender cuáles son los puntos fuertes y débiles de nuestra empresa en ejemplos concretos de negocio. Aunque no tengamos cómo se transmitió la gripe en nuestra empresa si tenemos mucha información:

  • Histórico de comunicaciones pasadas
  • Tasas de prevalencia de gripe por zonas geográficas
  • Tasas de contagio “cara a cara” históricas

Con todo ello, generamos cientos de miles de simulaciones, gracias a modelos de difusión de información y epidemias, que son un reflejo de lo que podría haber pasado en años anteriores. Toda la información que generan estas simulaciones nos permite responder a preguntas que, anteriormente, eran imposibles de responder:

  • Si no hago nada, ¿cuántos de mis empleados se contagiarán este año de la gripe?
  • Si quiero reducir este número a la mitad, ¿a quién y a cuántos tendría que vacunar? ¿Cuál sería el retorno de esta inversión?
  • ¿Quiénes pueden ser los mayores difusores de innovación de mi compañía?
  • ¿Quiénes pueden liderar cambios organizacionales?
  • ¿Qué máquinas de mi red tengo que tener especialmente vigiladas para evitar propagaciones de virus informáticos como Wannacry?

En definitiva, aunque no tengamos datos históricos de algunos de los procesos de nuestra empresa, las simulaciones data-driven nos ayudan a generarlos, creando datasets que se pueden integrar después en nuestros proyectos de Data Science, ayudándonos a resolver cuestiones que ni siquiera nos habíamos planteado.

Categories: Datos / Tags: , /