Full text
Trabajo Fin de Máster Técnicas de aprendizaje supervisado en la enfermedad de Alzheimer. Aplicaciones al estudio ADNI. Jorge Pérez Heredia Supervisores: José Tomás Alcalá Nalvaiz Salvador Olmos Gasso 8 de septiembre de 2014
Prólogo En este trabajo hemos empleando técnicas de Minería de Datos sobre la base de datos del proyecto Alzheimer's Disease Neuroimaging Initiative ( ADNI ) con el objetivo de encontrar patrones en el seguimiento de los pacientes con la enfermedad de Alzheimer. El objetivo es realizar un diagnóstico del estado de la enfermedad y una predicción futura sobre si habrá conversión a una etapa más avanzada de la enfermedad. En el primer caso obtuvimos resultados excelentes con precisiones de hasta 90 % y valores del área bajo la curva ROC (AUC) superiores a 0,94 , en el segundo problema obtuvimos precisiones del 78 % y AUC de 0,8 en predicciones a 6-12 meses vista, mientras que para previsiones a más largo plazo la precisión se redujo a unos valores entre el 55 y el 75 % y el AUC entre 0,63 y 0,76 . Prologue In this project we have applied Data Mining techniques over the Alzheimer's Disease Neuroimaging Initiative ( ADNI ) database searching for patterns in the evolution of patients with Alzheimer's disease. The aim of this project was to diagnose the stage of the disease and to predict if there will a conversion to a worse stage. In the rst case we reached accuracy levels up to 90 % with areas under the ROC curve ( AUC) of 0.94 , in the second problem the accuracy was 78 % with an AUC of 0.8 in predictions within a 6-12 months term, however in a long term prediction the accuracy was reduced to levels between 55 −75 % and an AUC between 0.63-0.76 . i
Índice general Índice general II 1. Introducción 1 1.1. Enfermedad de Alzheimer . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1. Fisiopatología y posibles causas . . . . . . . . . . . . . . . . . . . . 1 1.1.2. Etapas de la enfermedad . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.3. Diagnóstico............................... 4 1.2. ElproyectoADNI ............................... 5 1.2.1. La base de datos: ADNIMERGE . . . . . . . . . . . . . . . . . . . 6 2. Introducción a la Minería de Datos 7 2.1. Modelos..................................... 10 2.1.1. K vecinos cercanos . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2. Máquinas de vector soporte . . . . . . . . . . . . . . . . . . . . . . 11 2.1.3. Árboles de decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.4. Bosques aleatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2. Validación de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1. Error esperado de predicción . . . . . . . . . . . . . . . . . . . . . 15 2.2.2. Tabladeconfusión........................... 16 2.2.3. CurvaROC............................... 16 2.2.4. Validación cruzada . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3. Preprocesamiento y selección de variables . . . . . . . . . . . . . . . . . . 18 2.3.1. Tratamiento datos faltantes . . . . . . . . . . . . . . . . . . . . . . 18 2.3.2. Localización de datos anómalos . . . . . . . . . . . . . . . . . . . . 19 2.3.3. Selección de atributos . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.4. Estandarización de variables continuas . . . . . . . . . . . . . . . . 21 2.3.5. Separación de variables categóricas . . . . . . . . . . . . . . . . . . 21 3. Modelización y resultados 22 3.1. Preprocesamiento................................ 22 3.2. Conjuntodedatos ............................... 22 3.3. Análisisestadístico............................... 24 3.3.1. Distribuciones de las variables . . . . . . . . . . . . . . . . . . . . . 24 3.3.2. Multicorrelación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.3. Análisis de componentes principales . . . . . . . . . . . . . . . . . 26 3.4. Diagnóstico ................................... 27 3.4.1. Vecinoscercanos ............................ 27 ii
ÍNDICE GENERAL 3.4.2. Máquina de vector soporte . . . . . . . . . . . . . . . . . . . . . . . 28 3.4.3. Árboldedecisión............................ 28 3.4.4. Bosquealeatorio ............................ 30 3.4.5. Conclusiones .............................. 31 3.5. Conversión a corto plazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.5.1. Vecinoscercanos ............................ 32 3.5.2. Máquina de vector soporte . . . . . . . . . . . . . . . . . . . . . . . 33 3.5.3. Árboldedecisión............................ 33 3.5.4. Bosquealeatorio ............................ 36 3.5.5. Conclusiones .............................. 37 3.6. Conversión a largo plazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4. Conclusiones 40 Bibliografía 41 A. Librerías del lenguaje R 43 B. Principales test cognitivos 45 C. Grácas 46 C.1.Análisisestadístico............................... 46 C.2.Diagnóstico ................................... 58 C.3.Conversión ................................... 60 iii
1. Introducción Uno de los principales problemas en la investigación de la enfermedad de Alzheimer [1] es su tardía detección, por lo que conseguir diagnosticarla antes de que empiecen a aparecer los síntomas es uno de los principales objetivos de los cientícos. En este trabajo hemos tenido acceso a la base de datos recopilada por el proyecto Alzheimer's Disease Neuroimaging Initiative ( ADNI ) [2], donde se recoge el seguimiento de hasta 1650 pacientes en diferentes etapas de la enfermedad. Hemos conseguido distinguir entre ancianos normales y dos estadios de la enfermedad con una precisión diagnóstica muy buena, y aunque no hemos logrado obtener un test de diagnóstico competente para las fases tempranas de la enfermedad, sí hemos podido establecer unas nuevas reglas de selección que dependen únicamente de pruebas sin apenas coste económico y no invasivas. Esas reglas pueden servir de ayuda en la toma de decisiones de la práctica clínica rutinaria. 1.1. Enfermedad de Alzheimer La enfermedad de Alzheimer [1] o Alzheimer Disease (AD) fue descrita en 1906 por Alois Alzheimer, es la forma de demencia más común, en el 2006 afectó al 0.4% de la población y se prevee que esta cifra se triplique para el año 2050. Actualmente no tiene cura y únicamente se tratan sus síntomas (con escasa ecacia), es una enfermedad degenerativa que empeora con el tiempo llegando a provocar incluso la muerte. La esperanza de vida después del diagnóstico es de 7 años. Se han propuesto numerosas medidas preventivas (dieta, ejercicio físico, entrenamiento cognitivo,...) pero ninguna ha conseguido demostrar su ecacia. Aunque algunos síntomas pueden variar según la persona, la mayoría son comunes y normalmente se atribuyen erróneamente a la edad o al estrés. Generalmente afecta a la población mayor de 65 años, pero pueden darse casos en personas más jóvenes. 1.1.1. Fisiopatología y posibles causas La enfermedad de Alzheimer se caracteriza por la pérdida de neuronas y sinapsis en la corteza cerebral y en algunas regiones subcorticales, provocando atroa en varias partes del cerebro. Estos daños son visibles en las imágenes de resonancia magnética (MRI ), al ver una clara disminución en el volumen de algunas estructuras anatómicas del cerebro. 1
1. Introducción Figura 1.1.1.: Ilustración mostrando la diferencia entre un cerebro sano (izquierda) y uno con Alzheimer (derecha). A nivel histológico la enfermedad esta asociada a la aparición de unas placas seniles extracelulares y unos ovillos neurobrilares (Ver gura 1.1.2), estableciendo así tres hipótesis sobre la causa de la enfermedad. Hipótesis amiloide [3]: Como las placas extracelulares están formadas principalmente por una pequeña proteína llamada amiloide, esta hipótesis sostiene que la alteración de las concentraciones de esta proteína son la causa de la enfermedad. Estos cambios pueden ser provocados por mutaciones genéticas, generalmente en los genes proteína precursora amiloide ( APP) , presenilinas 1 y 2, o en el gen TREM2. Hipótesis amiloide revisada [4]: Después de que una vacuna experimental consiguió limpiar estas placas pero no tuvo efecto sobre el estado cognitivo de los sujetos, se cambió la hipótesis anterior. Esta hipótesis revisada sostiene que unos oligómeros cercanos a esta proteína conocidos como ligandos difusibles derivados del amiloide ( ADDLs ) son los causantes de la enfermedad, al unirse a algunos receptores entorpecen la sinapsis y dañan la comunicación neuronal. Se cree que uno de estos receptores es la misma proteína prión causante de la enfermedad de CreutzfeldtJakob en el hombre (en los animales encefalopatía espongiforme bovina), estableciendo así un nexo de unión entre dos enfermedades neurodegenerativas. Hipótesis tau [5]: Según esta hipótesis la proteína tau hiperfosforilizada se empareja con otros hilos de la proteína tau , y forman eventualmente ovillos neurobrilares dentro de las neuronas, provocando la desintegración de los microtúbulos y un mal funcionamiento de las comunicaciones neuronales. 2
1. Introducción Figura 1.1.2.: Efectos del AD en el cerebro. Hasta la fecha se han identicado varios factores de riesgo para padecer la enfermedad de Alzheimer. El primero y más importante es la edad, ya que la prevalencia de la enfermedad crece exponencialmente con la edad. El segundo factor de riesgo en importancia es la presencia del alelo 4 del gen apolipoproteína E ( APOE ) [6], ya que entre el 40 y el 80% de los enfermos de AD tienen al menos uno de estos alelos. 1.1.2. Etapas de la enfermedad Según el avance de la enfermedad se diferencian tres etapas: temprana, intermedia y tardía. Los síntomas varían en cada etapa y también dieren de la manifestación del envejecimiento natural. Efectos del envejecimiento en la memoria Pérdida de memoria ocasional. No recordar ocasionalmente la ubicación de los objetos. Débil pérdida de la memoria a corto plazo. Olvidarse de haber tenido alguna pérdida de memoria. Etapa temprana Distracciones. Olvidarse de citas. 3
1. Introducción Familiares cercanos aprecian un débil deterioro. Confusión en algunas situaciones fuera del ámbito familiar. Etapa intermedia Dicultad para recordar cosas aprendidas recientemente. Mayor confusión en muchas circunstancias. Dicultad en el habla. Iniciar repetidamente la misma conversación. Etapa tardía Alteraciones de la conducta. Aumento de la agresividad o la pasividad. Dependencia en las actividades de la vida diaria y pérdida del autocuidado. Décit cognitivo. Aumento de la ansiedad y la paranoia. 1.1.3. Diagnóstico El National Institute of Neurological and Communicative Disorders and Stroke (NINCDS) y la Alzheimer's Disease and Related Disorders Association (ADRDA ) establecen los criterios de clasicación de la enfermedad de Alzheimer, revisados por última vez en el 2007 [7]. Aunque para realizar un diagnóstico denitivo es necesaria una examinación postmorten en el microscopio de una muestra de tejido cerebral, hay numerosas formas de realizar un buen diagnóstico. Los dos tipos de pruebas principales son: los test cognitivos y las imágenes cerebrales. Los test sirven para establecer la existencia de demencia y su severidad, y las imágenes se realizan para cuanticar el volumen de las distintas áreas del cerebro y determinar si hay atroa y/o daño cerebral. También son importantes otros datos como la historia familiar. Pero el principal reto es determinar si una persona padecerá AD en un futuro sin haber mostrado ningún síntoma actualmente. Estos test deben basarse en las causas y no en los efectos de la enfermedad, siguiendo las hipótesis amiloide y tau (Ver subsección 1.1.1) se ha conseguido elaborar un test diagnóstico con una sensibilidad del 94% a partir de los valores de la concentración de dichas proteínas en muestras de líquido cefalorraquídeo [8]. Para extraer el líquido cefalorraquídeo se realiza una punción lumbar que conlleva cierto dolor y riesgo para el paciente por posibles efectos adversos. Recientemente se ha conseguido estimar estos niveles a través de una tomografía de emisión de positrones (PET) mediante el uso de algunos radioisótopos (Florbetapir F 18 y otros) , esta prueba además de dar una medida más directa de la concentración de estas proteínas nos informa sobre su distribución espacial, por contra el sujeto recibe ciertas dosis de radioactividad y tiene un elevado coste económico. 4
2. Introducción a la Minería de Datos 2.1.2. Máquinas de vector soporte Las support vector machines ( SVM) [16] se basan en buscar el hiperplano de separación máxima (o menor confusión en su defecto) entre las regiones con diferentes clases de nuestro conjunto de datos. (a) Hiperplano de separación máxima. (b) Vectores soporte. Figura 2.1.2.: Ejemplo de máquinas de vector soporte. El hiperplano queda denido por la expresión yiw·xi ||w|| −b≥m, i = 1,2, ..., n (2.1.2) donde w es el vector ortogonal del hiperplano, b el término independiente, m el margen de separación entre el plano y las distintas regiones, xi una entrada e yi su valor de la función objetivo. Si dividimos la expresión (2.1.2) por m y denimos w0=w m||w|| y b0=b /m pasamos de tener que maximizar m a minimizar w0 y b0 obteniendo un problema cuadrático con solución única minw0,b0 ||w0||2 2sujeto a yiw0·xi−b0≥1i= 1,2, ..., n (2.1.3) Utilizando el método de los multiplicadores de Lagrange tenemos L(w0,b0,α) = ||w0||2 2− n X i=1 αiyiw0·xi−b0−1 (2.1.4) que al realizar las derivadas parciales queda w0 ∗=Pαiyixi Pn i=1 αiyi= 0 11
2. Introducción a la Minería de Datos Si en la expresión (2.1.3) sustituimos w0 ∗ nos queda un nuevo problema cuadrático conocido como el problema dual que no depende de w sino de los productos xi·xk maxα n X i=1 αi−1 2 n X i,k=1 αiαkyiykxi·xk (2.1.5) sujeto a Pn i=1 αiyi= 0 y αi≥0,∀i . Cuando αi>0 tenemos que yi[w0·xi−b0] = 1 , a estos puntos se les llama vectores soporte dando nombre a este modelo (ver gura 2.1.2b). Ahora introducimos el kernel trick que consiste en usar por entradas φ(x) en vez de las x , siendo φ(x) las funciones propias de una función kernel K(x,y) = φ(x)Tφ(y) . Trabajaremos pues en un espacio de variables expandido , este truco permitirá clasicar datos linealmente no separables (ver gura 2.1.3b). El problema dual de la expresión 2.1.5 quedará maxα n X i=1 αi−1 2 n X i,k=1 αiαkyiykK(xi·xk) (2.1.6) que nos permite no tener que trabajar con las φ(x) que aunque son la descomposición del kernel suelen ser funciones más complicadas. Se pueden usar numerosos kernels (lineal, polinómico, sigmoidal, gaussiano,...) pero hemos escogido el gaussiano K(x, y) = eγ(x−y)2 y entrenaremos el parámetro γ para que minimice el EPE. (a) Ejemplo de supercie de separación con un kernel gaussiano. (b) Ejemplo de cómo las SVM resuelven datos no linealmente separables ampliando la dimensionalidad. En una dimensión los datos estarían mezclados sobre una recta imposibilitando la separación lineal. Figura 2.1.3.: Kernel tricks. 12
2. Introducción a la Minería de Datos Por último queda saber cómo asignaremos los valores de la variable objetivo a cada entrada, en el caso de clasicación binaria bastará con signo "n X i=1 αiyiK(xk·x)−b# si la variable objetivo tiene más de dos clases dividiremos el problema en muchos de clasicación binaria. 2.1.3. Árboles de decisión Para elaborar un modelo de tipo árbol de decisión [16], necesitamos denir un criterio de partición , un criterio de parada y seguir este algoritmo. Algorithm 2.2 Pseudo-código de un árbol. 1: Situar todos los datos en el nodo raíz 2: Buscar partición óptima en dos nodos hijos 3: while Algún nodo no cumpla el criterio de parada do 4: for k= 1 to #nodos hijos do . Recorrer todos los nodos hijos 5: if Se cumple el criterio de parada then 6: Siguiente nodo hijo 7: else 8: Buscar partición óptima y nueva división 9: end if 10: end for 11: end while El nombre de estos modelos viene de que tienen una estructura en forma de árbol. Como vemos en la siguiente gura cada nodo t queda denido por: el número de individuos nt de los cuales nj,t pertenecen a la clase j de la variable objetivo. Figura 2.1.4.: Ejemplo de un árbol de decisión. 13
2. Introducción a la Minería de Datos Hemos escogido el modelo CART (classication and regression trees) que escoge las particiones óptimas según la impureza del nodo y no tiene criterio de parada. En ocasiones es interesante renunciar a la partición óptima y optar por una secundaria. La principal ventaja de esto es que cuando para una entrada no haya valor de la partición óptima el modelo buscará la siguiente mejor partición para la que hay datos, esto permite trabajar con cierta cantidad de datos faltantes. Criterio de partición Para escoger la partición óptima nos ayudaremos de una magnitud llamada impureza. Hay muchas funciones para medir la impureza pero usaremos la más extendida que es la de Gini i(t) = X i6=j p(j|t)p(i|t) (2.1.7) donde p(j|t) es la probabilidad de tener clase j si estas en el nodo t. Vemos que a menor impureza mejor es la partición así que el criterio será escoger la partición que maximice el decremento de la impureza ∆i(t) = i(t)−ntri(tr) + ntli(tl) nt donde tr es el hijo derecho y tl el nodo hijo izquierdo. Criterio de parada No hay criterio de parada. Se creará un árbol máximo (nodos terminales puros) y después lo podaremos. Para realizar el proceso de poda necesitamos introducir el concepto de coste de un árbol R(T) , que será la probabilidad de mala clasicación R(T) = PtT p(t)r(t) r(root)·100 siendo r(t) el coste de un nodo r(t) = miniPjc(i|j)p(j|t) donde c(i|j) es la penalización o coste de malclasicación y r(root) es una constante de normalización igual al coste del nodo raíz (nodo inicial). El objetivo será minimizar R(T) + α|T| , siendo α un término de complejidad que para cada nodo del árbol máximo valdrá α=R(t)−R(Tt) |Tt| − 1 donde R(t) es el coste del subárbol descendiente del nodo t y R(Tt) el coste del nodo t después de haber podado su subárbol. Se calculará R(Tα) para varios valores de α y por validación cruzada (Ver subsección 2.2.4), y nos quedaremos con el mayor valor de α que este por debajo del valor R(Tα) + std.dev(R(Tα)) . 14
2. Introducción a la Minería de Datos (a) Árbol máximo. (b) Árbol máximo después de la poda. Figura 2.1.5.: Poda de árboles de decisión. La principal ventaja de los árboles es que simulan el proceso humano de toma de decisiones. Son computacionalmente muy ecientes pero por el contrario tienden a sobreajustar los datos a la muestra que disponemos. 2.1.4. Bosques aleatorios Los random forest (RF) [16] son una extensión de los árboles de decisión que corrigen el problema del sobreajuste y mejoran notablemente el rendimiento aunque se pierde la interpretabilidad de los resultados. Este modelo consiste en crear n árboles de decisión pero en cada uno sólo usamos aleatoriamente m de las p variables, a cada entrada se le asignará una predicción y probabilidad según los votos de cada árbol. Tendremos que elegir los dos parámetros n y m. De nuevo escogeremos los que minimicen el EPE (o el AIC o BIC ), pero sólo optimizaremos el parámetro m ya que es el único que afecta sensiblemente el error (ejemplos en las guras C.2.4 y C.3.4). Otra ventaja de estos métodos es que previenen el sobreajuste sin tener que recurrir a otras técnicas como ocurre en los demás métodos, ya que en la construcción de cada árbol no se usan todos los datos sino que se realiza un muestreo dejando fuera una cantidad de datos para la validación. Esto se conoce como out-of-bag error (oob). 2.2. Validación de modelos Tanto para medir el rendimiento de un modelo como para prever el sobreajuste es necesario utilizar unas medidas adecuadas del error. 2.2.1. Error esperado de predicción Como ya venimos diciendo, el primer método para validar un modelo es medir su precisión o EPE denidos anteriormente en la expresión (2.1.1). 15
2. Introducción a la Minería de Datos 2.2.2. Tabla de confusión Otra forma de validar un modelo es una tabla de frecuencias donde cada casilla es el número de casos donde el valor real coincide con el de la predicción del modelo para cada clase de la variable objetivo. Setosa Versicolor Virginica Setosa 45 3 2 Versicolor 0 49 1 Virginica 2 1 47 Cuadro 2.2.: Ejemplo de tabla de confusión para el conjunto iris [13] . En este ejemplo el modelo asigna correctamente 45 casos de Setosa pero confunde 2 Virginica asignándoles también Setosa. 2.2.3. Curva ROC La Receiver Operating Characteristic o curva ROC [19] es la forma más extendida de medir el rendimiento de un clasicador binario, ya que no sólo tiene en cuenta el valor de la predicción sino la probabilidad con la que asignamos dicho valor. Un punto de la curva ROC se construye con el ratio de verdaderos positivos ( TPR ) y de falsos positivos ( FPR ) TPR=T P P=T P T P +F N FPR=F P N=F P F P +T N donde TP es el número de verdaderos positivos, es decir, el número de veces que el clasicador predice un positivo y es correcto, y FP es el número de veces que se predice un resultado positivo siendo en realidad uno negativo. En realidad un clasicador no nos da una predicción sino la probabilidad de que una entrada sea un positivo, y cuando esta probabilidad es ≥0,5 (generalmente) le asignamos una predicción positiva. Si en vez de jar el umbral de decisión en 0,5 lo variamos en el intervalo [0,1] y medimos el TRP y el FPR obtendremos una curva ROC . Algorithm 2.3 Pseudo-código para obtener una curva ROC. 1: for umbral [0,1] do . Recorrer unos cuantos valores posibles del umbral 2: for i= 1 to n do . Recorrer todos las entradas 3: if probi> umbral then 4: predi=possitive 5: else 6: predi=negative 7: end if 8: end for 9: Medir el TPR y el FPR 10: end for 11: Representar grácamente todos los TPR frente a los FPR 16
2. Introducción a la Minería de Datos Un clasicador perfecto sería el que para cualquier valor del umbral TPR= 1 formando una línea horizontal en 1, mientras que un clasicador aleatorio sería la bisectriz. Como no se puede hacer una clasicación peor que la aleatoria esto establece un rango de posibles rendimientos motivando así la creación de la magnitud área bajo la curva ROC (AUC) que será un número en el rango [0,5,1] . El AUC es la posibilidad de que un clasicador asigne una puntuación mayor a una entrada positiva que a una negativa (ambas escogidas aleatoriamente). P(y+> y−) = ˆ∞ −∞ ˆ∞ −∞ p(y+|+)p(y−|−)[y+> y−]dy+dy−= ˆ∞ −∞ p(y−|−)ˆ∞ y− p(y+|+)dy+dy−=ˆ∞ −∞ p(y−|−)TPR(y−)dy−= ˆ∞ −∞ dFPR(y−) dy− TPR(y−)dy−=ˆ1 0 TPR(FPR)dFPR =AUC Figura 2.2.1.: Ejemplo curvas ROC. Los ejes y e x son equivalentes a TPR y FPR respectivamente, aparecen varios clasicadores como un clasicador aleatorio (bisectriz), un clasicador intermedio (línea continua) y el mejor clasicador (borde izquierdo y superior). Por último podemos extender estas curvas y el AUC a clasicadores multiclase dividiendo el problema en tantos clasicadores binarios como clases tenga la variables objetivo. 17
2. Introducción a la Minería de Datos 2.2.4. Validación cruzada Como se explico anteriormente, para evitar el sobreajuste se pueden dividir los datos en dos conjuntos: entrenamiento y validación. En el primero entrenamos los parámetros de los modelos y en el segundo realizábamos la predicción y mediamos el EPE, de esta forma tenemos una medida del error robusta frente a sobreestimaciones. La cross validation (CV) nos permite realizar este proceso pudiendo usar el conjunto de validación en el entrenamiento. Para ello dividimos los datos en k partes aleatoriamente, usamos k−1 para entrenar y predecimos en la restante, repetimos el proceso para que todas las partes pasen por el conjunto de entrenamiento, juntamos todas las predicciones y medimos el EPE. La mejor elección sería que k sea igual al número de entradas, esto es computacionalmente costoso y normalmente se escoge k= 10 . Hay casos en los que hay que buscar un valor adecuado de k (por ejemplo si hay pocos datos), ya que necesitamos que cada partición tenga una proporción similar de entradas de cada clase de la variable objetivo. Algorithm 2.4 Pseudo-código para validación cruzada. 1: Dividir los datos X aleatoriamente en k partes 2: for i= 1 to k do . Recorrer todos los grupos 3: Entrenar el modelo usando todos los datos menos la parte i 4: Validar el modelo en la partición i 5: end for 6: Juntar todas las validaciones 7: Medir el EPE 2.3. Preprocesamiento y selección de variables Antes de aplicar un modelo a nuestros datos tenemos que vericar que están correctamente rellenados. Normalmente no es el caso y suele haber numerosos inconvenientes (errores tipográcos, datos faltantes, variables con errores muy altos, ...) por lo que es necesario realizar un tratamiento previo llamado preprocesamiento que generalmente es la parte más costosa de todo el proceso. Pasamos a explicar algunas de las fases del preprocesamiento. 2.3.1. Tratamiento datos faltantes Es un inconveniente muy común, en nuestro caso hay veces que por criterios éticos no se realiza una prueba a un paciente, o en un centro no tienen el equipamiento necesario o el propio protocolo es el que establece cuándo se mide cada prueba dejando huecos. Algunos modelos pueden trabajar con un número razonable de datos faltantes pero una buena opción siempre es conseguir un conjunto de datos completos. Esto no quiere decir necesariamente quedarnos con el subconjunto de datos donde no falte ninguno, sino que hay diversas técnicas para subsanar o imputar los lugares donde faltan datos. Esta imputación de datos se realiza por columnas (variables). 18
2. Introducción a la Minería de Datos Usamos las siguientes técnicas: Interpolación: Al tener los datos evolución temporal, interpolamos localmente dentro de cada paciente (y siempre que hubiera sucientes datos) algunos valores ausentes. Modelización: Como hemos expuesto en la subsección 2.1 los modelos nos devuelven las probabilidades de que una entrada tenga un valor o clase. Aplicamos el modelo RF (Ver subsección 2.1.4 ) siendo cada variable con datos faltantes la variable objetivo. El problema es que suele ocurrir que si hay un dato faltante para una entrada y variable lo haya también para la misma entrada y otras variables, en caso de no reunir un mínimo de variables completas no utilizaremos este método. Reemplazo: Por último, otro método es reemplazar los valores ausentes por la mediana de modo que estos datos afecten lo mínimo a los modelos pero no les hagan fallar. 2.3.2. Localización de datos anómalos Los datos anómalos pueden afectar sensiblemente a los modelos provocando una disminución del rendimiento, por ello es bueno identicarlos y eliminarlos. Hay numerosas técnicas pero nosotros usaremos el cluster based noise removal algorithm [20] que usa el algoritmo k-means cluster [21] para agrupar la población en diversos grupos o clusters según la distancia entre entradas y elimina los individuos más lejanos. Algorithm 2.5 Pseudo-código del algoritmo cluster para la detección de datos anómalos. 1: Aplicar a X el algoritmo k-means . Tantos clusters como clases tenga y 2: for i= 1 to n do . Recorrer todos las entradas 3: Medir distancia entre el sujeto i y los centroides generados por el paso 1 4: Guardar la distancia menor en d 5: end for 6: for i= 1 to n do . Recorrer todos las entradas 7: Calcular la media µd de las distancias 8: Calcular la desviación σd de las distancias 9: if di> µd+n·σd then . El parámetro n lo elige el usuario 10: El individuo i es considerado anómalo 11: end if 12: end for 19
2. Introducción a la Minería de Datos 2.3.3. Selección de atributos Otra buena práctica antes de empezar la modelización es eliminar las variables menos importantes, puede parecer que esto no es necesario, pero además del benecio obvio de reducir el tiempo de computación algunos algoritmos fracasan para dimensiones altas, esto se conoce como el desastre de la dimensionalidad. Figura 2.3.1.: Ejemplo del desastre de la dimensionalidad . A la izquierda tenemos un conjunto de variables apto para el algoritmo KNN , sin embargo a la derecha se muestran los mismo datos pero con una variable irrelevante en el eje x que los expande en una dirección burlando así al algoritmo KNN. Hay numerosos métodos para la seleccionar pero hemos escogido un ltro de consistencia [22], que se basa en escoger las variables más consistentes. Una variable es consistente si a todas las entradas con el mismo valor les corresponde la misma clase de la variable objetivo, este concepto se puede extender a conjuntos de variables. El primer problema es que si las variables son continuas es improbable que dos entradas tengan el mismo valor por lo que hay que discretizarlas, y el segundo problema es que raramente se encuentra una variable completamente consistente por lo que mediremos nos quedaremos con la cantidad de entradas consistentes en cada variable. Algorithm 2.6 Pseudo-código de un ltro de consistencia. 1: Discretizar las variables de X 2: while Criterio de parada no satisfecho do . Ej.: Alcanzar valor de consistencia 3: Escoger un subconjunto de variables Xfiltered de X . Regla heurística 4: Agrupar las entradas que tengan los mismos valores 5: for i= 1 to #grupos do . Medir la consistencia del subconjunto 6: Y= valor más común de y en el grupo 7: consi=P#entradas jδyj,Y . Número de veces que la variable objetivo =Y 8: end for 9: consistenciaXfiltered =Pngrupos iconsi 10: end while 11: X=Xfiltered 20
3. Modelización y resultados 3.4. Diagnóstico Nuestro primer problema es realizar un clasicador de ayuda al diagnóstico con el menor número de variables posibles y sin usar variables con interpretación humana. La variable objetivo será el diagnóstico DX . En nuestro caso cada paciente tiene varias entradas (una para cada valor de VISCODE ), esto los modelos no lo entienden y tratan cada entrada como un individuo independiente. Al haber muchos pacientes estables (diagnóstico constante en el estudio) se subestimaría el error del modelo ya que sería como repetir algunas entradas, por ello en este problema hemos escogido sólo la visita del mes 12 al ser la más equilibrada en las proporciones de pacientes con cada diagnóstico ( 525 pacientes). Utilizamos un ltro de consistencia (Algoritmo 2.6) obteniendo como subconjunto de 13 variables: PTGENDER(Male), PTMARRY(Married), PTMARRY(Divorced), APOE4(0), CDRSB, ADAS11, ADAS13, MMSE, RAVLT, RAVLT.immediate, FAQ, Fusiform, MidTemp. A continuación describimos la implementación de los modelos descritos en la subsección 2.1 y su validación por validación cruzada con K= 10 . 3.4.1. Vecinos cercanos En primer lugar aplicamos el modelo KNN, optimizamos el parámetro K obteniendo K= 3 (ver apéndice C.2), es decir, asignaremos a cada entrada una probabilidad y clasiación según sus 3 vecinos más cercanos. Validamos el modelo representando su curva ROC y obtenemos excelentes valores del área bajo la curva. El diagnóstico peor clasicado es el de MCI esto es lógico debido a que es el caso intermedio entre AD y NL. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the KNN model False positive rate True positive rate AD 0.867 0.007 MCI 0.874 0.007 NL 0.984 0.003 AUC Error Figura 3.4.1.: Curva ROC de los 3 vecinos más cercanos. La tabla inferior muestra el valor del área bajo la curva (AUC) de cada subclasicador binario y el error en la medida del AUC. 27
3. Modelización y resultados 3.4.2. Máquina de vector soporte A continuación implementamos una SVM con núcleo gaussiano siendo γ= 0,25 el mejor valor encontrado para el parámetro γ . En la curva ROC vemos cómo este modelo mejora sensiblemente la clasicación de los pacientes enfermos. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the SVM model False positive rate True positive rate AD 0.941 0.003 MCI 0.931 0.003 NL 0.993975 6e−04 AUC Error Figura 3.4.2.: Curva ROC de la máquina de vector soporte. 3.4.3. Árbol de decisión En el caso de un árbol de decisión el parámetro de complejidad óptimo para la poda fue α= 0,071 (ver apéndice C.2). Representamos grácamente el árbol resultante y vemos que simplemente con el test cognitivo CDRSB podemos realizar un buen diagnóstico donde clasicamos entre pacientes con AD, MCI o NL con probabilidades 0,71 , 0,71 y 0,98 respectivamente. Pero si nos quedamos un poco más atrás en el árbol podemos encontrar un resultado mucho mejor y es que usando los nodos 2 y 3 podríamos diferenciar entre pacientes sanos y enfermos ( CDRSB < 0,75 ⇒sano ) con unas probabilidades del 0,98 y 0,95 . Esto puede ser muy útil y usarse como primera criba a la hora del diagnóstico o cómo criterio de selección de pacientes para futuros estudios. El principal punto a favor de estos resultados es que sólo con una prueba barata, rápida y no invasiva se puede realizar un diagnóstico. Podemos ver en la siguiente gura que el modelo resultante es predicci´on(x) = NL MCI AD si CDRSB(x)<0,75 si 0,75 ≤CDRSB(x)<3,2 si CDRSB(x)≥3,2 28
3. Modelización y resultados yes no 1 2 453 CDRSB >= 0.75 CDRSB >= 3.2 NL .17 .23 .59 100% MCI .42 .53 .05 42% AD .71 .29 .00 18% MCI .19 .71 .10 24% NL .00 .02 .98 58% yes no 1 2 453 Figura 3.4.3.: Árbol de decisión ya podado para el diagnóstico del Alzheimer. Cada nodo del árbol contiene mucha información: el número que aparece encima es el número del nodo, después aparece el diagnóstico asignado a ese nodo, justo debajo las probabilidades de tener cada valor del diagnóstico estando en ese nodo (probAD, probMCI , probNL) y por último el porcentaje de los datos que caen en ese nodo. Al validar el modelo vemos que hemos perdido algo de rendimiento pero sigue siendo bueno y su interpretación es fácil para el lector medio. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the Tree model False positive rate True positive rate AD 0.926 0.004 MCI 0.87 0.01 NL 0.957 0.003 AUC Error Figura 3.4.4.: Curva ROC para el árbol de decisión. 29
3. Modelización y resultados 3.4.4. Bosque aleatorio Por último aplicamos un bosque aleatorio con 200 árboles y entrenando el parámetro m obtuvimos el mejor rendimiento para m= 4 (ver apéndice C.2), es decir, cada árbol del bosque se construye usando sólo 4 variables aleatoriamente escogidas del conjunto de datos. Aunque con este modelo perdemos la interpretabilidad del árbol de decisión nos devuelve un gráco interesante donde se ordenan las variables según su importancia (ver expresión 2.1.7). PTMARRY_Divorced PTMARRY_Married PTGENDER_Male APOE4_0 RAVLT MidTemp Fusiform MMSE RAVLT.immediate ADAS11 ADAS13 FAQ CDRSB ● ● ● ● ● ● ● ● ● ● ● ● ● 0 20 40 60 80 Importance plot of the variables MeanDecreaseGini Figura 3.4.5.: Importancia de las variables. Vemos cómo dominan los test cognitivos hasta que en el puesto 7 aparecen ya neuroimágenes y otras variables. En la validación vemos que tiene unos valores del AUC excelentes siendo el mejor modelo de los empleados en términos de rendimiento. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the Random Forest model False positive rate True positive rate AD 0.948 0.003 MCI 0.942 0.004 NL 0.9961 2e−04 AUC Error Figura 3.4.6.: Curva ROC del bosque aleatorio. 30
3. Modelización y resultados 3.4.5. Conclusiones Vemos que todos los modelos han obtenido excelentes resultados. La clasicación entre pacientes sanos y enfermos es casi perfecta en algún modelo, siendo más difícil clasicar el nivel de la demencia aunque también se alcanza un buen rendimiento. Aunque ya hemos medido el rendimiento de los modelos con las curvas ROC realizamos una tabla comparativa de los errores de cada modelo Modelo EPE KNN 0,16 SVM 0,13 Árbol 0,15 RF 0,097 Cuadro 3.1.: EPE para cada modelo en el problema del diagnóstico. Aunque el árbol de decisión sólo supera en rendimiento al modelo KNN sigue teniendo valores muy buenos y su interpretabilidad es inmejorable, cualquier personal sanitario sin conocimientos estadísticos podría realizar el test CDRSB a un paciente y obtener un diagnóstico muy bueno siguiendo el árbol. 3.5. Conversión a corto plazo El segundo problema al que nos enfrentamos es realizar un clasicador que identique conversiones a un estadio más avanzado de la enfermedad o pacientes sanos que en un futuro pasen a estar enfermos. Debido a que en la base de datos no había suciente información de los niveles de las proteínas tau y amiloide no tenemos información sobre las dos hipótesis principales de la causa del Alzheimer, quedándonos limitados a valores de variables que se alteran con los síntomas de la enfermedad. Esto supone un gran obstáculo de partida. Para recuperar la tratabilidad del problema, esta vez la variable objetivo será la conversión inmediata descrita en la variable conv.imme que indicará si ha habido conversión en DX desde la última visita, es decir, estaremos creando un clasicador que nos dirá si un paciente convertirá en la próxima visita o no. conv.immei=(converter stable si DXi−16=DXi DXi−1=DXi , i = 1,2, ...n En este caso hay que realizar un poco de preprocesamiento de nuevo. Comenzamos eliminando los pacientes que sólo tengan una visita ya que no sabemos si han sido estables o no. También tenemos que quitar la última visita de cada paciente por las mismas razones reduciendo así los datos de 2708 a 2048 entradas. Para añadir signicado al estudio longitudinal de cada paciente incluimos nuevos atributos. Para cada variable no demográca añadimos en cada entrada dos variables nuevas: 31
3. Modelización y resultados diferencia respecto al valor de la visita anterior del mismo paciente y diferencia respecto a la visita inicial. Esta última variable es en realidad redundante al ser combinación lineal del valor actual y el basal, pero la dejamos porque podría ser mejor interpretable. Este proceso provoca un aumento de los atributos, pasando de 35 a 63 variables. Aparece otro problema aquí y es que la proporción de pacientes converter es muy pequeña ∼10 % , esto facilita que la validación cruzada falle al ser probable que el grupo de validación sólo contenga a sujetos de la clase stable . Además los modelos se ven engañados y devuelven una clasicación trivial en la que para cualquier entrada devuelven la etiqueta stable y al haber sólo un 10% de estables tendrá una precisión del 90 % . Para solucionar el problema cogemos todas las entradas con valor converter y una muestra aleatoria de igual tamaño de las estables ( 436 entradas en total), ya que la muestra del estudio ADNI no representa a la población no hay problema en realizar este muestreo, posteriormente comprobaremos que ha sido un método válido. De nuevo aplicamos un ltro de consistencia (Algoritmo 2.6) obteniendo un subconjunto de 20 variables: PTGENDER(Male), PTETHCAT(Not.Hisp.Latino), PTMARRY(Married), PTMARRY(Divorced), APOE4_0, APOE4_1, CDRSB, ADAS11, RAVLT, FAQ, Ventricles, Hippocampus, Entorhinal, Fusiform, MidTemp, CDRSB.imme.di, FAQ.imme.di, CDRSB.total.di, FAQ.total.di y Ventricles.total.di . Pasamos a describir la implementación y validación (CV con K= 10 ) de los modelos. 3.5.1. Vecinos cercanos El número óptimo de vecinos fue K= 7 (ver apéndice C.3). 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the KNN model False positive rate True positive rate AUC: 0.8 Error: 0.007 Figura 3.5.1.: Curva ROC del modelo KNN. 32
3. Modelización y resultados 3.5.2. Máquina de vector soporte El valor óptimo del parámetro del núcleo gaussiano fue γ= 0,6 , vemos también que en esta ocasión no mejora el rendimiento del anterior modelo. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the SVM model False positive rate True positive rate AUC: 0.788 Error: 0.006 Figura 3.5.2.: Curva ROC de la máquina de vector soporte. 3.5.3. Árbol de decisión Podamos el árbol usando un parámetro de complejidad α de 0,019 (ver apéndice C.3) y representamos grácamente el árbol de decisión. En esta ocasión necesitamos dos pruebas para utilizar el clasicador aunque siguen siendo pruebas baratas, rápidas y no invasivas. Esta vez vemos que si un paciente tiene una puntuación en el CDRSB entre [0.25,4.8) y en el FAQ ≥0,5 le asignaremos la clase converter con probabilidad 0,77 . En caso contrario será stable con una probabilid dependiente de en que nodo hayamos caído . Podríamos establecer una reglas de seguimiento para cada paciente según los nodos: Los pacientes pertenecientes al nodo 3 casi con certeza se mantendrán en su estado actual luego no hará falta cambiar su tratamiento hasta la siguiente visita donde se repetiría el test. Los pacientes del nodo 8 probablemente empeoren su estado luego habrá que comenzar o cambiar el tratamiento. Pacientes en los nodos 8 y 5 aunque seguramente no empeoren se les deberían realizar pruebas cruzadas o repetir el test antes de la siguiente visita para conrmar o desmentir el diagnóstico. 33
3. Modelización y resultados En esta ocasión el modelo sería predicci´on(x) = stable stable converter stable si CDRSB < 0,25 si 0,25≤CDRSB < 4,8∧FAQ < 0,5 si 0,25≤CDRSB < 4,8∧FAQ ≥0,5 si CDRSB ≥4,8 yes no 1 2 4 8953 CDRSB >= 0.25 CDRSB < 4.8 FAQ >= 0.5 converter .50 .50 100% converter .69 .31 70% converter .72 .28 65% converter .77 .23 58% stable .37 .63 7% stable .29 .71 6% stable .05 .95 30% yes no 1 2 4 8953 (a) Árbol de decisión ya podado para la predicción de conversión en la siguiente visita. 0 5 10 15 20 25 0 5 10 15 FAQ CDRSB sss c s s c s c c ss c s c s c sss c s sss s c c sc s c s sss c c s s ss c s s c s sssc c c sss c c s ccc s csc sc c c s sc c sc c cc c s c ss c s s c ssc sc ssss c ss c scc s sc s c cs ss c c c scs ss c cs cc sc sc c cs c s ccs c sc sss c s ss c c scc s cc c sc s sss s sc s sc c s s c ssss c s c cs s sc ssss s cc c c c sc ss s c s c ss cc c c s c cc csc ccc c c s c ss s cssc ss s c c c s cs ss cs s c sc c c s c s c c s s c c c cc c s csc s s c ssss c c s c c cc s cs c c c c s c c c cc c c ss c sc ss c c c c c s ss s cc s sc c s s c s sc c c sc c c cc c c c c sc c c c c c c c scc ss c s c ss s c s c c ss cc s s s c ssss c c c c s c s sc s s s s c c sssss c ssss c s s s c ss c ss sc s c cc s sss c ss c cc c cc c cs cs cscc c s app. error rate: 0.19 Partition Plot (b) Supercies de separación del árbol de decisió n. Al ser un modelo bidimensional es muy representativo dibujar el plano con las líneas de separación de las clases de la variable objetivo, en este caso la zona rosa corresponde con las zonas asignadas a los pacientes estables y la azul a los conversores, vemos que en la zona azul hay algunos pacientes mal clasicados (color rojo) mientras que las zonas rosas prácticamente están todos bien clasicados. Figura 3.5.3.: Representaciones del árbol de decisión. 34
3. Modelización y resultados Al validar el modelo vemos que tiene un rendimiento similar a los dos modelos anteriores, y también repetimos la validación con el mismo modelo pero utilizando todos los datos para comprobar que el muestreo realizado era razonable y no hay sobreajuste. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the Tree model False positive rate True positive rate AUC: 0.792 Error: 0.006 (a) Con muestreo. 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the Tree model False positive rate True positive rate AUC: 0.831 Error: 0.003 (b) Sin muestreo. Figura 3.5.4.: Curvas ROC para el árbol de decisión. 35
3. Modelización y resultados 3.5.4. Bosque aleatorio Al optimizar el parámetro m vemos que 3 variables es el valor óptimo (ver apéndice C.3), el número de árboles se mantuvo en 200. Al validar este modelo volvemos a obtener rendimientos similares a los demás modelos en este problema 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 ROC curve for the Random Forest model False positive rate True positive rate AUC: 0.803 Error: 0.008 Figura 3.5.5.: Curva ROC del bosque aleatorio. Representamos de nuevo la importancia de las variables PTETHCAT_Not.Hisp.Latino PTMARRY_Married PTMARRY_Divorced PTGENDER_Male APOE4_1 APOE4_0 CDRSB.imme.diff FAQ.imme.diff FAQ.total.diff CDRSB.total.diff Ventricles.total.diff Fusiform Ventricles RAVLT MidTemp Entorhinal Hippocampus ADAS11 FAQ CDRSB ●● ●● ● ●●● ●●●●● ●●●●● ●● 0 5 10 15 20 25 Importance plot of the variables MeanDecreaseGini Figura 3.5.6.: Importancia de las variables. De nuevo dominan los test cognitivos aunque enseguida aparecen algunas neuroimágenes pero con valores pequeños de importancia en comparación con los test. 36
A. Librerías del lenguaje R Recopilación alfabética de los paquetes con software de terceros usados en este proyecto, se añade una breve descripción de para qué fue utilizada cada librería. ADNIMERGE: Contiene la base de datos del proyecto ADNI , es la única librería usada de acceso restringido a los investigadores del proyecto. http://adni.bitbucket.org/ car: Tranformaciones Yeo and Jonhson para conseguir normalidad en el análisis de componentes principales. http://cran.r-project.org/web/packages/car/index.html caret: Modelo vecinos cercanos. http://cran.r-project.org/web/packages/caret/index.html e1071: Usada para implementar las máquinas de vector soporte. http://cran.r-project.org/web/packages/e1071/index.html FSelector: Filtro de consistencia para la selección de variables. http://cran.r-project.org/web/packages/FSelector/index.html GGally: Extension de la librería ggplot2. http://cran.r-project.org/web/packages/GGally/index.html ggplot2: Representaciones grácas elegantes de análisis estadísticos. http://cran.r-project.org/web/packages/ggplot2/index.html igraph: Implementación y representación de grafos. http://cran.r-project.org/web/packages/igraph/index.html klaR: Representaciones grácas de algunos modelos. http://cran.r-project.org/web/packages/MASS/index.html matrixcalc: Comprobación requisitos del análisis de componentes principales. http://cran.r-project.org/web/packages/klaR/index.html MASS: Modelo análisis discriminante lineal (no recogido en el informe). http://cran.r-project.org/web/packages/MASS/index.html plyr: Herramientas para aplicar funciones a la bases de datos. http://cran.r-project.org/web/packages/plyr/index.html 43
A. Librerías del lenguaje R psych: Se usó en el análisis de componentes principales. http://cran.r-project.org/web/packages/psych/index.html randomForest: Modelo bosque aleatorio. http://cran.r-project.org/web/packages/randomForest/index.html rattle: Interfaz de ayuda para aplicar técnicas de minería de datos. http://cran.r-project.org/web/packages/rattle/index.html RColorBrewer: Paleta de colores para algunas representaciones grácas. http://cran.r-project.org/web/packages/RColorBrewer/index.html reshape: Herramientas para operar con bases de datos. http://cran.r-project.org/web/packages/reshape/index.html reshape2: Herramientas para operar con bases de datos. http://cran.r-project.org/web/packages/reshape2/index.html rpart: Modelo árbol de decisión. http://cran.r-project.org/web/packages/rpart/index.html rpart.plot: Grácos elegantes para las funciones de la librería rpart. http://cran.r-project.org/web/packages/rpart.plot/ zoo: Series temporales, usada en la interpolación de datos faltantes. http://cran.r-project.org/web/packages/zoo/index.html Estas librerías contenían sólo una porción de las funciones usadas, el resto de algoritmos, el preprocesamiento y la implementación de todas las rutinas a una base de datos en particular fue con código propio. Para todo esto se crearon librerías propias con código genérico extrapolable a otros problemas. 44
B. Principales test cognitivos Los test cognitivos son pruebas de evaluación de la cognición según preguntas en diversas áreas, hay numerosas pruebas procedentes de test cognitivos, pero explicaremos sólo los tres principales. Mini Mental State Examination (MMSE): Sirve para detectar la presencia o ausencia de demencia. Es un cuestionario de 30 preguntas que se realiza en menos de 10 minutos, examina diversas funciones cognitivas como la aritmética, memoria y orientación. No permite clasicar el grado de demencia. Alzheimer's Disease Assessment Scale Cognitive (ADAS-cog): Mejora al MMSE permitiendo diferenciar entre demencia leve y grave y se enfoca principalmente en la memoria y el lenguaje. Tiene 11 partes y su realización dura unos 30 minutos, esto constituye el test ADAS11 pero también existe una versión ampliada con 13 items que es el test ADAS13. Clinical Dementia Rating (CDR): Además de detectar la presencia de demencia distingue entre más niveles de severidad. Se puntúan 6 áreas: memoria, orientación, juicio y resolución de problemas, comunidad , hogar y ocio y autocuidado. Cada área puede tener una puntuación entre 0 y 3, la suma de todas forma el test CDRsum of boxes ó CDRSB, que es el usado en nuestros datos. 45
C. Grácas C.1. Análisis estadístico Recopilación de las representaciones grácas realizadas para conocer la distribución de cada variable segmentando la población según el valor del diagnóstico. 0.00 0.05 0.10 0.15 0 10 20 30 40 50 Value Density DX AD MCI NL Density plot by DX of ADAS11 Figura C.1.1.: Gráco de densidad del test ADAS11. 0.000 0.025 0.050 0.075 0.100 0 20 40 60 Value Density DX AD MCI NL Density plot by DX of ADAS13 Figura C.1.2.: Gráco de densidad del test ADAS13. 46
C. Grácas 0.00 0.02 0.04 0.06 60 70 80 90 Value Density DX AD MCI NL Density plot by DX of AGE Figura C.1.3.: Gráco de densidad de la edad . 0 250 500 750 1000 012 Value Density DX AD MCI NL Density bars of APOE4 by DX Figura C.1.4.: Gráco de barras para la variable APOE4. 47
C. Grácas 0 2 4 6 0 5 10 15 Value Density DX AD MCI NL Density plot by DX of CDRSB Figura C.1.5.: Gráco de densidad del test CDRSB. 0 300 600 900 AD EMCI LMCI NL Value Density DX AD MCI NL Density bars of DX.bl by DX Figura C.1.6.: Gráco de barras de la variable DX.bl (diagnóstico inicial) . Los valores EMCI y LMCI son demencia leve temprana y tardía respectivamente. 48
C. Grácas 0e+00 2e−04 4e−04 6e−04 1000 2000 3000 4000 5000 6000 Value Density DX AD MCI NL Density plot by DX of Entorhinal Figura C.1.7.: Gráco de densidad de la corteza entorrinal . 0.0 0.5 1.0 1.5 2.0 0 10 20 30 Value Density DX AD MCI NL Density plot by DX of FAQ Figura C.1.8.: Gráco de densidad del test FAQ. 49
C. Grácas 0.00000 0.00005 0.00010 0.00015 10000 15000 20000 25000 Value Density DX AD MCI NL Density plot by DX of Fusiform Figura C.1.9.: Gráco de densidad del giro fusiforme. 0e+00 1e−04 2e−04 3e−04 4e−04 5000 7500 10000 Value Density DX AD MCI NL Density plot by DX of Hippocampus Figura C.1.10.: Gráco de densidad del hipocampo. 50
C. Grácas 0.0e+00 5.0e−07 1.0e−06 1.5e−06 2.0e−06 1250000 1500000 1750000 2000000 Value Density DX AD MCI NL Density plot by DX of ICV Figura C.1.11.: Gráco de densidad para el volumen intracraneal . 0.00000 0.00005 0.00010 0.00015 10000 15000 20000 25000 Value Density DX AD MCI NL Density plot by DX of MidTemp Figura C.1.12.: Gráco de densidad del lóbulo temporal medio . 51
C. Grácas 0.0 0.3 0.6 0.9 5 10 15 20 25 30 Value Density DX AD MCI NL Density plot by DX of MMSE Figura C.1.13.: Gráco de densidad del test MMSE. 0.00 0.05 0.10 0.15 10 15 20 Value Density DX AD MCI NL Density plot by DX of PTEDUCAT Figura C.1.14.: Gráco de densidad de los años de educación. 52
C. Grácas ● ● ● ● ● ● ● ● ● ● ● ● 0.105 0.110 0.115 0.120 0.125 5 10 m error OOB error of the Random Forest model for different mtry Figura C.2.3.: Entrenamiento del parámetro m en el modelo de bosque aleatorio en el problema del diagnóstico (subsección 3.4.4). 0.0 0.1 0.2 0.3 0.4 0 50 100 150 200 Trees Error DX OOB AD MCI NL Out−of−bag error rates Figura C.2.4.: Evolución del error según el número de árboles en el modelo de bosque aleatorio en el problema del diagnóstico (subsección 3.4.4). 59
C. Grácas C.3. Conversión ● ● ●●● ●● ●●●● ● ● ● ● ●● ● ●● 0.20 0.25 0.30 0.35 0 5 10 15 20 k error Cross validation error of the KNN model for different number of neighbours K Figura C.3.1.: Entrenamiento del parámetro k del modelo KNN para el problema de la conversión a corto plazo (subsección 3.5.1). En la gráca vemos representados los valores medios del error y sus desviaciones (10CV), como criterio escogimos el menor k que su cota superior estuviera por debajo de la del k con el error medio más pequeño (línea roja). ● ● ● ● Errors for differents complexity parameters cp X−val Relative Error 0.4 0.6 0.8 1.0 1.2 Inf 0.16 0.041 0.019 1 2 3 4 size of tree Figura C.3.2.: Selección del parámetro de complejidad del árbol de decisión para el problema de la conversión a corto plazo (subsección 3.5.3). 60
C. Grácas ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0.21 0.22 0.23 0.24 0.25 5 10 15 20 m error OOB error of the Random Forest model for different mtry Figura C.3.3.: Entrenamiento del parámetro m en el modelo de bosque aleatorio en el problema de la conversión a corto plazo (subsección 3.5.4). 0.1 0.2 0.3 0.4 0 50 100 150 200 Trees Error DX OOB converter stable Out−of−bag error rates Figura C.3.4.: Evolución del error según el número de árboles en el modelo de bosque aleatorio en el problema de la conversión a corto plazo (subsección 3.5.4). 61