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.

Este proceso consiste en la recolección de datos a través de una encuesta especializada de dos partes. En la primera, los encuestadores visitarán de forma aleatoria las casas de la comuna de Coyhaique, solicitando la participación a las personas adultos mayores que encuentren (con edad mayor o igual a 65 años). Una vez que la persona decide participar y se le aplica la primera parte de la encuesta, se lleva a cabo la segunda parte. Ésta consiste en una encuesta realizada en las dependencias del Hospital Regional de Coyhaique, donde un profesional calificado medirá distintos aspectos de su estado de salud. La experiencia será llevada a cabo hasta mediados de Febrero del año 2018.

Los datos obtenidos serán utilizados de forma anónima para el desarrollo de este proyecto durante el año 2018, en el que se pretende descubrir patrones de relevancia presentes en los datos, a través de técnicas avanzadas de minería de datos. Cualquier persona mayor a 65 años y residente en la comuna de Coyhaique puede participar.

Para mayor información, puede contactarse al correo contactokoreisha.coyh@gmail.com y también a través de redes sociales:

Facebook: /KoreishaUchile

Twitter: @KoreishaUchile

Descarga el afiche de la toma de encuesta del proyecto haciendo click acá

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.