Innova-tsn ha participado en #HACKINSAS 2021, el Hackathon organizado por SAS
Solución contada de primera mano
En el complejo contexto actual traído por la pandemia, Innova-tsn se embarcó en el Hackathon de SAS 2021, con un equipo conformado por Jose Ignacio Bernaldo y Jesús Adolfo Cariño, denominado: “Innova Tracers”.
A través de esta competición y mediante la innovación, creatividad y la analítica avanzada, nuestro equipo ha querido ayudar en la lucha contra la Covid-19, reduciendo los contagios del virus con la solución: “COVID MONITORING SYSTEM”.
El objetivo final del proyecto desarrollado para el Hackathon de SAS 2021 ha sido mejorar la seguridad de todos y cada uno de nosotros, reduciendo las posibilidades de contagio, e incrementando en particular el nivel de seguridad de los espacios cerrados.
Para ello, se propuso esta solución, “Covid Monitoring System”, que utiliza la más avanzada tecnología de análisis de datos para monitorizar en tiempo real las condiciones de los locales y espacios cerrados, calculando para ello variables relacionadas con las condiciones ambientales e indicadores de riesgo individuales y colectivos mediante técnicas predictivas.
COVID MONITORING SYSTEM SAS 2021
A la hora de plantear el desarrollo de este proyecto, uno de los primeros aspectos que pusimos encima de la mesa fue; qué, cómo y de dónde recabar los datos necesarios.
Por un lado, pensamos en variables como las condiciones ambientales, las cuales se podían recoger mediante dispositivos implantados en los distintos locales analizados: medidores de niveles de CO2, de niveles de ruido, e incluso, imágenes tomadas con cámaras.
Por otro lado, nos decantamos por los indicadores de riesgo individual relacionados con el estilo de vida de las personas: visitas realizadas, tiempo de permanencia, distancia con respecto al resto de ocupantes del local, corrección del uso de la mascarilla… En definitiva, la riqueza de estos datos individuales iba a depender de la información que las personas quisieran aportar.
Por ello, se propusieron dos niveles de funcionamiento: uno basado en una identificación no personal, centrada en un identificador de terminal móvil, y otro basado en el registro del usuario, lo que permitiría a cada individuo aportar los datos que considerara conveniente, y recibir notificaciones e información del sistema.
En este contexto, con la identificación de personas en los espacios cerrados mediante los receptores WI-FI, se pudieron calcular las variables de aforo y proximidad, mediante técnicas no intrusivas. Estas variables, unidas a las ambientales, nos permitieron monitorizar los distintos espacios y establecer niveles de riesgo preliminares.
En un segundo paso, reuniendo información histórica sobre el comportamiento de las personas, sus visitas a locales cerrados e interacciones sociales dentro de ellos, se pudieron utilizar técnicas predictivas para calcular un nivel de riesgo individual, que tuviera en cuenta una ventana móvil de tiempo (por ejemplo, 2 semanas).
Por último, compilando todas las variables calculadas se pudo predecir un nivel de riesgo en los locales, que permitía monitorizarlos de forma más precisa y tomar decisiones ajustadas al contexto actual, teniendo en cuenta el ambiente y las personas que en ese momento estaban presentes.
Metodología del Proyecto
La metodología utilizada ha constado de tres fases.
Inicialmente, el sistema recopiló información de múltiples dispositivos y diferentes fuentes para crear un set de variables importantes para estimar un riesgo individual preliminar de infección por individuo. Una vez recopilados suficientes datos históricos, entramos en la segunda fase donde se estimó un riesgo colectivo en función de las interacciones con otros usuarios.
Finalmente, se estimó un riesgo de contagio de un individuo que combinó la información del riesgo individual preliminar y del riesgo colectivo de las últimas dos semanas registradas con las interacciones que estaba teniendo en ese momento dicho individuo y las medidas de seguridad de la estancia en la que se encontraba.
Fase 1: Recopilación de Información
Esta primera fase se dividió a su vez en tres partes: la adquisición de los datos, el cálculo de variables y el cálculo del riesgo individual preliminar.
En cuanto a los datos de entrada, se pudo incluir información de distintas fuentes que nos permitieron conocer: el posicionamiento del individuo y distancia entre personas, encuestas sobre el estilo de vida, las condiciones del local, la calidad del aire, la capacidad de ventilación de la sala…
Concretamente, en este desarrollo de un prototipo inicial, se seleccionaron algunas de estas fuentes:
- Para obtener el posicionamiento y el seguimiento en interiores, utilizamos un método no invasivo que no requisiera de hardware específico para su implementación, por lo que usamos la señal de fuerza de WIFI de los routers del local para identificar la latitud y longitud del individuo, así como el espacio físico (piso y edificio) en el que se encontraba, siempre que la red fuera del mismo cliente.
- Para transformar la señal de fuerza WIFI de cada ID de usuario conectado a la latitud-longitud, se utilizó un modelo de aprendizaje automático, que se entrenó utilizando la relación entre señal y ubicación. La implementación se realizó en SAS Viya donde varios modelos compitieron entre sí, incluida una regresión lineal, redes neuronales, random forest y gradient boosting.
- Para las restricciones y límites de la habitación se utilizaron las legislaciones locales sobre los límites de la calidad del aire interior y la capacidad máxima de personas en la habitación.
- En cuanto a la condición de la calidad del aire de la sala, se utilizó un dispositivo IoT con diferentes sensores para extraer información clave como, por ejemplo, la concentración de CO2.
- Respecto a la encuesta, se realizó por usuario y se solicitó información general del estilo de vida, que nos informó sobre los riesgos a los que se exponía el individuo, por ejemplo, ¿Vas a tu oficina por trabajo? ¿Con qué frecuencia? ¿Vas en transporte público?, etc.
Una vez que tuvimos toda esta información recopilada, a pesar de no contar aún con un histórico, se extrajeron un conjunto de variables calculadas por individuo; por ejemplo, si se sobrepasaba la capacidad de la sala mientras el individuo estaba allí, o si se respetó la distancia de seguridad, o si la concentración de CO2 dentro del local estaba por encima de la regulación indicando una mala ventilación, y así sucesivamente. Se han empleado herramientas y metodología de Advanced Analytics de big data para lograrlo.
Para concluir esta fase, con este conjunto de variables calculadas por individuo se estimó un riesgo individual preliminar. Esto se calculó utilizando una suma ponderada donde los pesos se seleccionan en función de estudios, encuestas y criterios de expertos, para identificar qué alarmas podrían implicar un mayor riesgo de contagio. La salida fue normalizara y categorizada por lo que obtuvimos un riesgo individual en tres categorías: alto, medio o bajo.
Fase 2: Riesgo Colectivo
Una vez recopilados suficientes datos históricos, se pudo comenzar esta fase, que estuvo compuesta también de tres partes: adquisición de datos de interacciones, cálculo de conjunto de variables y cálculo del riesgo de interacción.
La entrada de datos en este caso consistió en el procesamiento de la información histórica de localización de cada individuo dentro de un local o establecimiento para poder inferir las interacciones que tuvo con otros usuarios. Esta información se combinó con el riesgo individual preliminar que presentaba cada individuo para extraer variables en conjunto con el riesgo asociado, como: ¿Con cuántas personas de alto riesgo ha interactuado las últimas dos semanas?
Finalmente, el riesgo de interacción se estimó en base a estas interacciones de alto riesgo o riesgo medio entre los usuarios durante el tiempo de riesgo establecido.
Fase 3: Riesgo por individuo
El objetivo de esta última fase era estimar un riesgo de infección para cada individuo en base a toda la información obtenida previamente.
Para realizar el cálculo de riesgo de infección, utilizamos el riesgo individual preliminar y el riesgo de interacciones con la información disponible de las últimas dos semanas, y lo combinamos con las interacciones actuales del usuario en ese momento y las condiciones de seguridad actuales del sitio donde se encontraba.
Toda esa información se procesó y combinó mediante una suma ponderada y luego se normalizó y categorizó para obtener un riesgo de infección de tres niveles por individuo: alto, medio o bajo.
Visualización:
Para presentar y visualizar los resultados se desarrolló un Dashboard en el que se mostró la información de los resultados de cada fase, incluyendo: los diferentes riesgos calculados, el estado de la sala, el listado de interacciones y la posición interior de los usuarios activos con su riesgo individual asociado.
Para la construcción del Dashboard y las implementaciones de los distintos riesgos, se utilizó una combinación de Python y SAS 2021 Viya: algunas partes se desarrollaron en Python independiente, como el procesamiento de algunas variables y otras partes se desarrollaron integrando SAS VIYA con Python, como la creación y competencia de modelos. Por último, el desarrollo final del Dashboard se desarrolló específicamente en SAS 2021 Viya.
La arquitectura del sistema propuesto hizo uso de las capacidades de SAS, lo que permitió diseñar estrategias de explotación de datos en batch y en tiempo real y de forma escalable, pudiendo incorporar progresivamente nuevas fuentes de datos que puedan enriquecer la calidad de las predicciones.
Entre las múltiples aplicaciones prácticas y reales que se pueden llevar a cabo con la implantación de esta solución, se encuentra la de ayudar a controlar el aforo en los locales comerciales – restaurantes, oficinas, y, en general, en cualquier recinto cerrado-; para, de este modo, diseñar y estudiar la efectividad de diferentes estrategias de seguridad, permitiéndonos conocer en qué situación de riesgo nos encontramos en cada momento.
Con toda esta información, y presentada en tiempo real y de forma ordenada, fue posible tomar decisiones basadas en datos para prevenir posibles infecciones, lo que nos llevó a un entorno más seguro y a contribuir a reactivar la economía de forma sostenible.