Modelo de regresión para fallecidos por COVID-19 - MINSA
1. Resumen del trabajo
En el presente trabajo se buscará determinar los mejores modelos de Machine Learning para la predicción de algunos atributos comunes a las personas fallecida por COVID-19, tales como el sexo de los fallecidos, el día de la semana de fallecimiento, el mes de fallecimiento, y el departamento de fallecimiento, haciendo uso del conjunto de datos publicado por el Ministerio de Salud de Perú a la fecha 14-01-2021. Los modelos de predicción abordados fueron los de Árboles de decisión (J48 y RandomForest), LibSVM y BayesNet.
2. Descripción del Dataset
El dataset original está compuesto por un total de 39044 instancias, y presenta los siguientes atributos que corresponden a Fecha de Corte, Fecha de Nacimiento, UUID (Identificador único del fallecido), Fecha de Fallecimiento, Sexo, Departamento, Provincia y Distrito, tal como se puede observar a continuación:
Para poder trabajar adecuadamente con el dataset brindado por el MINSA, es necesario realizar un preprocesamiento y formateo adecuado de los datos. Para ello se hizo uso del programa Excel de forma que se hicieron los siguientes cambios:
- Se eliminaron los espacios en blanco en los valores de cada uno de los atributos, reemplazandolos por el carácter “guión bajo” ( _ ). Por ejemplo, “LA LIBERTAD” fue reemplazada por “LA_LIBERTAD”.
- Las fechas en el dataset se encontraban como números continuos sin separación. Por ejemplo la fecha “19/03/2020” estaba escrita como 20200319. Se corrigieron estos valores al formato de fecha “dd-mm-aaaa”.
- Se crearon nuevos campos en el dataset extraídos de la fecha de fallecimiento (campo FECHA_FALLECIMIENTO): DIA_FALLECIMIENTO y MES_FALLECIMIENTO, para realizar predicciones sobre estos campos.
- Se eliminaron los campos innecesarios, tales como FECHA_CORTE (Fecha en la que se hizo el corte de la información publicada, puesto que todos los valores en este campo eran iguales), el identificador del fallecido (UUID), y los campos de PROVINCIA y DISTRITO, pues solo se consideró realizar predicciones sobre el DEPARTAMENTO, que es un campo mucho más general que los dos anteriores.
A continuación, se convirtió el dataset a .csv para poder cargarlo a Weka, quedando de la siguiente manera:
Disponemos de 6 atributos, y un total de 39.044 instancias en el dataset procesado.
Dado que los atributos son pocos, como se puede observar son un total de 6, no es necesario aplicar la técnica de Principal Components para reducir el tiempo de procesamiento. Sin embargo, el dataset es grande en cuanto a instancias para el entrenamiento de los modelos y las pruebas correspondientes.
PREDICCIÓN DEL DÍA DE FALLECIMIENTO
En esta sección buscaremos encontrar el mejor modelo para la predicción del día de fallecimiento (cualquier día de la semana de Lunes a Domingo).
Para este primer caso no es necesario balancear los datos, puesto que estos se encuentran aproximadamente balanceados (cada una de las 7 clases - días de la semana - tienen similares cantidades de incidencias) como podemos observar a continuación:
Luego del preprocesamiento, el dataset se sometió a los siguientes modelos:
Árbol de decisión
J48
Random Forest
SVM
Redes Bayesianas
PREDICCIÓN DEL MES DE FALLECIMIENTO
Para este caso fue necesario aplicar el filtro SMOTE para balancear ligeramente las clases (los meses en los que las personas fallecieron por COVID). Se obtuvo un total de 44253 instancias.
Para este caso se consideraron los modelos J48, RandomForest y BayesNet.
J48
BayesNet
PREDICCIÓN DEL SEXO DE LOS FALLECIDOS
Puede observarse que hay un desbalance significativo entre las clases Masculino y Femenino, por lo que se tuvo que aplicar el filtro SMOTE para el balanceo de estas clases.
Luego del balanceo, se obtuvieron un total 51.469 instancias.
Ahora probaremos distintos modelos para determinar cuál de ellos predice mejor el SEXO de los fallecidos por COVID.
J48
Random Forest
LibSVM
BayesNet
4. Conclusiones
- Predicción del día de fallecimiento en una semana
Para este caso, se obtuvo que los mejores modelos para la predicción fueron los de J48, Random Forest y BayesNet, todos ellos con una precisión de 99,9829% (solo 2 instancias incorrectamente clasificadas en cada caso) y valores de TP Rate cercanos a 1, con lo cual se puede concluir que son óptimos para la predicción del día de fallecimiento. En cuanto al modelo de Lib SVM, este es deficiente pues presenta una precisión del 41,2106%. En los casos anteriores se observó una ligera diferencia al probar con la Técnica de Cross Validation, donde los árboles de decisión (J48 y RandomForest) fueron ligeramente mejores que Bayes para la predicción. - Predicción del mes de fallecimiento
Los mejores modelos obtenidos fueron el de árboles de decisión (J48 y RandomForest) ligeramente superiores a BayesNet. Los primeros obtuvieron una precisión del 100% mientras que BayesNet, 99,9548%. - Predicción del sexo del fallecido
Para este caso tenemos que el mejor modelo de predicción de la clase SEXO es el Random Forest, con una precisión del 66,725% y una tasa de TP Rate superior al 0.66 para cada clase.
El dataset empleado está disponible en el repositorio de GitHub:
https://github.com/lblackrc/Fallecidos-COVID-19/tree/master/Clasificaci%C3%B3n