20 Abr Analítica Predictiva y Machine Learning para Covid-19
Debido a la Pandemia mundial que se vive a raíz del Convid – 19 (Coronavirus), el equipo de Analítica Avanzada de Analytics10, quisimos poner a prueba nuestras plataformas de Machine Learning , Analítica Predictiva y Data Science : Alteryx y DataRobot. Visualización en Qlik Sense
Utilizamos Alteryx y DataRobot para predecir la tendencia de números de contagiados en:
- Brasil
- Chile
- España
- Estados Unidos
- Italia
- Irán
- México
- Suecia
En primera instancia es necesario tener los datos respecto al numero a numero de contagiados de cada uno de estos países, dicha información fue obtenida de “European Centre for Disease Prevention and Control” quienes disponen de una base actualizada del número de contagiados y muertos por el covid 19. Como no solo es necesario conocer el número de casos existente en cada uno de los países y al momento de realizar una predicción es muy útil conocer características particulares de estos, las que ayudan a diferenciarlos e ir logrando mejores modelos predictivos se tomaron características sociodemográficas como lo son: población, densidad y edad promedio de los países utilizados; dichos datos fueron tomados de wolrdmeters.info quienes tienen datos actualizados y basados en las últimas estimaciones de la división de población de las naciones unidas. Por último dado que se quiere predecir temas respecto al Covid-19 datos respecto a las políticas tomadas por los distintos países, pueden servir para tener conocimiento del comportamiento de los países respecto a la pandemia, estos datos son los países que tienen el absoluto de los colegios cerrados-información obtenida a través de la UNESCO- y los países los cuales decidieron cerrar fronteras turísticas(decisión que debe ser tomada por el propio país para aparecer como variable válida)-información obtenida a través de investigación en los periódicos de los países.
Teniendo ya toda la información en nuestro poder, se procede a utilizar nuestra plataforma Alteryx generando el siguiente flujo
El cual es utilizado, la primera parte del flujo es utilizada para traer los datos directamente de la URL para actualizarlos cada día, filtrar por los países que serán analizados y utilizando las herramientas de unión de Alteryx se genera un solo compilado de todos los datos referentes a los países, los campos que componen esta data son: fecha, número de contagiados, país , población, densidad, edad promedio, un variable dummy que nos indica si se encuentra o no cerrada la frontera y otra para los colegios cerrados.
Siguiendo en el flujo, es primordial tener la data preparada para el análisis predictivos y de la misma forma los datos que se quieren predecir, es por esto que existe un contenedor en el flujo el cual diseña la data con los días a predecir, esta data se compone de los 28 últimos datos y 19 días para delante, los cuales se quieren predecir.
Cuando la data está lista para ser analizada, es llevada a DataRobot el cual hace una combinación de modelos, en este caso de series de tiempo los cuales nos ayudarán a predecir la evolución de los casos. DataRobot nos señala con “most accurate” el modelo que mayor precisión tiene, para este caso en particular es el siguiente:
La métrica que utilizamos es el MASE (Error medio absoluto), la que también ayudará a saber como se está comportando el modelo y servirá el modelo que tenga un MASE menor.
Explorando el modelo que DataRobot etiqueto como el más preciso:
El modelo, es un mezcla de otros 3 modelos por lo que utiliza a estos 3 para generar una mejor predicción. En la data se encontraban incluidos distintos países, los cuales DataRobot analizó su precisión para cada uno de ellos, como es posible visualizar en la imagen siguiente:
Con lo anterior ya tenemos el modelo el cual fue entrenado con los datos que le entregamos al software, ahora es posible predecir para estos distintos países el comportamiento de los nuevos casos de contagio en cada uno de ellos y DataRobot es capaz de dar un visualización que puede ayudar a entender cómo será este comportamiento.
A continuación una muestra de las predicciones entregadas por DataRobot para 4 de los países seleccionados los cuales son: Chile, Italia, España, Estados Unidos.
Como se mencionó la predicción de DataRobot corresponde a los nuevos casos de contagio que se suman diariamente, por lo tanto para lograr tener una mejor visualización de está es necesario tomar la data que nos proporciona DataRobot, la cual contiene la fecha, el país y la predicción de nuevos contagios y realizar un flujo en Alteryx para obtener los casos acumulados de cada país, las poblaciones correspondientes, todos los casos de contagio y una enumeración desde el primer día de contagio para cada país, para como esto tener un mejor análisis. El flujo utilizado para esto es el siguiente:
Teniendo la data utilizamos un tercer software Qlik Sense para visualizar tanto los casos ya existentes y las predicciones.
La visualización en Qlik Sense de los datos, se encuentra a continuación y es entregada en 8 gráficos, explicados a continuación.
Ya que como los primeros 100 casos de contagio suelen ser importados y lo que se quiere analizar es cómo se comporta el contagio en el país mismo, las visualizaciones siguientes toman desde los 100 casos de contagio en adelante. Los países se encuentran diferenciados por color, los cuales son:
Chile- Rojo
España- Magenta
Italia – Morado
Irán- Verde
Estados Unidos – Azul
Brasil- Amarillo
México – Celeste
Suecia – Negro
Predicciones- Gris.
Es posible ver que las primeras dos corresponden a la evolución del Covid-19 junto con las predicciones (en gris) en relación a las fechas, estas se encuentran en escala lineal y logarítmica para una mejor comparación.
Evolución contagios Covid-19 (Escala lineal)
Evolución contagios Covid-19 (Escala logarítmica)
Las siguientes dos visualizaciones corresponde a la evaluación de contagios del Covid-19 pero en relación a los días de contagio, lo que resulta mucho más cómodo para comparar entre países y su evolución desde el día inicial hasta la actualidad.
Evolución contagios Covid-19 en base a los días de contagio(Escala lineal)
Evolución contagios Covid-19 en base a los días de contagio(Escala logaritmica)
Los últimos 4, generan una mejor comparación ya que es la evolución del número de contagiados por cada 100 mil habitantes, por la fecha y por días de contagio.
Evolución de contagios cada 100 mil habitantes (escala lineal)
Evolución de contagios cada 100 mil habitantes (escala logarítmica)
Evolución de contagios cada 100 mil habitantes en base a días de contagio
(escala lineal)
Evolución de contagios cada 100 mil habitantes en base a días de contagio
(escala logarítmica)
Autor:
Fernanda Guerrero – Data Science Consultant A10
Co-autor:
Oriana Spinett – Advanced Analytics Consultant A10
Manuel Ceballos – Customer Care Manager Advanced Analytics A10