Temas acerca de Inteligencia Artificial
Foto de Usuario
jbrcaballero

Ranking Troomes
Mensajes: 3
Registrado: 11 Sep 2021, 10:49

Comparación de Algoritmos para Predicción de Mortalidad por COVID-19

Mensaje por jbrcaballero » 23 Nov 2021, 11:08

Alumno: José Caballero

1. Título
Comparación de Algoritmos para Predicción de Mortalidad por COVID-19

2. Resumen
El presente trabajo utiliza información disponible a través del portal de datos abiertos del gobierno del Perú, en particular, información de hospitalizados por COVID-19. Esta información se encuentra vinculada con la base de fallecidos y contiene información correspondiente a las dosis de vacunas COVID, en caso de haberlas recibido. Con dicha información se aplicaron técnicas de clasificación para poder predecir la mortalidad de cada paciente. Se utilizaron las técnias de Random Forest, Árboles de Decisión, Redes Bayesianas y SVM. Se comparan estas técnicas en términos de tiempo de procesamiento y precisión.

3. Descripción del Dataset
Se tomó en cuenta el dataset "Hospitalizados, vacunados y fallecidos por COVID-19". El link original es el siguiente:
https://www.datosabiertos.gob.pe/datase ... r-covid-19
La información contiene datos generales dela paciente, así como datos de su hospitalización y su seguimiento. Contiene también información relevante respecto de si el paciente fue ingresado a UCI o no. También cuenta con la información de la aplicación de vacunas, incluyendo las fechas de las dosis y el fabricante de la vacuna. El dataset original posee 122 258 instancias.
Puntualmente, los campos de los cuales consta el dataset son los siguientes:
  • [eess_diresa] :DIRESA
  • [eess_red]:RED
  • [eess_nombre]:Nombre de EESS
  • [id_eess] :Id del EESS
  • [id_persona] :Id de la Persona
  • [anho_nac] :Año de nacimiento
  • [sexo] :Sexo
  • [fecha_ingreso_hosp] ,:Fecha Ingreso al Hospital.
  • [flag_uci] :En UCI = 1
  • [fecha_ingreso_uci] :Fecha Ingreso a UCI
  • [fecha_ingreso_ucin] :Fecha Ingreso a Cuidados Intermedios
  • [con_oxigeno] :Con Oxigeno suplemental
  • [con_ventilacion] :Con ventilación mecánica
  • [fecha_segumiento_hosp_ultimo] :Ultima Fecha Seguimiento Hospitalario
  • [evolucion_hosp_ultimo] :Evolución Hospitalaria
  • [fecha_dosis1] :Fecha 1ra Dosis
  • [fecha_dosis2] :Fecha 2da Dosis
  • [fabricante_vacuna] :Marca de la vacuna
  • [cdc_positividad] :Caso positivo a COVID
  • [cdc_fecha_fallecido_covid] :Fecha de fallecimiento por COVID
  • [cdc_fallecido_covid] :Falleció por COVID
  • [ubigeo_domicilio] :Ubigeo INEI de domicilio
  • [dep_domicilio] ,:Region de domicilio
  • [prov_domicilio] :Provincia de domicilio
  • [dist_domicilio] :Distrito de domicilio

3. Descripción de los Resultados Obtenidos

Se realizó el pre-procesamiento de los datos para permitir su adecuado uso en los algoritmos. Como parte de este proceso se procedió a balancear el dataset, a fin de tener números similares de ocurrencias para fallecidos y no fallecidos.
El dataset final fue utilizado para predecir la mortalidad por COVID-19 (campo cdc_fallecido_covid). Se utilizaron las técnicas de Árboles de Decisión, Random Forest, Redes Bayesianas y SVM.

La técnica de Árboles de Decisión permitió obtener los mejores resultados con un porcentaje de instancias clasificadas correctamente superior al 96.2%. Asimismo, el tiempo de ejecución se mantuvo por debajo de los 2 minutos, obteniendo resultados en menor tiempo que SVM. La matriz de confusión muestra una precisión similar para ambas clases (S/N).
A nivel numérico se obtuvieron los siguientes resultados:


Time taken to build model: 92.61 seconds

=== Evaluation on test split ===

Time taken to test model on test split: 0.03 seconds

=== Summary ===

Correctly Classified Instances 23252 96.2935 %
Incorrectly Classified Instances 895 3.7065 %
Kappa statistic 0.9259
Mean absolute error 0.0747
Root mean squared error 0.1859
Relative absolute error 14.9386 %
Root relative squared error 37.1835 %
Total Number of Instances 24147

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class
0.965 0.039 0.961 0.965 0.963 0.926 0.976 0.964 N
0.961 0.035 0.965 0.961 0.963 0.926 0.976 0.968 S
Weighted Avg. 0.963 0.037 0.963 0.963 0.963 0.926 0.976 0.966

