Data Analytics: Oportunidades para la salud del siglo XXI

Con los avances tecnológicos actuales es natural que el flujo de información digital en el área de salud se genere a velocidades y magnitudes cada vez mayores. Sin embargo, los actuales sistemas de información inmersos en esta área suelen ser deficientes. El poco provecho que se hace de estas valiosas fuentes de conocimiento están llamando la atención de la investigación en el área de Data Science, donde cada vez son más las iniciativas que tratan de combinar y utilizar distintas técnicas de análisis y almacenamiento de grandes cantidades de datos, para generar utilidad a los profesionales especialistas en el área de la salud.Leer más

Cyber-physical systems aplicados a salud

En la actualidad, cada vez es más común que la computación y la tecnología se integren a la vida cotidiana. Conceptos como la Computación Ubicua y el Internet de las Cosas (IoT) suenan con mayor frecuencia, siguiendo las tendencias de la tecnología actual, que se encuentra presente en todos lados. Las personas ya no sólo poseen un teléfono móvil para llamar desde cualquier parte sino que ahora van a todos lados con un teléfono móvil inteligente, un dispositivo mucho más sofisticado, los cuales en conjunto con la modernización de los proveedores de Internet, hacen posible que las personas pueden contar con una conexión inalámbrica remota de calidad aceptable desde cualquier ubicación que cuente con cobertura. En palabras más simples, las personas están constantemente conectadas a Internet a través de sus dispositivos. Y no sólo a través de sus teléfonos sino que de sus televisores, relojes inteligentes, consolas de videojuegos, computadores portátiles, entre otros.Leer más

Koreisha – Inicio de toma de encuesta

Esta semana ha dado inicio la toma de encuesta del proyecto Koreisha, una iniciativa de las facultades de Ingeniería y Medicina de la Universidad de Chile, con el apoyo del Servicio de Salud de Aysén. El proyecto se orienta al análisis de variables médicas y psico-sociales provenientes de adultos mayores, en una población seleccionada de la región de Aysén.Leer más

Machine Learning y algunas buenas prácticas

En el WIC se desarrollan proyectos multidisciplinarios que suelen encontrarse con un punto en común: El uso de Machine Learning para la detección de ciertos fenómenos asociados a un problema que puede ser representado a través de un conjunto de datos.

Pero, ¿qué es Machine Learning? En palabras simples, es el uso de algoritmos computacionales para que una máquina aprenda a hacer cosas. Podría existir interés en aprender a completar una tarea, realizar predicciones etc. Este aprendizaje siempre se realiza a partir de observaciones o datos asociados al fenómeno que se pretende aprender, como ejemplos, experiencia directa, instrucciones, entre otros. Entonces la premisa general es aprender a hacer mejor las cosas en el futuro, en función de la experiencia del pasado.

Entonces, ¿cómo se desarrolla un proyecto de Machine Learning? Géron (2017) propone 8 pasos principales para llevar a cabo el proyecto:

1.- Mirar la imagen completa

Es importante identificar el contexto del problema. ¿Por qué llevar a cabo este proyecto es beneficioso para la organización? ¿Cuál es el objetivo de negocio? ¿Qué existe actualmente? ¿Cuáles soluciones alternativas tenemos? ¿Cómo mediré el desempeño de mi modelo? Estas preguntas son relevantes a la hora de definir el problema y sus alcances. Una vez que eso está claro, es posible diseñar el sistema que construiremos: ¿Qué tipo de tarea debo diseñar? ¿Una clasificación o regresión? ¿Se utilizará aprendizaje supervisado o no supervisado?

2.- Obtener los datos

Una vez que se determina el problema y el sistema, es hora de mirar los datos y estudiar su estructura. Estadísticas básicas como cantidad de datos, media, desviación estándar, entre otros. También selección de muestras (aleatorias o estratificadas según corresponda) para generar un set de datos de prueba y un set de entrenamiento. El set de entrenamiento es lo que permitirá enseñar al modelo aquellos patrones que desea identificar, mientras que el set de prueba es el conjunto de datos que permitirá probar el rendimiento del modelo.

3.- Descubrir y visualizar los datos para obtener información

Similar al paso anterior, pero la idea es un análisis más profundo a partir de visualizar los datos gráficamente, observar correlaciones entre los atributos existentes, etc.

4.- Preparar los datos para los algoritmos de Machine Learning

Antes de aplicar algoritmos de Machine Learning sobre los datos, es necesario pre-procesarlos/transformarlos a través de distintas técnicas para que los algoritmos tengan un buen desempeño. Entre estas transformaciones se puede destacar el escalar a través de normalización o estandarización (los atributos numéricos podrían tener escalas diferentes y esto puede impactar negativamente el desempeño de los algoritmos).

En vez de realizar este paso manualmente de forma constante, el autor recomienda escribir funciones para hacerlo, lo cual conlleva varios beneficios: Permitiría reproducir el pre-procesamiento de forma fácil en cualquier conjunto de datos, se podrían utilizar en un sistema que transforme los datos en el momento mientras opera (por ejemplo, si se estuviese trabajando con datos transaccionales) y hará que probar distintas combinaciones de transformaciones/pre-procesamientos sea sencillo de realizar.

5.- Seleccionar un modelo y entrenarlo