=== Confusion Matrix ===

a b <-- classified as
11614 421 | a = N
474 11638 | b = S



Para Random Forest, el tiempo de ejecución fue mayor que para el Árbol de Decisión. Adicionalmente, los resultados a nivel de instancias correctamente clasificadas son bastante cercanos, con ligera ventaja para el caso de los árboles de decisión.
Los resultados fueron los siguientes:


Time taken to build model: 926.79 seconds

=== Summary ===

Correctly Classified Instances 68313 96.1857 %
Incorrectly Classified Instances 2709 3.8143 %
Kappa statistic 0.9237
Mean absolute error 0.1472
Root mean squared error 0.2086
Relative absolute error 29.4486 %
Root relative squared error 41.7276 %
Total Number of Instances 71022

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class
0.967 0.043 0.957 0.967 0.962 0.924 0.990 0.990 N
0.957 0.033 0.966 0.957 0.962 0.924 0.990 0.988 S
Weighted Avg. 0.962 0.038 0.962 0.962 0.962 0.924 0.990 0.989

=== Confusion Matrix ===

a b <-- classified as
34303 1182 | a = N
1527 34010 | b = S


Para el caso de SVM, encontramos que la precisión fue la más baja de todas, ligeramente superior al 70%. Asimismo, las métricas de error relativo fueron las más altas. En relación con el tiempo de ejecución, fue el más alto de todos (superior a una hora).
A continuación se muestran los resultados:


Time taken to build model: 3839.24 seconds

=== Evaluation on test split ===

Time taken to test model on test split: 217.92 seconds

=== Summary ===

Correctly Classified Instances 17316 71.7108 %
Incorrectly Classified Instances 6831 28.2892 %
Kappa statistic 0.435
Mean absolute error 0.2829
Root mean squared error 0.5319
Relative absolute error 56.5784 %
Root relative squared error 106.375 %
Total Number of Instances 24147

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class
0.937 0.502 0.650 0.937 0.768 0.484 0.718 0.640 N
0.498 0.063 0.889 0.498 0.639 0.484 0.718 0.695 S
Weighted Avg. 0.717 0.281 0.770 0.717 0.703 0.484 0.718 0.668

=== Confusion Matrix ===

a b <-- classified as
11279 756 | a = N
6075 6037 | b = S



El uso de Redes Bayesianas permitió la clasificación en un tiempo significativamente menor que el resto de técnicas (menos de 1 segundo). Los niveles de precisión son también buenos; sin embargo, se mantiene por debajo de lo obtenido utilizando las técnicas de Árboles de Decisión y Random Forest.
A continuación presentamos los resultados a nivel numérico.


Time taken to build model: 0.88 seconds

=== Evaluation on test split ===

Time taken to test model on test split: 0.23 seconds

=== Summary ===

Correctly Classified Instances 22576 93.494 %
Incorrectly Classified Instances 1571 6.506 %
Kappa statistic 0.8699
Mean absolute error 0.0683
Root mean squared error 0.2374
Relative absolute error 13.6565 %
Root relative squared error 47.4756 %
Total Number of Instances 24147

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class
0.914 0.044 0.954 0.914 0.933 0.871 0.977 0.979 N
0.956 0.086 0.918 0.956 0.936 0.871 0.977 0.970 S
Weighted Avg. 0.935 0.065 0.936 0.935 0.935 0.871 0.977 0.975

=== Confusion Matrix ===

a b <-- classified as
10994 1041 | a = N
530 11582 | b = S



4. Conclusiones
  • Tres de las cuatro técnicas utilizadas ofrecen valores altos de precisión para el problema planteado (por encima del 90%).
  • Podemos atribuir estos resultados a la presencia de variables con un alto poder predictivo para la mortalidad, por ejemplo, el indicador de paciente ingresado a UCI.
  • El algoritmo con el mejor rendimiento fue el de Árboles de Decisión; sin embargo, los resultados son bastante cercanos al de Random Forest. Podemos decir que no existe una diferencia significativa entre ambos algoritmos y una configuración diferente de parámetros para Random Forest podría permitir que se superen los resultados obtenidos por el Árbol de Decisión.
  • El algoritmo con los peores resultados, tanto a nivel de precisión como de tiempo de ejecución fue SVM. Los resultados a nivel de precisión pueden mejorarse realizando actividades adicionales de pre-procesamiento y evaluando los resultados en el modelo.


Responder