Ahora es el momento de seleccionar un modelo de Machine Learning y entregarle datos de entrenamiento para que pueda “aprender” a identificar lo que queremos. ¿Cuál es el algoritmo de Machine Learning que debo utilizar? La respuesta es: Depende. Primero, considerar si se pretende trabajar con un algoritmo de aprendizaje supervisado (es decir, que aprende en base a ejemplos previamente etiquetados) o si es un aprendizaje no supervisado (es decir, el algoritmo se encarga de organizar los datos y darles una estructura ya que esta no es conocida previamente). Otras consideraciones se asocian a la precisión deseada (podría preferir métodos menos precisos para evitar que el modelo se sobreajuste a los datos), el tiempo de entrenamiento, linealidad (por ejemplo en algoritmos de regresión logística o SVM donde se asume que las clases a identificar podrían estar separadas mediante una línea recta o su análogo en mayores dimensiones), cantidad de atributos, entre otros.

6.- Ajustar el modelo

Asumiendo que en el paso previo se realizaron pruebas con distintos algoritmos de forma tal que ahora se cuenta con una breve lista de algoritmos prometedores, es hora de ajustarlos de forma detallada. Los algoritmos de Machine Learning en general podrían recibir una gran cantidad de parámetros, los cuales deben ser ajustados y distintas combinaciones de valores para estos podrían dar resultados diferentes en función de los datos. Entonces, la idea es probar con distintos valores para encontrar la configuración más adecuada. Sin embargo, esto podría ser tedioso de realizar de forma manual. En general, paquetes de análisis estadístico y Machine Learning como Scikit-Learn en Python disponen de herramientas que permiten realizar automáticamente esta búsqueda de parámetros.

7.- Presentar la solución

Antes de iniciar todo, es importante “presentar” esta solución, lo que involucra destacar lo aprendido, documentar aquellos elementos que funcionaron y que no funcionaron, dejar claros los supuestos hechos sobre el modelo y las limitaciones que éste tiene. Esto permitirá que sea validado por quienes deben aprobar su lanzamiento a producción.

8.- Iniciar, supervisar y mantener el sistema

Finalmente, luego de validar correctamente el modelo es hora de llevar la solución a un entorno de producción, estando preparado para recibir datos reales y poder operar en ese contexto. Es importante que exista código de monitoreo para supervisar el desempeño del sistema implementado y poder lanzar alertas en caso de que algo no funcione bien.

Epidemiología y Data Science

La epidemiología es un área que estudia la ocurrencia y distribución de eventos, estados y procesos asociados a la salud en poblaciones específicas. El estudio se centra en la identificación de factores determinantes que influencian estos eventos o procesos, los que pueden ser factores biológicos, geofísicos, sociales, culturales, etc. y también en la aplicación de este conocimiento para controlar problemas de salud relevantes. Por esta razón, en Epidemiología es muy importante el concepto de causalidad, el cual corresponde a la relación entre las causas y los efectos que éstas producen. La mayor parte de la investigación epidemiológica se refiere a formas de causalidad.

Aquellos factores determinantes que son relacionados causalmente en el cambio de riesgo de un proceso o condición de salud relevante, se les llama factores de riesgo. En la actualidad, algunos autores hacen referencia a dificultades en el descubrimiento de factores de riesgo. Esto debido a que a medida que el área avanza, los factores de riesgo son más elaborados y abstractos. Como en general, estos factores se caracterizan a través de estudios con grupos de prueba (afectados por ciertas condiciones) y control (no afectados), pero estos son difíciles de llevar a cabo debido a el largo tiempo que podría pasar para que un factor de riesgo en realidad genere una enfermedad, el hecho de que se requiere una muestra bastante grande de personas para poder considerar todos los factores pertinentes y el hecho de que no sería ético permitir que una población consuma alguna sustancia o siga algún estilo de vida que podría ser perjudicial para su salud. Para compensar esto, se comparan los grupos de prueba y control para comprobar eventuales diferencias que existan en los ambientes que les rodean, sus estilos de vida, etc. pero autores como Taubes en 1995 plantean que las conexiones causales que se podrían descubrir, son demasiado complejas e interactúan de forma no lineal. Existen diversos factores de confusión, sesgos en la selección de los grupos de prueba y control, falta de información precisa que la gente no recuerda y por lo mismo, no puede proporcionar (ej. hábitos alimenticios, ejercicio en vida cotidiana).

Ante este escenario, surgen oportunidades de la mano de las nuevas tecnologías de Data Science, como el Data Mining (herramientas para la extracción de información y generación de conocimiento a partir de un conjunto de datos) y Big Data (un entorno preparado para un manejo viable de cantidades masivas de información). Flahault et al 2016 (Public Health and Epidemiology Informatics) menciona algunas de estas oportunidades, pensando en la Epidemiología y su aplicación en salud pública, apoyándose en el escenario actual de E.E.U.U. donde la mayoría de los hospitales públicos utilizan registros médicos electrónicos, facilitando el uso de esta información por parte de estas herramientas. Por ejemplo, un caso del 2012 en el que oficiales de salud pública notaron un incremento en reportes de laboratorio en los que se indicaban casos de infecciones asociadas a Escherichia Coli y ante esto, en menos de una semana reunieron suficiente evidencia como para generar una alerta pública respecto a la infección, vinculadas a los brotes de trébol de una cadena de comida rápida. La cadena actuó, eliminó los brotes y el peligro fue eliminado. O el caso de Google Flu Trends, donde se estimaba la prevalencia de los brotes de gripe en función de las búsquedas relacionadas a gripe y asociados, donde en algunos casos se sobreestimó los niveles de prevalencia de gripe, pero en otros (por ej. casos de Influenza) las predicciones fueron más precisas.

En conclusión, existen formas mejores de manejar datos masivamente en la actualidad, y para la Epidemiología esto se transforma en montones de oportunidades interesantes. Bajo esta idea, el proyecto Koreisha pretende descubrir relaciones causales interesantes en una población seleccionada de adultos mayores, apoyados en estas herramientas e información recolectada. Se espera tener resultados preliminares a fines de este año.