Browsing articles in "Minería de Datos"

“Semantic Learning” en Salud. Un ejemplo de Minería sobre Estructuras Semánticas

Feb 9, 2018   //   by oa.usun   //   Minería de Datos, Semántica  //  1 Comment

Introducción

Con el actual crecimiento de información, cada vez más se hace necesario contar con nuevos métodos de procesamiento de datos y nuevas tecnologías de análisis de información que permitan crear procesos de búsqueda de conocimiento a partir de fuentes datos no explotadas hasta ahora. La Web recoge cada vez más el conocimiento humano, y los conceptos de WEB Semántica y de Minería Web entran en juego para dar interpretación sobre la información encontrada y generar modelos que representen algún tipo de valor agregado.

Desde el Instituto de Innovación de Ibermática (I3B) llevamos años realizando proyectos de todo tipo donde desarrollamos modelos de Minería de Datos sobre estructuras tradicionales de bases de datos relacionales, o “aplanando” estructuras jerárquicas del tipo xml, json y otras, y, por otro lado, inferimos conocimiento y generamos consultas basadas en la gestión, la inferencia y el acceso a Estructuras Semánticas en forma de grafos. Y claramente, cada vez se observa y demanda una mayor necesidad de unir ambos conocimientos.

El objetivo final es poder “atacar” de forma directa la información “sita” en estructuras jerárquicas ya ordenadas (en otras palabras, conocimiento sobre un contexto poblado con instancias que particularizan dicho conocimiento en casos de uso particulares), buscando un nuevo modelo de análisis avanzado (minería semántica), que saque provecho de la extración directa de modelos supervisados y no supervisados directamente sobre el conocimiento jerarquizado y en grafo, sin necesidad de “aplanar” dichas estructuras en tablas relacionales “clásicas”, dado que dicho “aplanamiento” produce una reducción importante del conocimiento anterior. La idea es poder aplicar minería directamente sobre la estructura de grafos, sea la que sea, dado que dicha estructura, en base a su topología, contiene ya información relevante sobre qué indicadores son los que han de ser los primeros en analizarse, cuáles son los secundarios, y cómo se organizan los indicadores entre ellos.

Para lograr este reto, se debe tener conocimientos profundos de la gestión de algoritmos no supervisados sobre estructuras jerárquicas, y en procesos de análisis recurrentes por niveles, así como una gestión matemática de los análisis de componentes principales por capas, en dos direcciones, la reducción de información capa por capa, y la traducción de esta “reducción” y su consecuente ganancia de información a indicadores comprensibles semánticamente, puesto que el resultado de esta segmentación semántica debe poder trasladarse a un conjunto de hechos en la ontología original, para poder ser comprendida por los consumidores de la información, en este caso, facultativos médicos.

La estructura de los pacientes no es un estructura plana, relacional, en la que cada paciente tiene un diagnóstico, un tratamiento, unas dosis, sino que su vida clínica se compone de múltiples episodios, cada uno de ellos con información diversa, algunos se corresponden con el diagnóstico de episodios anteriores, otros se corresponden con reacciones adversas a un tratamiento anterior, referente a un diagnóstico que no es el inicial, sino que es secundario, otros se refieren a actuaciones médicos, pruebas analíticas, etc… En definitiva, los sistemas actuales de entidad-relación que modelan la historia clínica  de un paciente es una “simplificación” de la historia clínica actual.

La tecnología actual (bases de datos en forma de grafo), permiten almacenar la información clínica en estructuras de información denominadas “grafo”, o “tripletas”, que permiten estructurar el conocimiento en distintas jerarquías, que representan de forma muy fidedigna lo que ocurre en la realidad. Las ventajas de esta tecnología es la plasticidad del almacenamiento de la información, la posibilidad de “navegar” por la información en forma de consultas sobre enlaces de un nodo a otro, la velocidad de recuperación de la misma, la facilidad de plasmar la particularidad de cada individuo en un sistema de base de datos, y por último, la posibilidad de aplicar sobre dichas estructuras matemática muy concreta de análisis de grafos (similaridad), y de poder aplicar reglas que generen nuevo conocimiento sobre dicha información de base.

Modelo Digital del Paciente.

                                                Modelo Digital del Paciente.

El problema de esta tecnología, esta en el lado de la analítica. Así como realizar consultas muy especializadas, del tipo “devuélveme los pacientes entre estos rangos de edad, que alguna vez hayan tenido este tratamiento, más de dos meses, después de haber pasado por estos dos diagnósticos previos concretos”, es relativamente sencillo, puesto que el acceso a la información tiene una lógica muy similar a cómo lo expresamos en lenguaje natural, (SPARQL),  generar patrones automáticos en base a tecnología “Machine Learning”, es decir, generalizar patrones inductivos que perfilen la información de una forma más general, y de forma automática, es complicado para las máquinas cuando la base de la información no está normalizada en atributos y dimensiones.  Lo habitual (como se explicará en siguientes “posts”), es aplanar esta información en una tablón de análisis, al estilo clásico, para luego aplicar Minería de datos sobre dicho tablón.

Aplanamiento de la Información Semántica

                                Aplanamiento de la Información Semántica

Pero en este proceso, perdemos la particularidad de la información, con un problema adicional, ¿qué atributos consideramos como representativos de la generalidad de un base de datos estructurada en distintos niveles jerárquicos? ¿Con cuántos niveles nos quedamos? ¿Qué hacemos con los datos de los niveles más inferiores? Otra estrategia en este sentido es realizar análisis por capas de niveles, pero, ¿por dónde empezamos el análisis? ¿Por los tratamientos? ¿Por los diagnósticos? ¿Por la zona geográfica?

Para ello, desde I3b hemos implementado un nuevo método que analiza directamente los datos desde las estructuras semánticas de una ontología, sin tener que realizar el paso previo de “traducir” las jerarquías en una base de datos relacional o un cubo de BI. Así, la generación de una nueva tecnología que genere patrones, reglas y modelos directamente sobre consultas semánticas (SPARQL), o sobre estructuras de grafos (RDF) es un nuevo reto, que nos va a permitir, además, realizar todos los procesos de minería clásica sobre dichas estructuras y comprobar qué ventajas y desventajas nos pueden aportar.

Web Semántica

La web semántica es un conjunto de tecnologías que nos permiten publicar datos legibles por aplicaciones informáticas y que se basa en la idea de añadir metadatos semánticos y ontológicos.

La Web Semántica se basa en dos puntos fundamentales:

  1. a)  La descripción del significado. Donde se definen los conceptos; y
  2. b)  La manipulación  automática  de  estas descripciones. Se efectúa mediante  lógica y motores de inferencia.

Estructura de la WEB Semántica

La figura muestra la capa de lenguajes y tecnologías recogidas por el campo de la Web Semántica. Estos esfuerzos por la definición de estándares se llevan a cabo en el contexto de la W3C. Aunque muchos de sus componentes están finalizados y son estables, algunas de sus partes aún están en desarrollo.

Estas capas centrales definen los lenguajes para describir recursos de una forma adecuada para que puedan ser procesado por máquinas y el objetivo de nuestro estudio.

Estos lenguajes y las capas superiores son:

  • XML: Aporta la sintaxis superficial para los documentos estructurados, pero sin dotarles de ninguna restricción sobre el significado.
  • Resource Description Framework (RDF): esta capa define un modelo de datos abstracto para el intercambio de información en la Web.
  • RDF Schema (RDFS): este componente extiende RDF con un vocabulario que puede ser empleado para describir propiedades RDF y relaciones entre esas propiedades y otros recursos.
  • Web Ontology Language (OWL): esta capa extiende RDFS para obtener un lenguaje completo para la definición de ontologías.
  • Rule Interface Format (RIF): esta capa tiene como meta proporcionar un lenguaje común para representar y expresar reglas.
  • SPARQL Protocol and RDF Query Language (SPARQL): este componente proporciona un protocolo y lenguaje de consulta para la gestión de los datos semánticos de la Web.

La minería de Estructuras Semánticas se puede definir como aquella disciplina extendida de la minería de datos en la que es posible descubrir y extraer información automáticamente de los datos presentes en el contexto de la WEB.

Fases del Descubrimiento de Conocimiento

 

Los procedimientos típicos para la selección y la transformación de datos en la Minería WEB son los siguientes:

  1. La localización y descubrimiento de fuentes de información sobre la que se aplicará el proceso de minería.
  2. Selección y pre – procesado, en la cual se extrae de forma automática información específica de las fuentes antes mencionadas por medio de procesos de selección y transformación de datos.
  3. Reconocimiento de patrones generales encontrados durante la etapa de extracción, como el agrupamiento de clúster y reglas de asociación para diagnosticar la secuencia de patrones.
  4. Proceso de análisis, en la cual se desarrollan técnicas y herramientas que permitan modelar la forma en que se utiliza el conocimiento.

Herramientas

Para analizar las diferentes opciones que nos permiten trabajar con datos no estructurados y jerarquizados hemos estado investigando diferentes “plugins” que ofrece la herramienta Rapidminer, como:

  1. Linked Open Data Extension

Es una extensión del software de minería de datos de código abierto que permite el uso de datos de datos abiertos vinculados tanto como una entrada para la minería de datos, así como para enriquecer los conjuntos de datos existentes con conocimientos de fondo.

Proporciona tres categorías principales de operadores:

  • Importadores de datos que cargan datos de Linked Open Data para su procesamiento posterior.
  • Enlaces que crean vínculos desde un conjunto de datos dado a un conjunto de datos en Linked Open Data (por ejemplo, vinculando un archivo CSV a DBpedia).
  • Generadores que recopilan datos de Linked Open Data y lo añaden como atributos en el conjunto de datos a mano.
  1. Semweb

Transforma las triplas de RDF en un conjunto de ejemplos y luego se puede aplicar cualquier tipo de aprendizaje sobre dichos datos. Proporciona dos operadores de transformación de datos con algoritmos ‘FastMap’ y ‘Correspondence Analysis’ y un operador de visualización para ver el proceso subyacente mediante la visualización de la matriz de distancia y la matriz de datos transformados. Estas técnicas de transformación de datos utilizan las cuatro métricas de distancia Levenshtein, Dice-coefficient, VDM and VDM-SetValue, que también forman parte del proyecto.

Proceso con operadores Semweb
  1. RMONTO

Es un framework fácilmente extensible, actualmente provee soporte para clustering no supervisado con métodos de kernel y modelación de patrones en bases de conocimiento. Una característica importante de RMonto es que permite trabajar directamente en datos estructurados y relacionales. Además, sus implementaciones de algoritmos personalizados pueden combinarse con la potencia de RapidMiner a través de la transformación / extracción de los datos ontológicos a los datos de valor de atributo.

Como triplestore se ha elegido a Virtuoso para almacenar las anotaciones de las ontologías.

Virtuoso es una solución moderna para el acceso a datos, integración y gestión de bases de datos relacionales (tablas SQL y/o RDF basados en gráficos de propiedades/predicados).

 

 

Modelo Semántico de Segmentación

El clustering o segmentación se caracteriza por ser una técnica de aprendizaje automático no supervisado. Esto significa que un algoritmo de clustering deberá ser capaz de establecer por sí mismo patrones de comportamiento genérico en la muestra de datos y a su vez categorizar cada instancia de datos en alguno de los grupos formados.

Todas las pruebas y ejemplos las hemos realizado con los operadores de RMonto y una ontología de cáncer de mama.

Operadores utilizados:

Selector SPARQL ( Ejemplo de query para seleccionar los datos a tratar):

select distinct
?paciente ?pc ?historial ?edad ?episodio ?fecha_episodio ?diagnostico_valor ?fecha_diagnostico ?tratamiento_valor ?farmaco
where {
?paciente historial:hasHistory ?his.
?paciente historial:hasPatientCode ?pc.
FILTER(regex(?pc,’MAMA’))
?paciente historial:hasHistory> ?historial.
?paciente historial:hasAge ?edad.
?historial historial:hasEpisode ?episodio.
?episodio historial:hasDate ?fecha_episodio.
?episodio historial:hasDisease ?diagnostico.
?diagnostico historial:hasDiseaseValue ?diagnostico_valor.
?diagnostico historial:hasDate ?fecha_diagnostico.
?diagnostico historial:hasTreatment ?tratamiento.
?tratamiento historial:hasTreatmentValue ?tratamiento_valor.
?tratamiento historial:hasPharmacologicSubstance ?farmaco.
}
order by ASC(?his) ASC(?episodio)

Fr-ONT-Qu: Descubre patrones frecuentes en la Knowledge Base semántica en formas de patrones SPARQL. El espacio de búsqueda está restringido sólo a las partes especificadas en Classes, Abstract properties y Concrete properties parameters. La selección de los mejores patrones se puede hacer de manera no supervisada (Support on KB) o supervisada (el resto de las medidas).

 

 

 

Los patrones generados por este operador a partir de la consulta Sparql, teniendo en cuenta las clases y las propiedades de la ontología seleccionadas, nos genera una tabla con los patrones más frecuentes que serán utilizados por el operador Propositionalisation para transformar estos ejemplos de aprendizaje ó patrones frecuentes en una tabla de atributos-valor.

 

Propositionalisation: Convierte la lista de patrones y ejemplos frecuentes obtenidos por el operador Fr-ONT-Qu  en una tabla de atributos-valor, donde los atributos son los patrones obtenidos y los valores puede ser 0 (si el ejemplo no satisface el patrón) ó 1 (si el ejemplo satisface el patrón), como puede verse aquí arriba.

 

Procesamos el modelo de Clustering.

URI attributes: Lista de atributos con URI de individuos a ser utilizados. (Se seleccionan manualmente, una mejora al sistema sería la selección automática de los mismos por medios analíticos).

Normal attributes: Lista de atributos con valores concretos a utilizar.

Probamos con k= 5,  Kernel function= Identity, obteniendo estos resultados:

Clusters: (por cada cluster, nos muestra el centroide o perfil representativo de cada muestra, y se basa en el diagnóstico, tratamiento, tipo de acción médica, y edad)
1:    [http://www.HOBC.org/clinicalrecords#Breast_Carcinoma,http://www.HOBC.org/clinicalrecords#Zoladex_,http://www.HOBC.org/clinicalrecords#Revision_procedure,34]
2:    [http://www.HOBC.org/clinicalrecords#Endometrial_Polyp,http://www.HOBC.org/clinicalrecords#Tamoxifen_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,34]
3:    [http://www.HOBC.org/clinicalrecords#Infiltrating_Ductal_Carcinoma,http://www.HOBC.org/clinicalrecords#Tamoxifen_,http://www.HOBC.org/clinicalrecords#Hormone_Therapy_Procedure,57]
4:    [http://www.HOBC.org/clinicalrecords#Secondary_malignant_neoplasm_of_bone,http://www.HOBC.org/clinicalrecords#Analgesics_,http://www.HOBC.org/clinicalrecords#Exploration_procedure,57]
5:    [http://www.HOBC.org/clinicalrecords#Secondary_malignant_neoplasm_of_bone,http://www.HOBC.org/clinicalrecords#Analgesics_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,57]

Probamos con k= 3, Kernel function= Identity, obteniendo estos resultados:

Clusters:
1:    [http://www.HOBC.org/clinicalrecords#Breast_Carcinoma,http://www.HOBC.org/clinicalrecords#Zoladex_,http://www.HOBC.org/clinicalrecords#Revision_procedure,34]
2:    [http://www.HOBC.org/clinicalrecords#Endometrial_Polyp,http://www.HOBC.org/clinicalrecords#Tamoxifen_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,34]
3:    [http://www.HOBC.org/clinicalrecords#Secondary_malignant_neoplasm_of_bone,http://www.HOBC.org/clinicalrecords#Analgesics_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,57]

 

 

Y finalmente con k= 2, Kernel function= Identity, que nos dan este resultado:

Clusters:
1:    [http://www.HOBC.org/clinicalrecords#Secondary_malignant_neoplasm_of_bone,http://www.HOBC.org/clinicalrecords#Analgesics_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,57]
2:    [http://www.HOBC.org/clinicalrecords#Breast_Carcinoma,http://www.HOBC.org/clinicalrecords#Zoladex_,http://www.HOBC.org/clinicalrecords#Revision_procedure,34]

Midiendo estadísticos de comparativa entre las distintas segmentaciones, el sistema nos indica que la mejor “ganancia de información” se obtiene con las segmentación K=2.

Obtenemos un clúster de procedimiento terapéutico y otro clúster de procedimiento de revisión, como podemos ver en el gráfico:

 

Eliminamos el filtro de ‘MAMA’ para obtener una segmentación de todos los historiales y volvemos a procesar la segmentación con K=2, Kernel function= Identity, obteniendo estos resultados:

Clusters:
1:
[http://www.HOBC.org/clinicalrecords#Meningeal_Carcinomatosis,http://www.HOBC.org/clinicalrecords#Acetaminophen_,http://www.HOBC.org/clinicalrecords#Sedation_procedure,59]
2:
[http://www.HOBC.org/clinicalrecords#Malignant_neoplasm_of_breast,http://www.HOBC.org/clinicalrecords#Nolvadex_,http://www.HOBC.org/clinicalrecords#Hormone_Therapy_Procedure,53]

Ahora vamos a investigar cada una de las segmentaciones obtenidas para ver si a su vez existe la posibilidad de afinar más el modelo obteniendo sub segmentaciones de cada segmento.

Para generar estas sub segmentaciones, he intentado utilizar el mismo modelo de RMonto, pero no ha sido posible por lo que al final utilizo un modelo k-Means pero usando los atributos semánticos:

 

 

El segmento_nivel 0 de menores de 56 años se divide en 3 clúster:

Objetivo: ?tratamiento_valor

Objetivo: ?farmaco

 

El segmento_nivel de los mayores de 55 años nos da el siguiente resultado:

 

Objetivo: ?tratamiento_valor

 

Objetivo: ?farmaco

 

 

Resultados:

  • Se genera un sistema de segmentación en jerarquía, en dos niveles….
    • El primer nivel devuelve 2 segmentos diferentes (Segmento_nivel0), uno con los pacientes mayores de 55 años y el otro con los menores de 56 años.
    • El segundo nivel, devuelve 3 subsegmentos (clúster) por cada uno de los segmentos principales.

Otros operadores:

Epistemic kernel: Núcleo semántico utilizando un conjunto de características. El conjunto de características se puede construir con operadores en el grupo TBox.

EL++ Convolution kernel: Núcleo semántico derivado de núcleos de gráfos.

ALCN kernel: Núcleo semántico para el lenguaje ALCN que trabaja en forma normal disyuntiva.

Calculate Gram/distance matrix: Calcula Matriz de valores de núcleo (o distancias) entre cada una de las tuplas dadas. Una tupla contiene al menos un URI que identifica un individuo en Knowledge Base y cero o más valores literales. El resultado es un EjemploSet con tres columnas, las dos primeras contienen descripciones de las tuplas comparadas y la tercera contiene kernel o valor de distancia.

Transform Semantic Clustering Model: transforma el modelo de agrupación semántica en modelo normal.

Add label from KB: Extiende los ejemplos dados con valores de propiedad de tipo de datos recuperados de la base de conocimientos dada.

Extract all clases: Genera una lista de todas las clases, nombradas y sin nombre, que están disponibles en KB.

Create TBox features: Le ayuda a crear un conjunto de funciones TBox.

Modelo Semántico de Anomalías

Al modelo de Segmentación le añadimos el operador Local Outlier Probablity (LoOP) y obtenemos el modelo semántico de anomalías.

Al operador Local Outlier Probablity (LoOP) le rellenamos estos parámetros:

 

Obtenemos este resultado, donde al lado del cluster nos aparece el outlier.

 

En este gráfico podemos ver claramente los outlier que indican una anomalía:

 

 

Modelo Semántico Árbol de Decisión

Como objetivo utilizamos el atributo ?diagnostico_valor y utilizamos el operador Decision Tree.

El operador de Correlación nos da como resultado estos atributos como los que tienen más correlación con nuestro label.

Siendo el principal el fármaco.

 

El resultado del Árbol de Decisión:

Tree
?edad = 28: Malignant_neoplasm_of_breast
?edad = 34
|   ?tratamiento_valor = Revision_procedure: Breast_Carcinoma
|   ?tratamiento_valor = Therapeutic_procedure
|   |   ?farmaco = Gonadorelin_: Neoplasm
|   |   ?farmaco = Tamoxifen_: Neoplasm
|   |   ?farmaco = Zoladex_: Endometrial_Polyp
?edad = 46: Adenocarcinoma
?edad = 53: Malignant_neoplasm_of_breast
?edad = 54
|   ?tratamiento_valor = Hormone_Therapy_Procedure: Invasive_Ductal_Breast_Carcinoma
|   ?tratamiento_valor = Revision_procedure: Infiltrating_Ductal_Carcinoma
|   ?tratamiento_valor = Therapeutic_Radiology_Procedure
|   |   ?farmaco = capecitabine_: Adenocarcinoma
|   |   ?farmaco = letrozole_: Invasive_Ductal_Breast_Carcinoma
|   ?tratamiento_valor = Therapeutic_procedure: Invasive_Ductal_Breast_Carcinoma
?edad = 55: Neoplasm_Metastasis
?edad = 56: Carcinomatosis_of_peritoneal_cavity
?edad = 57
|   ?tratamiento_valor = Demand_clinical: Neoplasm_Metastasis
|   ?tratamiento_valor = Drainage_procedure: Ductal_Carcinoma_
|   ?tratamiento_valor = Exploration_procedure: Secondary_malignant_neoplasm_of_bone
|   ?tratamiento_valor = Hormone_Therapy_Procedure: Infiltrating_Ductal_Carcinoma
|   ?tratamiento_valor = Therapeutic_procedure
|   |   ?farmaco = Analgesics_: Secondary_malignant_neoplasm_of_bone
|   |   ?farmaco = Hyrex_Brand_of_Dimenhydrinate: Secondary_malignant_neoplasm_of_bone
|   |   ?farmaco = Lyrica_: Neoplasm_Metastasis
|   |   ?farmaco = Omeprazole_: Neoplasm_Metastasis
?edad = 59: Meningeal_Carcinomatosis
?edad = 62: Neoplasm_Metastasis
?edad = 66: Colon_Carcinoma
?edad = 69: Adenocarcinoma
?edad = 76: Carcinoma
?edad = 77: Disseminated_carcinoma
 

Modelo Semántico de Reglas de Clasificación

Seguimos con nuestro objetivo de ?DiagnosticoValor.

Utilizamos el operador Rule Induction e utilizamos estos parámetros:

 

 

La correlación de atributos es la misma que el modelo del Árbol de Decisión y obtenemos estas reglas de clasificación:

RuleModel
if ?edad = 55 then Neoplasm_Metastasis
if ?edad = 54 and ?tratamiento_valor = Therapeutic_procedure then Invasive_Ductal_Breast_Carcinoma
if ?edad = 59 then Meningeal_Carcinomatosis
if ?edad = 57 and ?tratamiento_valor = Therapeutic_procedure then Neoplasm_Metastasis
if ?edad = 76 then Carcinoma
if ?edad = 46 then Adenocarcinoma
if ?tratamiento_valor = Hormone_Therapy_Procedure and ?edad = 57 then Infiltrating_Ductal_Carcinoma
if ?edad = 66 then Colon_Carcinoma
if ?farmaco = Zoladex_ and ?tratamiento_valor = Revision_procedure then Breast_Carcinoma
if ?edad = 28 then Malignant_neoplasm_of_breast
if ?edad = 34 and ?farmaco = Gonadorelin_ then Neoplasm
if ?edad = 34 and ?farmaco = Zoladex_ then Endometrial_Polyp
if ?edad = 62 then Neoplasm_Metastasis
if ?edad = 77 then Disseminated_carcinoma
if ?edad = 69 then Adenocarcinoma
if ?tratamiento_valor = Revision_procedure then Infiltrating_Ductal_Carcinoma
if ?edad = 54 and ?tratamiento_valor = Hormone_Therapy_Procedure then Invasive_Ductal_Breast_Carcinoma
if ?tratamiento_valor = Exploration_procedure then Secondary_malignant_neoplasm_of_bone
if ?tratamiento_valor = Demand_clinical then Neoplasm_Metastasis
if ?edad = 57 then Ductal_Carcinoma_
if ?edad = 34 and ?tratamiento_valor = Therapeutic_procedure then Neoplasm
if ?edad = 56 then Carcinomatosis_of_peritoneal_cavity
if ?farmaco = capecitabine_ then Adenocarcinoma
if ?edad = 54 then Invasive_Ductal_Breast_Carcinoma  else Malignant_neoplasm_of_breast
correct: 47 out of 50 training examples.

Consideramos que las reglas de clasificación son más fáciles de anotar en la ontología, pero no existe ningún operador que actualice la ontología con los resultados obtenidos.

 

Conclusiones

 

Los tiempos de respuesta obtenidos como resultado de las pruebas efectuadas nos hacen pensar que el Modelado sobre Estructuras Semánticas puede ser una muy buena alternativa para abordar estos temas sobre fuentes semánticas de información.
Sin embargo y pese a todas las bondades que parece tener el uso de arquitecturas basadas en tecnologías como SPARQL, RDF,  y que sin lugar a dudas, representan la mejor opción en temas de consulta semántica de información, existen problemas de actualización de las herramientas y de sus compatibilidades.
Algunos de los argumentos a  favor o en contra que permiten sustentar esta afirmación, se mencionan a continuación:
  1. Nos permite manejar una gran cantidad de datos.
  2. Datos limpios. Los datos con ruido y corruptos pueden esconder las predicciones y hacerlas más difíciles. La entrada de los datos de forma manual y la integración con los sistemas de envío pueden introducir inconsistencias y anomalías.
  3. El contenido semántico de los documentos que se coloca en Internet, permite una mejor organización de la información, mucho más definida, ya que se lleva a cabo a través de conceptos, “garantizando búsquedas por significado y no por contenido textual”.
  4. Mejora la obtención de conocimiento hasta el momento reservada a las personas y hace posible el uso de modelos de inteligencia artificial.
  5. Una desventaja, es la complejidad de la codificación semántica, es necesario unificar los estándares semánticos, otro laborioso proceso.
  6. Otra desventaja es que la sintaxis RDF/ZML no es muy fácil de leer.
  7. RMonto no ha sido actualizado desde 2012 y las demás herramientas están en fase de experimentación y sería necesario utilizar otros software (Python, R, …) para poder realizar lo que hemos visto en estas pruebas.
  8. Este software no permite realizar inserciones en la ontología, es decir, que no podemos actualizar el conocimiento y deberemos apoyarnos en otro software para ello.
  9. Finalmente, el sistema desarrollado pone de manifiesto la importancia de la Web Semántica como futuro de Internet, demostrando la capacidad del modelo RDF para la comunicación de conocimiento y de las ontologías para expresarlo.
  10. No existen prácticamente diferencias con la minería clásica en los algoritmos utilizados para realizar los modelos. Solamente hay que realizar una doble selección separada de atributos, por un lado los semánticos y por otro los datos normales.

Ibermática desarrolla un Sistema de Soporte a la Decisión Clínica para pacientes con cáncer de mama

Ene 15, 2018   //   by Sandra Seijo Fernández   //   Minería de Datos  //  Comentarios desactivados en Ibermática desarrolla un Sistema de Soporte a la Decisión Clínica para pacientes con cáncer de mama

El cáncer de mama es el tumor más frecuente en mujeres de todo el mundo. Las últimas estimaciones de la Agencia Internacional de Investigación del Cáncer (IARC) hacen referencia al año 2012 [2] y muestran que cada año se diagnostican 1,68 millones de casos nuevos en la población femenina mundial. En España se diagnostican cada año unos 26.000 casos nuevos [5]. La supervivencia de las pacientes con cáncer de mama es alta y sigue una evolución ascendente en el tiempo. Los últimos datos disponibles en nuestro país muestran una supervivencia a 5 años algo superior al 80% [1]. A pesar de estas cifras esperanzadoras, el cáncer de mama continúa siendo un objetivo de salud muy relevante, ya que  supone la primera causa de mortalidad por cáncer en mujeres con  6.314 fallecimientos en 2011. Por lo tanto y teniendo en cuenta lo anteriormente mencionado, desde Ibermática se cree que una herramienta de ayuda a la toma de decisiones en esta enfermedad tan frecuente es de vital importancia, pudiendo aportar información relevante y facilitando la labor del personal médico.

Las decisiones clínicas pueden tomarse mediante razonamiento deductivo a partir del conocimiento de la fisiopatología humana. Más frecuentemente, se toman basándose en datos inciertos mediante estimaciones de probabilidades. Los clínicos realizan esta estimación de probabilidades de manera no formal y sin ser enteramente conscientes del proceso que realizan. La toma de decisiones es un proceso complejo que requiere el manejo de mucha información. La variabilidad en la práctica clínica y la falta de estandarización conlleva en muchas ocasiones iatrogenia y la mala praxis médica, que disminuye la eficiencia de los recursos disponibles. Casi desde la aparición de los primeros ordenadores se ha propuesto que las tecnologías de la información podrían ayudar al diagnóstico y tratamiento médicos. Inicialmente se escribieron programas que pretendían emular las capacidades diagnósticas de los clínicos, y se denominaron «sistemas expertos», con la pretensión de que iban a ser capaces de suplir la actividad deductiva de los clínicos. El estrepitoso fracaso de su introducción en la práctica, incluso cuando demostraban ser capaces de generar hipótesis correctas, ha desvelado muchos aspectos, tanto formales como prácticos, que condicionan la toma de decisiones en el ejercicio médico. Actualmente, los denominados Sistemas de Soporte a la Decisión Clínica (SSDC) son menos ambiciosos pero más efectivos [3].

Los Sistemas de Soporte a la Decisión Clínica (Figura 1) se definen como intervenciones diseñadas para ayudar a los clínicos a tomar decisiones específicas y deliberadas entre diversas opciones en torno a su salud, dentro de un contexto clínico; concretamente, cuando existe incertidumbre científica sobre los resultados de las diferentes opciones diagnósticas, pronostica y/o terapéuticas [4].

Figura 1: Esquema de los sistemas de soporte a las decisiones.

Desde Ibermática se ha desarrollado un Sistema de Soporte a la toma de Decisiones del personal médico para pacientes de cáncer de mama mediante, a partir de técnicas de Inteligencia Artificial (Analítica avanzada. Semántica), y el uso de distintas fuentes de información, tanto estructuradas como no estructuradas, de manera que permitan facilitar y agilizar la labor del personal médico ante esta enfermedad y ser capaz de mejorar la toma de decisiones ante un paciente nuevo mediante la comparación con pacientes similares a este o mediante  predicción de su tasa de supervivencia entre otros. Dichas fuentes de información  fueron provistas por el Instituto de Investigación Sanitaria Biocruces, quien también colaboró en el desarrollo de la herramienta, tanto mediante la provisión de las fuentes de información médicas utilizadas, como mediante el aporte de conocimiento necesario para entender la enfermedad.

Para el desarrollo de dicha herramienta, además de información médica proveniente de distintas fuentes de datos de distintos áreas (ginecología, registro tumoral, anatomía patológica y analíticas), también se contó con información relativa a factores medioambientales, más concretamente información relativa a la calidad del aire y del agua de los municipios de Euskadi.

Las distintas fuentes de información fueron unidas para cada paciente y posteriormente se realizó un estudio de los distintos indicadores de la calidad del dato con la finalidad de determinar la calidad de los distintos atributos y pacientes, eliminando aquellos que no superen un determinado umbral de calidad del dato, permitiendo así obtener un set de datos apropiado para la generación de conocimiento que facilite la generación de conocimiento a partir de los datos y tomar decisiones en base a la información obtenida.

Para la obtención de conocimiento mediante el modelado de los datos, primeramente se llevó a cabo junto a Biocruces un estudio de los atributos disponibles, definición del problema, entendimiento de la información y selección del objetivo. Finalmente, se seleccionó como objetivo para el pronóstico en el enfoque supervisado la tasa de supervivencia a 5 años desde el diagnóstico, ya que se trata de un estadístico muy usado en el campo del cáncer. Se realizaron unas primeras pruebas con dicho objetivo y se obtuvieron resultados interesantes, pero muy generales, por lo que finalmente se optó por un modelado en cascada para la obtención de reglas.

Figura 2: Algunas reglas para la clasificación de la tasa de supervivencia a 5 años.

 

Dicho modelado jerárquico primeramente obtiene una serie de reglas para clasificar la tasa de supervivencia a 5 años de los pacientes (ver Figura 2), es decir, obtiene reglas que permiten predecir si la tasa de supervivencia va a ser mayor o menos a 5 años. Posteriormente,  en un segundo nivel, nos centramos en los pacientes con peor pronóstico, es decir, en  los pacientes clasificados con una tasa de supervivencia menor a 5 años. Para dichos pacientes se obtienen otra serie de reglas que clasifican si los pacientes van a tener una tasa de supervivencia menor de 3 años, entre 3 y 5 años o una tasa de supervivencia mayor de 5 años (es decir, falsos positivos de las reglas generales), como se puede apreciar en la figura 3. De esta manera se logra obtener para aquellos pacientes con pronóstico más desfavorable (aquellos con tasa de supervivencia menor de 5 años) reglas más específicas y una clasificación más detallada.

.

Figura 3: Algunas reglas para la clasificación de las pacientes con tasa de supervivencia menor de 5 años.

Así mismo, se realizó un enfoque no supervisado para obtener información relevante a partir de los datos de los atributos de los pacientes así como las relaciones entre atributos, correlaciones y similitud entre pacientes con características similares. Como ejemplo de uno de los modelos que se llevaron a cabo en el enfoque no supervisado, se realizó un agrupamiento de los pacientes mediante una búsqueda evolutiva de los parámetros óptimos del algoritmo de agrupamiento que permitió obtener los mejores clústeres de pacientes sin necesidad de llevar a cabo un ajuste de parámetros o baterías de pruebas para dicho fin. Como se puede apreciar en la Figura 4 algunos de los atributos utilizados para generar los clústeres de pacientes, y cómo estos tienen características distintas según pertenezcan a  un determinado grupo de pacientes u otros. Este agrupamiento permite descubrir que características tienen en común los pacientes de un mismo clúster. Además, se puede determinar para un paciente específico a qué clúster pertenece y si todos sus atributos entran dentro de la normalidad en comparación con su clúster, y en caso de que sea anómalo para alguno de los atributos, saber cuál debería ser su valor (valor predominante en el clúster), y cuál es el valor que tiene ese paciente en realidad.

Figura 4: Proporción de clases de algunos de los atributos utilizados en el agrupamiento.

Durante el desarrollo de los distintos modelos que se realizaron, se obtuvieron resultados y conclusiones muy interesantes, como por ejemplo, aquellas referentes a la población de los pacientes. Respecto a este punto, se observó que en alguno de los modelos aparecía como atributo relevante el municipio, y al analizar este atributo más en profundidad, tal y como se puede apreciar en la Figura 5, la proporción de pacientes con tasa de supervivencia mayor de 5 años y los que tienen tasa de supervivencia menor que 5 años varia considerablemente de un municipio a otro, lo que podría indicar que hay algún factor relacionado con las poblaciones que tiene incidencia sobre la tasa de supervivencia a 5 años.

Figura 5: Frecuencia de pacientes con tasa de supervivencia a 5 años por municipio.

Como se ha comentado anteriormente, el modelado realizado para la herramienta de ayuda a la toma de decisiones para  pacientes con cáncer de mama es utilizado para proporcionar soporte en la decisión. Para este fin el modelado realizado, tanto en el enfoque supervisado como en el no supervisado,  es  utilizado ante un  nuevo paciente para proporcionar información que pueda ayudar al clínico en la toma de decisiones. Entre este tipo de información que se devuelve ante un nuevo paciente se encuentra la predicción más probable de la tasa de supervivencia a 5 años mediante la inferencia de sus valores específicos, las reglas que cumple dicho paciente, a que clúster específico pertenece, o si es anómalo para alguno de los valores de sus atributos y porque entre otros. Además, el sistema también devuelve los valores reales de dicho paciente  para algunos atributos relevantes en el cáncer de mama, de manera que con toda esta información disponible, el especialista sea capaz de apoyarse en el resultado de los modelos, teniendo en cuenta la tasa de supervivencia de pacientes con características similares,  las reglas y relaciones obtenidas para determinar las decisiones más adecuadas para dicho paciente.

Bibliografía

[1]     Asociación Española contra el cáncer. https://www.aecc.es/sobreelcancer/cancerporlocalizacion/cancermama/paginas/pronostico.aspx.

[2]     International Agency for Research on Cancer. https://www.iarc.fr/.

[3]     Ferrán Sanza Julio Bonisa, Juan J Sanchoa. Sistemas informáticos de soporte a la decisión clínica. Medicina Clínica, 122:39–44, 2004.

[4]     Jacobsen MJ. O’Connor AM. Workbook on Developing and Evaluating Patient Decision Aids. Ottawa Health Research Institute., 2003.

[5]     De Angelis R Larrañaga N Capocaccia R Martinez C Sanchez MJ, Payer T. Cancer incidence and mortality in spain: estimates and projections for the period 1981-2012. Ann Oncol, 30-36, 2010.

 

Obtención de conocimiento y descubrimiento de procesos a partir de datos brutos – Minería de Procesos (Process Mining)

Ene 8, 2017   //   by Sandra Seijo Fernández   //   Minería de Datos  //  Comentarios desactivados en Obtención de conocimiento y descubrimiento de procesos a partir de datos brutos – Minería de Procesos (Process Mining)

Actualmente los procesos de negocio de las organizaciones están soportados por sistemas de información que registran datos valiosos con respecto a ejecutores, actividades, eventos, tiempos y variables asociadas a la ejecución de los procesos. Esta información puede ser aprovechada con técnicas de la minería de datos, más específicamente, de la Minería de Procesos (MP) para descubrir la realidad de cómo se están ejecutando los procesos y de esta forma tomar decisiones para mejorarlos [4].

Este concepto de “Minería de Procesos” se definió en el Manifiesto de Minería de Procesos, lanzado por el grupo de expertos de todo el mundo que investiga la MP, conocido como IEEE Task Force on Process Mining (Fuerza de Trabajo de la IEEE sobre Minería de Procesos), en el 201 y soportado por 53 organizaciones, bajo la contribución de 77 expertos en el tema. Está dirigido a promover el tópico de Minería de Procesos. Además, al definir un conjunto de principios rectores y listar importantes desafíos, el manifiesto sirve como una guía para desarrolladores de software, científicos, consultores, gerentes de negocio, y usuarios finales. El objetivo es incrementar la madurez de la Minería de Procesos como una nueva herramienta para mejorar el (re)diseño, control, y apoyo a los procesos de negocio operacionales. Hay dos razones principales para el creciente interés en Minería de Procesos: por un lado, se registran más y más eventos, proporcionando información detallada acerca de la historia de los procesos y por otro lado, hay una necesidad de mejorar y apoyar los procesos de negocio en ambientes competitivos y que cambian rápidamente.

La Minería de Procesos es una técnica de análisis de datos que integra la minería de datos mediante el uso de datos de eventos con las técnicas de modelado de procesos. Existen tres tipos de minería de componentes como se puede apreciar en la Figura 1:

  • Descubrimiento: se basa en el análisis de un registro de eventos y la producción de un modelo, sin usar ninguna información previa para descubrir los procesos reales, solo basado en las muestras de ejecución de los registros de eventos.
  • Conformidad: se compone de técnicas para la comparación de eventos del registro de eventos con actividades del modelo de proceso. Es usado para chequear si el modelo es equivalente a la información que está almacenada en el registro de eventos, en aras de detectar desviaciones, cuellos de botellas e incongruencias, muy utilizado en las auditorias.
  • Mejoramiento: la finalidad es mejorar el proceso existente utilizando la información acerca del proceso real almacenado en el registro de eventos.

Figura 1: Posicionamiento de los 3 tipos de Minería de Procesos [5].

Mediante el uso de técnicas de MP las organizaciones pueden obtener un modelo real del proceso ya que se obtienen con eventos reales que se generan a partir de situaciones que se han dado en el proceso. Esto a su vez permite estudiar si el proceso cumple con lo estipulado al comparar el modelo obtenido con el modelo ideal.  La MP también permite descubrir cuellos de botella mediante la simulación de casos reales del proceso se puede determinar dónde existen cuellos de botella con el fin de actuar sobre los mismos y mejorar la eficiencia de dicho proceso.

Aplicación de la minería de procesos a un caso real

En Ibermática, gracias a las investigaciones previas realizadas en los últimos años por I3B al respecto de procesos avanzados en Inteligencia Artificial, y en concreto, en la generación automática de “workflows de procesos” por medios automáticos, ha desarrollado una plataforma de Process Mining basada en software libre y distribuido, que va a permitir a los clientes de la compañía, principalmente en su vertiente industrial y médica, aprovecharse de esta nueva tecnología ya madura y que minimiza de forma sustancial los análisis de tiempos, costes, eficiencia y eficacia de los procesos, detectando ineficiencias en los mismos, cuellos de botellas, permitiendo una visión real prospectiva, es decir, que  permite recomendar acciones de optimización sobre escenarios futuros ineficaces.  En este “blog” vamos a mostrar un ejemplo concreto aplicado a datos reales de un proceso es el campo de la fabricación de piezas.

El ejemplo versa sobre  un fabricante real  piezas que cuenta con registros de las distintas referencias que a la hora de ejecutar sus órdenes de fabricación, tiene registradas las fases por las que pasa cada orden, la máquina qué utiliza en cada una de ellas y un timestamp. Con la finalidad de obtener un modelo realista, inicialmente nos centramos en los datos asociados para una determinada referencia. Todas las pruebas que se han llevado a cabo se han realizado usando el plugging de minería de procesos para RapidminerRapidProm”.

Obtención, preprocesado y tratamiento de los datos de entrada al sistema

Como es habitual en los proyectos en los que se cuenta con una gran cantidad de datos, inicialmente hay que realizar tareas de ETL (de sus siglas en inglés “Extract, Transform and Load”) que permitan obtener un conjunto de datos apropiado para la obtención de conocimiento del proceso que se quiere analizar. En nuestro caso, una vez realizada la ETL,  se obtiene el fichero de Event Logs en el que se encuentra definido el identificador de trazas y de eventos. Con esta información, y antes de obtener un modelo, ya se puede obtener información relevante de los logs y del proceso, como estadísticas sobre en número de casos y eventos, en que eventos se inician las órdenes o en cuales terminan entre otros,  como se puede apreciar en las Figura 2 y Figura 3.

Figura 2: Resumen del fichero de logs.

Figura 3: Estadísticas de ocurrencia de eventos del fichero de logs.

Así mismo, el visualizador de data logs del ProM también proporciona un gráfico de puntos. Dicho gráfico muestra la propagación de eventos en un registro de eventos a lo largo del tiempo. En la Figura 4 se puede como se distribuyen las ordenes de fabricación lanzadas a producción a lo largo del tiempo y como se aprecia una relación lineal entre dichas órdenes y el tiempo. Además, como atributo color hemos marcado el día de la semana, lo que nos permite apreciar a simple vista por ejemplo que ninguna orden ha sido lanzada el domingo, ya que dicho día no aparece en la leyenda.

Figura 4: Gráfico de puntos.

Obtención y análisis de un modelo del proceso

El modulo desarrollado denominado “Módulo de Descubrimiento del control de flujo del  fabricación de una referencia determinada,  busca la caracterización de todos los caminos posibles para la fabricación de las piezas analizadas y permite visualizar lo que ocurre realmente con el proceso.

Existen variados algoritmos para el descubrimiento de modelos: Alpha Mining [7], Inductive Miner [2], Heuristic Miner [6], Genetic Mining [3], Fuzzy Mining [1], entre otros. Hay que tener en cuenta que el modelo obtenido puede variar para un mismo log de eventos dependiendo del algoritmo usado y de sus parámetros. En este caso y para ilustrar el modelo del proceso real de fabricación de piezas usamos dos algoritmos distintos: Inductive Miner y el Fuzzy Mining.

El algoritmo Inductive Miner es un algoritmo que aplica un enfoque de divide y vencerás: funciona con una división recursiva que va creando particiones con los eventos hasta dar con el modelo. El modelo obtenido se muestra en la Figura 5. En este se puede apreciar los distintos caminos a través de las fases y máquinas que se pueden seguir para obtener una pieza finalizada. Si queremos analizar dicho modelo observando cuántas órdenes de fabricación pasan por cada posible camino, en qué fechas, qué eventos se dan un mayor número de veces o simular el “log” de eventos usamos el Inductive Visual Miner, el cúal, al tener en cuenta el timestamp de cada evento, para crear el modelo, si encuentra inconsistencias re-ordena los eventos y crea un nuevo modelo. En el Video1 se puede ver una simulación para las órdenes de fabricación del log de eventos y la información que devuelve dicho proceso.

 

 

 

Como se puede apreciar en el vídeo, el proceso devuelve, además de la simulación, a lo largo del tiempo, de las distintas órdenes de fabricación de las piezas a lo largo de las distintas fases y máquinas, el número de ocurrencias de cada evento y el número de ocurrencias de cada transacción. El grosor de las líneas de las transiciones y la intensidad de los recuadros que representan los eventos es proporcional al número de ocurrencias, lo que permite conocer a simple vista que rutas son las más frecuentadas.

Figura 5: Red de Petri devuelta por el algoritmo Inductive Miner.

Otro algoritmo usado para obtener un es el Fuzzy Miner el cual intenta abstraer detalles de los modelos al igual que un mapa y permite simplificar la visualización a través de una segmentación (clúster) que agrupa eventos con una alta correlación y una baja significancia.  La significancia determina la importancia relativa de eventos y relaciones del proceso. En la Figura 6 se puede ver el modelo obtenido con el operador Fuzzy Miner, con los distintos eventos (Fase – Máquina), las distintas rutas de fabricación y para cada evento, el valor de la significancia, que determina la importancia relativa de eventos y relaciones. En el modelo, las relaciones con mayor significancia se representan con trazas de mayor grosor y las relaciones con mayor correlación se representan con colores más oscuros. En el Vídeo 2 se puede ver como se simula el “log” de eventos sobre el modelo Fuzzy y como los eventos con alta correlación y baja significancia están agrupados en un clúster que es el nodo que tiene forma octogonal.

 

 

Figura 6: Modelo fuzzy creado con el Fuzzy Miner.

Una de las aplicaciones más interesantes y atractivas de la Minería de Procesos es el estudio y reducción de posibles  “cuellos de botella”. Para ello, la Plataforma cuenta con un proceso que reproduce un “log” de registros en un modelo de un proceso y devuelve información sobre el rendimiento basado en los tiempos entre eventos. En la Figura 7 se puede ver el estudio de tiempos sobre el modelo que se obtuvo anteriormente con el algoritmo Inductive Miner (ver Figura 5). Como se puede apreciar, la intensidad del color de los eventos es proporcional al valor promedio de tiempo de espera: cuanto mayor es dicho valor promedio el color es más intenso. Además, el sistema devuelve unos valores estadísticos basado en los tiempos, como que puede apreciar en la figura para el evento “TOR.REVESTIDO_11511”, en el que se aprecia que se devuelve la frecuencia de casos que se ha dado dicho evento en el “log” de eventos, el promedio mínimo, máximo y medio de tiempo de espera y su desviación estándar.

Figura 7: Análisis de tiempo para estudio de posibles cuellos de botella

Conclusiones

Teniendo en cuenta todo lo comentado y mostrado anteriormente, se puede concluir que uno de los principales beneficios de la Minería de Procesos es que permite conocer cómo sucede realmente un proceso, ya que usa información real obtenida del proceso. Esto permite, por otro lado, detectar fácilmente discrepancias entre el proceso estimado y lo que sucede realmente y, finalmente, realizar un estudio más analítico de los procesos y del funcionamiento de una organización, basado en hechos que ya ocurrieron y que muestran la realidad de la ejecución.

Por otro lado, la Minería de Procesos permite, de manera sencilla, obtener una primera comprensión básica y visual del proceso, lo que facilita un primer análisis y conocimiento del proceso, con un esfuerzo relativamente pequeño. Si nos adentramos más en profundidad, la Minería de Procesos aporta utilidades para simular registros de “log”, estudiar en dónde se encuentran las discrepancias entre el modelo y lo real, y la optimización de procesos entre otros.

En resumen y teniendo en cuenta todo lo mencionado anteriormente, la Minería de Procesos es una herramienta que aporta muchos beneficios y que es muy útil en la gestión de procesos mediante el análisis y la mejora de los procesos de manera automatizada y rápida. Y desde Ibermática, la estamos ya implantando en aquellos proyectos en los que la eficiencia y eficacia de los procesos, la proactividad y la gestión de escenarios es fundamental para su negocio.

Para más información: http://ibermatica.com/innovacion/

Bibliografía

[1]          Christian W. Günther and Wil M. P. Van Der Aalst. Fuzzy mining: Adaptive process simplification based on multi-perspective metrics. In Proceedings of the 5th International Conference on Business Process Management, BPM’07, pages 328–343, Berlin, Heidelberg, 2007. Springer-Verlag.

[2]          Sander J. J. Leemans, Dirk Fahland, and Wil M. P. van der Aalst. Discovering Block-Structured Process Models from Event Logs – A Constructive Approach, pages 311–329. Springer Berlin Heidelberg, Berlin, Heidelberg, 2013.

[3]          A. K. Medeiros, A. J. Weijters, and W. M. Aalst. Genetic process mining: An experimental evaluation. Data Min. Knowl. Discov., 14(2):245–304, April 2007.

[4]          W. M. P. van der Aalst, A. K. Alves de Medeiros, and A. J. M. M. Weijters. Time prediction based on process mining. Information Systems, 36(2):450–475, April 2011.

[5]          W. M. P. van der Aalst et al. Process Mining Manifesto, pages 169–194. Springer Berlin Heidelberg, Berlin, Heidelberg, 2012.

[6]          Wil M. P. van der Aalst. Do petri nets provide the right representational bias for process mining? In Proceedings of the Workshop Applications of Region Theory 2011, Newcastle upon Tyne, UK, June 21, 2011, pages 85–94, 2011.

[7]          Wil M. P. van der Aalst. Process Mining: Discovery, Conformance and Enhancement of Business Processes. Springer Publishing Company, Incorporated, 1st edition, 2011.

 

¿Cómo determinar una campaña de encuestas con Análisis de Datos?

Jun 5, 2014   //   by wpuser   //   Minería de Datos  //  Comentarios desactivados en ¿Cómo determinar una campaña de encuestas con Análisis de Datos?

Usualmente, antes de realizar un estudio de mercado, o de aplicar campañas de ventas, introducción de nuevos productos en el mercado, o simplemente, la idea de realizar una encuesta a nuestros clientes para valorar ciertos indicadores, siempre tenemos  una primera incógnita: ¿A quiénes de mis clientes debo realizar la encuesta, para que esta sea fiable?

Si tenemos pocos clientes (no deseable), y los conocemos en profundidad, es relativamente sencillo seleccionar una muestra de los mismos para realizar la encuesta o el sondeo de opinión, pero cuando tenemos cientos o miles de clientes, de todo tipo de tamaño y “pelaje”, ¿Cómo puedo asegurarme de que recojo en una muestra sencilla la mayoría de los perfiles posibles que me den una representación veraz de la información? Es en este caso, cuando herramientas analíticas de Minería de Datos, de una forma automatizada y sencilla, nos puede dar la respuesta.

Y la respuesta está en la propia pregunta:  hay que perfilar los clientes. Dado que existen algoritmos muy maduros de segmentación y clasificación, con este tipo de herramientas, modelándolas un poco, seremos capaces de seleccionar de forma óptima y elegante la muestra perfecta para nuestro estudio.

  • Pero, ¿Cómo se hace?  Lo primero y evidente, (a veces no tanto),  es introducir los datos que podamos de nuestros clientes y, por ejemplo, sus ventas,  en el sistema, (cuantos más, mejor).  Después, lanzamos un análisis de correlación para identificar qué variables o indicadores son los que tienen mayor relevancia en el modelo de datos de origen, de esta forma, anulamos las variables que se repiten muchas veces, que son poco representativas (tienen muchos valores únicos), aquellas que tienen datos nulos, y dejamos el “set” de datos listo para el proceso de clasificación.

indicadores_relevantes

  •  Una vez filtrados los indicadores “interesantes”, dados por el sistema, generamos una segmentación automática, que nos indica, sin que el sistema sepa “nada a prirori”, cómo los datos se distribuyen en “perfiles” homogéneos en base a sus datos.

Dependiendo de qué tipo de datos estamos utilizando (más numéricos que alfanuméricos, o mixto), podremos utilizar un tipo de algoritmos u otros.

cluster_automatico

  • El secreto está en determinar cuál es el número óptimo de perfiles a dividir el conjunto completo de los datos. Para ello, se pueden aplicar clasificadores que “evalúen” lo bueno o malo que es el distinto conjunto de datos a la hora de predecir a qué segmento pertenecen.

x-validacion_cluster

Además, podemos generar un “mapa de perfiles” que nos permita analizar de un “vistazo”cuál es el “prototipo” o “centroide” de cada segmento, y así, identificar cada segmento con sus datos principales, e incluso, poder ponerles nombre, si lo deseamos, a cada distribución de datos (esto, aún, las máquinas no saben hacerlo bien):

Perfiles_tipo_Segmentación

Finalmente, cuando ya tenemos los segmentos debidamente clasificados, sólo tenemos que ver qué proporción sobre el universo general le corresponde a cada segmento, y en base a esta proporción, seleccionar un número de individuos representativo. Es decir, si queremos tomar 100 individuos, y el cluster1 supone un 30% del universo, cogeremos 30 individuos de este cluster.

  • ¿Cómo podemos seleccionar los individuos de cada cluster? Existen dos opciones.. La primera y más sencilla, al azar… Le decimos al sistema que tome al azar un porcentaje de cada perfil en base a su distribución general,  y listo.

perfiles_en_mapa

Otra forma más “inteligente” es decidir, dentro de cada perfil, que estrato seleccionamos. Por cada grupo, habrá clientes que estén más cerca del “prototipo” principal de dicho grupo, y otros que estén más lejos, es decir, que pertenecen a ese grupo, pero están cerca de pasarse a otro (imagínense que un grupo es el de los clientes fieles, y otro el de los desertores: habrá individuos que estén “lejos” del centro de los “fieles“, que aunque son “fieles“, están cerca de “desertar“). De esta forma, este análisis no sólo sirve para realizar la encuesta, sino también para detectar anomalías entre los clientes de cada grupo.

perfiles_en_mapa_centroides_vs_desertores

Así, de los 30 individuos que tenemos que tomar del perfil1, por ejemplo, podemos tomar 10 clientes cerca del “centro” del cluster, 5 en el extremo superior, y 5 en el extremo inferior, permitiendo al sistema seleccionar, de entre los clientes del tipo de perfil 1, una distribución importante de los “centrales“, pero también poder recabar la información de los extremos, que posiblemente puedan ser los descontentos.

Con esta selección automática, nos aseguramos de tener la información de la opinión de los distintos tipos de clientes, sin olvidarnos de ninguno.

individuos_seleccionados_para_encuesta

Finalmente, la interpretación de las encuestas, en base a los perfiles, se puede agilizar con un clasificador en base a los contenidos de las mismas, de forma que podamos “triangular” automáticamente los perfiles de las respuestas, en un proceso similar al explicado, pero con los datos de las respuestas agregados a los datos iniciales tomados en la investigación.

Ya saben, cualquier consulta adicional al respecto, dudas, o ayuda en este tipo de procesos, no duden en contactar con nosotros.

Minería de Datos en entornos de Análisis de Datos en Planta. ¿Qué ocurre en la producción?

Ago 21, 2013   //   by Ansgar   //   Minería de Datos  //  1 Comment

Es habitual hoy en día, en cualquier planta de producción, tener cientos o miles de registros donde se guarda la información de la actividad diaria: ¿ Cuántas piezas se han producido, a qué hora, quién ha sido el operario, si ha habido algún problema…?

Big (Small) Data en Planta

Big (Small) Data en Planta

Esta masa de datos, habitualmente, se analiza en base a cuadros de mando, en los que se agrupa la información por equipo, operario, planta, incidencias, obteniéndose resultados sobre el total de incidencias por máquina, centro, operario, que de forma gráfica, nos ubica en el estado de nuestro negocio.

Sin embargo, actualmente, este información se queda “corta” en dos sentidos:

  • Explican que ha ocurrido en el pasado, pero agrupando los datos, con lo que perdemos las razones de porqué han ocurrido ciertas incidencias, por ejemplo, en momentos puntuales. Para llegar a esta información, debemos hacer análisis manuales, agrupando por fines de semana, vacaciones, turnos, siempre de una forma deductiva, en base al “olfato” de los expertos, y con la pérdida que conlleva el análisis de numerosos datos multiplicados por las numerosas posibles variables que puede “explicar”  el comportamiento de la producción.
  • Por otro lado, al perder la “granularidad” temporal de lo ocurrido, podemos ver lo que ha ocurrido en el pasado, pero no podemos inferirlo al futuro inmediato, ya que no tenemos toda la información “agrupada” en el cubo que estamos analizando.
  • Finalmente, el sistema no es capaz de explicarnos el porqué de dichos comportamientos: tenemos que realizar, de nuevo, un estudio seleccionando el subconjunto de datos afectados, para intentar indagar cuáles son las variables que forman parte del problema.  La experiencia puede guiar el análisis de los datos hacia relaciones lógicas, como la disminución de la producción en una máquina antigua. ¿Pero qué sucede con aquéllos factores que no nos habíamos planteado?

La minería de datos, como su propio nombre indica, se encarga de coger el pico y la pala, y explorar esa inmensa mina de datos buscando las relaciones entre los diferentes factores. Así, podemos descubrir que una pieza complicada tarda más en ser fabricada en el turno de tarde, o que la máquina X muestra un rendimiento manifiestamente superior cuando la maneja el operario Pepe durante los primeros seis meses del año.

Minería de Datos

Minería de Datos

La gran ventaja de esta aproximación es que es el propio sistema, el que, con la totalidad de los datos, (e incluso, si pudiésemos, con más, por ejemplo, la temperatura ambiente en las zonas de producción), el que determina cuáles son los indicadores que forman parte del problema, y entre que valores dichos indicadores son críticos. Y todo ello, con sólo darle a un botón…

De esta forma, las reuniones semanales en las que los responsables de producción en las plantas, se reúnen para analizar qué es lo que ha pasado, por qué, y cuáles son las acciones correctivas, en vez de utilizar una gran parte de su tiempo para “descubrir” y analizar lo que ha pasado, tendrían ya esa información encima de la mesa, y directamente, analizarían lo que realmente a pasado, por qué se ha producido los desfases semanales (que variables han afectado a cada una de las máquinas, turnos, o procesos), realizar decisiones de mejora sobre dichos datos, e incluso, con esas modificaciones, simular qué es lo que va a ocurrir en las semana siguiente.

I3B, desde su Unidad de Análisis Predictivo, proporciona a nuestros clientes las herramientas necesarias, para que, dándole a un botón, puedan saber exactamente que es lo que ha ocurrido en su planta, las razones principales de los ocurrido, de una forma gráfica, usable y fácilmente comprensible.

El índice OEE

El OEE (Overall Equipment Effectiveness o Eficiencia General de los Equipos), tal y como podemos leer en la Wikipedia,  es una razón porcentual que sirve para medir la eficiencia productiva de la maquinaria industrial. La ventaja del OEE frente a otras razones es que mide, en un único indicador, todos los parámetros fundamentales en la producción industrial: la disponibilidad, la eficiencia y la calidad.

La fórmula para calcular el valor OEE es la siguiente:

OEE = Disponibilidad * Rendimiento* Calidad

Disponibilidad = DuracionTrabajoTotal / DuracionDisponible

Rendimiento = ProduccionTotal/ProduccionPrevista

Calidad= PiezasBuenasTotal/ProduccionTotal

El resultado de este indicador se puede dividir en distintos niveles, a nivel académico:

  • OEE < 65% Inaceptable. Se producen importantes pérdidas económicas. Muy baja competitividad.
  • 65% < OEE < 75% Regular. Aceptable sólo si se está en proceso de mejora. Pérdidas económicas. Baja competitividad.
  • 75% < OEE < 85% Aceptable. Continuar la mejora para superar el 85 % y avanzar hacia la World Class. Ligeras pérdidas económicas. Competitividad ligeramente baja.
  • 85% < OEE < 95% Buena. Entra en Valores World Class. Buena competitividad.
  • OEE > 95% Excelencia. Valores World Class. Excelente competitividad

Sin embargo, no todos los procesos productivos, empresas o fábricas se comportan del mismo modo… De esta forma, el sistema propuesto es capaz, en base a todos los datos históricos, de balancear automáticamente este valor, y sugerir la mejor distribución de OEE con respecto al resto del resto de distribuciones de los datos que tienen correlación con el OEE (incidencias, operarios, producción, temperatura ambiente, etc…)

Es importante detallar que el OEE, lógicamente, tendrá relación directa con los datos que lo producen, (Disponibilidad, Rendimiento, Calidad), pero si quitamos dichos datos de la “coctelera”, el sistema nos comienza a dar la correlación de otros indicadores directamente no relacionados con las fórmulas, con el resultado OEE (día de la semana, turno, hora, operario, etc..), que, en un principio, no están descritas en las fórmulas anteriores.

Así, si tenemos un conjunto de datos de entrada, con distintos indicadores, como el descrito en la Figura siguiente:

 

Datos Brutos en Planta
Datos Brutos en Planta

 

El propio sistema nos sugiere la mejor distribución de OEE para dichos datos, en forma de la siguiente tabla:

OEE Distribución Automática

OEE Distribución Automática

Como se puede observar, el nivel “Inaceptable” teórico, en este caso, se divide en dos, en un nivel “crítico” (< 31%), y en otro “Inaceptable” (=>31% y < 63%).

 Basándose en esta división esta es la distribución del mismo valor, se muestra además que la distribución normal (línea roja) indica que la mayoría de valores está en 0,2 y 0,5, con lo que ya, de un primer vistazo, podemos deducir que la mayoría de las producciones de esta planta están en un entorno  teóricamente “Inaceptable” ¿Por qué?

Explicando las Razones de los “OEE” Inaceptables.

No sabemos qué es lo que está ocurriendo para los indicadores OEE inaceptables. Le pedimos al sistema que nos muestre cuáles son aquellos campos que inciden de forma directa sobre el resultado OEE, y de forma automática, nos devuelve la siguiente gráfica:

Indicadores relacionados con OEE

Indicadores relacionados con OEE

Es decir, que el buen o mal resultado de un OEE viene dado, en primer lugar, por la máquina en la que se está trabajando, pero en segundo lugar, por el día de la semana que se trabaje, la Fase del trabajo, el operario y el turno que se le asigna.

Curiosamente, el día de la semana afecta al rendimiento en la producción, por máquina, pero necesitamos más detalle, que el sistema nos suministra de la siguiente manera:

Reglas_explicativas_OEE

Reglas explicativas OEE

De esta manera, podemos “entender” qué es lo que está pasando en nuestra planta. Por ejemplo, la máquina 145 tiene resultados Inaceptables los martes, mientras que los sabados y domingos, su rendimiento es “Regular”. Por otro lado, la máquina 155, tiene un rendimiento “Bueno” o “Aceptable” en general, excepto los miércoles, que en los turnos de mañana y noche, es “Inaceptable”.

Estos datos tienen una confianza de veracidad de un 94%, es decir, que son reales. Ahora, tocaría al jefe de planta, “indagar” porqué los miércoles a la mañana o a la tarde, en general, la máquina 155 tiene un rendimiento tan malo. Pero hemos logrado minimizar el tiempo de análisis de dicho gestor para detectar estos comportamientos a un simple “click” de ratón, para que pueda dedicar el resto de su jornada a mejorar los rendimientos anómalos, como este.

Visualización.

La navegación por las reglas no es evidente, si se genera un informe en papel, o semigráfico. Por ello, I3B permite incorporar las reglas resultantes (que ya incluyen los indicadores que modelan las explicaciones y sólo ellos), dentro de la plataforma analítica de cualquier cliente. Esto permite que las dimensiones y los atributos que afectan a un indicador ya están “filtrados” en cantidad (sólo aquellos indicadores relevantes), y en calidad (con los valores que afectan a los resultados).

Por lo tanto, la visualización y navegación de las reglas se hace más intuitiva, en base a cuadros como el que se muestra a continuación:

OEE_BI

OEE_BI

En estos cuadros, dinámicos,  se observa qué máquinas tienen un “OEE” más inaceptable (como en cualquier otro cubo), pero además, si navegamos por ellas, y pasamos de la primera condición a las siguientes  datos, vemos que para unas máquinas, su OEE se ve afectado por el operador que las trabaja, mientras que para otras, su rendimiento depende del turno de trabajo, independientemente del operador. Y todo ello, sin necesidad de cruzar ninguna dimensión con ningún atributo, ya están cruzados de antemano:

Diferencias de patrones en función de las máquinas

Diferencias de patrones en función de las máquinas

De esta forma, podemos navegar por las reglas de una forma intuitiva, entrando desde las generalidades de los OEE inaceptables, hasta sus particularidades, y llegando a conclusiones sobre su comportamiento analizando sólo 4 o 5 indicadores, que sabemos, “a priori”, que son los responsables de dicho comportamiento, junto con los umbrales (operario, fecha, turno, etc…) que los provocan, y por supuesto, la veracidad de dichas reglas. (En este caso, un 94% de acierto).

No sólo se puede analizar el OEE, sino todo aquel indicador de nuestra base de datos que queramos. Por ejemplo, otro indicador importante para analizar, además del OEE, son las incidencias. ¿Por qué se producen ciertas incidencias en nuestra planta de producción, dónde se producen, y cuándo?

Siguiendo la misma filosofía de trabajo, podemos generar el mismo cuadro de control sobre nuestras incidencias, y navegar por los indicadores que reproducen los motivos de porqué se dan las mismas, con un solo informe gráfico

Inciencias_BI

Inciencias BI

Y analizar, por ejemplo, porqué la mayoria de incidencias se producen en ciertas máquinas (y con ciertos operadores),

Incidencias por turnos en fabricación

Incidencias por turnos en fabricación

Y descubrir que tienen que ver con una fase de fabricación determinada, en unos turno muy concretos de la planificación.

Como conclusión, las herramientas automáticas de análisis de comportamientos no sólo son aplicables a grandes sectores como el marketing, banca u otros, sino que el denominado “BiogData” también es aplicable a los procesos de trabajo en fábricas y plantas de producción, de cualquier tamaño, evitando que el 80% del tiempo de análisis se convierte en un 80% de tiempo en mejoras¡, conociendo de antemano las razones concretas que modelan las fases productivas.

Extracción Automática de Conocimiento Sobre Opendata (Openmining/Biganalytics): una perspectiva Juridica Y Social

Abr 18, 2013   //   by wpuser   //   Minería de Datos  //  Comentarios desactivados en Extracción Automática de Conocimiento Sobre Opendata (Openmining/Biganalytics): una perspectiva Juridica Y Social

RESUMEN: Open Data es un nuevo paradigma en el que la tecnología actúa como facilitador en la publicación del conocimiento sito en la Administración Pública y los gobiernos. Así, se está configurando como una herramienta que permite realizar procesos de Extracción, Tratamiento y Carga con múltiples fuentes de datos públicas, para generar informes o cuadros de mandos con un objetivo determinado. Sin embargo, el representar la información “relevante” implica un proceso posterior manual y complicado de filtrado, selección y comprensión de los datos de forma “artesanal”, para dar una salida estática final. Pero estos informes no muestran las “razones” o el “por qué” dichos datos son relevantes. En la actualidad, existen potentes herramientas (BigData), que nos permiten encontrar axiomas de forma automática, que “explican” los patrones inmersos en los datos, y “descubren” relaciones no evidentes entre los mismos, de forma totalmente transparente para el usuario. Por lo tanto, podemos relacionar datos demográficos, políticos, censales, económicos, médicos, culturales, y pedir al sistema, que, en base a unos objetivos determinados, (por ejemplo, el nivel de inversiones, indicadores de salud, o resultados electorales), nos enseñen porqué se están produciendo dichos comportamientos y la propensión de que los mismos patrones se reproduzcan en el futuro.

 La gran sopa de los Datos

1. INTRODUCCIÓN.

 1.1 Las Contradicciones Del “Opendata”: “Open Government”

 La tecnología, en estos tiempos modernos, usualmente, va por delante de la aplicabilidad de la misma en distintos contextos funcionales, principalmente en la Administración Pública. El presente artículo no trata de ahondar en el estado del arte tecnológico, sino de demostrar como ciertas tecnologías, muy maduras en otros ámbitos, (sanitario, bancario, marketing), pueden ser aplicadas al nuevo paradigma de OpenData, o publicación de datos abiertos por Administraciones Públicas, con el objetivo de mejorar la comprensión por parte de los “consumidores” de dicha información de forma directa, sencilla y rápida.

Tal y cómo describe Javier de la Cueva en su artículo “Redefiniendo la isegoría: open data ciudadanos”, OpenData permite que un ciudadano (o administración) publique a coste cero información que otros ciudadanos, pertenecientes a otro lugar del globo, puedan leerla a coste cero.

Sin embargo, para que esta posibilidad sea real, se deben dar las siguientes premisas:

–          La liberación de los datos implica el sometimiento de los datos públicos a estándares abiertos obligatorios.

–          Los datos dispuestos por los gobiernos deben ser lo más completos posibles, publicando toda la información en bruto, con la excepción de los datos relativos a la privacidad.

–          Los datos puestos a disposición pública por los gobiernos deben ser fuentes primarias, y con un sentido de oportunidad, es decir, tan rápidamente como es reunida y recogida.

–          Los datos deben de ser válidos, en un sentido estadístico, es decir, los valores intrínseco a los mismos deben ser evidencias de la realidad, en un porcentaje elevado (por ejemplo, se estima que los datos deben tener una confianza de un 80% en datos médicos).

–          Calidad, veracidad e inmediatez.

La realidad es que, quitando contadas ocasiones, ninguna  de las anteriores premisas se cumple. Por un lado, existe un estándar internacional para la publicación de los datos basado en tecnología semántica denominada “LinkedData”, que tiene cinco niveles de “excelencia”, y que no cumple casi ninguna administración. Por otro lado, los datos “expuestos” no son completos, y es necesario “ahondar” en información adicional, principalmente de otras fuentes, o incluso, manipulándola manualmente, para dar sentido a los datos publicados. Y finalmente, el coste que suponen los procesos de ETL (Extracción, Transformación y Carga) para las administraciones implica una clara pérdida de la oportunidad.

Quizás, el mayor problema en el coste de cumplimiento de estos requisitos es más profundo, y  resida en que no existen objetivos claros sobré que conjuntos de datos publicar, y principalmente, el para qué publicarlos. Se debe realizar un análisis previo, e incluso una consulta a los agentes principales “consumidores” de dicha información, con el objetivo de cuantificar claramente los “data sets” relevantes, priorizar y programar en el tiempo su publicación por orden de importancia, gestionar correctamente la publicidad de dichas publicaciones, medir de forma objetiva y cuantitativa el retorno de la inversión (no siempre en parámetros económicos, sino de reputación e interés social),  e incluso formar a la ciudadanía en las posibilidades de extracción y tratamiento de toda esta información. Sin tener los objetivos claros, y los beneficios cuantificados, a pesar de estar muy avanzada tecnológicamente, la filosofía OpenData no tiene futuro.

open government

Así, se está generando un fenómeno, por el cual, los que realmente están liberando datos en formato “OpenData” son los ciudadanos mediante técnicas de transformación, extractando el conocimiento de forma normalizada, que el Estado ha sido incapaz de realizar en base a los criterios prefijados. Y en parte, la razón de este fenómeno es la contradicción que existe entre la “recomendación” de publicar datos en bruto (Estado), con la necesidad de extraer de dichos datos sólo y sólo aquella información que es relevante para las necesidades de una consulta concreta (Ciudadanos).

Y de esta forma, nace el concepto de Open Government. Open Government se refiere al uso de tecnología para fomentar la transparencia, participación y colaboración con los grupos de interés de la Administración Pública y los gobiernos. Aunque la expresión tiene raíces en el Siglo de las Luces y posteriormente en una declaración de Lincoln en 1863, Obama le dio un nuevo impulso a través de su “Memorandum on Transparency and Open Government” (2009). Para Obama, Open Government debe conducir hacia una Administración Pública y un gobierno más eficientes y efectivos. De alguna manera se trata de reinventar la gestión pública y el gobierno.

Conceptualmente, Open Government es la suma de Government 2.0 y Open Data. Es un nuevo paradigma en el que la tecnología actúa como facilitador de una transformación en la manera de gestionar la Administración Pública y los gobiernos, a través del fomento de la transparencia, la participación y la colaboración con los grupos de interés. Es decir, es la suma de la publicación de datos en bruto, en dónde, los grupos de interés (ciudadanos, empresas, gestores), son capaces de transformar dicha información en conocimiento publicable, recabando un beneficio final, bien renumerado, bien en conceptos de prestigio social. Como consecuencia de dicha aplicación, se obtienen resultados finales en términos de productividad, innovación y reputación/fidelización de dichos grupos de interés (ciudadanía).

Pero para que el “cliente final” pueda recibir, en una aplicación “ad hoc” de forma directa las conclusiones de dicho conocimiento, se deben realizar una serie de pasos sobre la información base, como lo son:

–          La normalización y diferenciación entre lo que son datos constantes, conceptos (denominados “URI”s en semántica), y lo que son los valores asociados a dichos conceptos, y que serán los que se puedan mostrar en base a gráficos o informes. (Por ejemplo, Barcelona tiene una población de  1,621,537 habitantes se transforma en “dbpedia.org/page/Barcelonaàdbpedia-owl:populationTotalà1621537 (xsd:integer)”

–          Los datos deben estar relacionados, de forma que, a partir de ciertos “pasos” precalculados, podamos buscar relaciones, entre distintos conceptos y sus valores. Por la tanto, podremos relacionar el impacto, por ejemplo, de ciertas subvenciones sobre la renta de una determinada región, o sobre su efecto en enfermedades determinadas, si se solicita. Esto implica que hay que “normalizar” la información lo expresado en el punto anterior, pero además, hay que “enlazar” dichos conceptos.

–          Los datos deben ser relevantes, es decir, hay que “luchar” contra la cacofonía del ruido del entorno, y presentar solamente aquella información que tiene relación con la “pregunta” que se quiere responder. Por ejemplo, si estamos buscando si existe relación entre las sentencias judiciales y su efecto, sobre la violencia de género, “intuimos” que la información referente a los datos demográficos puedan ser de interés, pero no así, los datos meteorológicos, aunque igual nos sorprendíamos.

Como se puede intuir, el “navegar” por la ingente cantidad de datos en bruto, para seleccionar los conjuntos de datos, que “a priori” pueda tener relevancia con nuestro objetivo, enlazarlos, filtrarlos, normalizarlos, certificar la validez de los mismos, y presentarlos en un formato “usable”, no es una labor trivial.

Y sin embargo, en el entorno médico, por ejemplo, existen millones de “filas” de información ya extractada en este formato, disponible de forma directa, y accesible en función de las distintas preguntas que deseemos hacer. ¿Cómo es posible? Gracias a tecnología de extracción, análisis y asociación de relaciones basadas en técnicas de Inteligencia Artificial,  conjuntadas en lo que hoy en día se ha dado por denominar “BigData” o “BigAnalytics”. El reto está en proporcionar dichas técnicas a los agentes del “Open Governmet”, para que, de una forma desasistida, los datos en bruto se puedan transformar en conocimiento elaborado con el mínimo esfuerzo `posible.

Big-Data_analytics

2. BIG DATA/BIG ANALYTICS

 2.1 La palabra de  moda: “Big Data”

 Durante los últimos años, en el sector TIC, se ha pasado de la obsesión por “la nube” al foco en el “big data”. No obstante, el término “big data” es relativo. Se emplea (según definición de Gartner) cuando los problemas de gestión y procesamiento de la información “superan en una o varias dimensiones la capacidad de las tecnologías tradicionales de gestión de información para respaldar el uso de este activo”. Es decir, que los datos solo son “big data” cuando no es posible gestionarlos o analizarlos. Durante décadas, las TICs han salvado limitaciones conocidas alojando datos en estructuras definidas o arquitecturas de almacenamiento. Con métodos que se basan en el indexado y los lenguajes primitivos, las bases de datos no tardan en volverse demasiado grandes para ser gestionadas. Pero, ¿qué pasaría si pudiésemos poner una sola matriz de memoria con una fila por resolución judicial?, o ¿crear mil millones de filas, una por cada sentencia, sus datos asociados (niveles de renta de los demandantes/demandados, perfil de los jueces, situación geográfica, información censal) y su conclusión? Sería ideal poder obtener respuestas a cualquier pregunta en segundos a través de una sencilla interfaz gráfica o simplemente a través de una Web accesible. Esta posibilidad es lo que denominamos “big analytics”.

La tecnología de “big analytics”, evolución de la ya clásica “Minería de Datos”, se basa principalmente en la capacidad que tienen las máquinas de analizar correlaciones, relaciones, segmentaciones y procesos estadísticos en tiempo máquina (“sin descanso”), sobre un volumen de información ingente, tanto estructurado como no estructurado. Hay que tener en cuenta que el 80% de la información actual está en formato “textual”, y hacen falta procesos de transformación de dicho lenguaje a un formato “normalizado”. Por lo tanto, “big analytics” aúna técnicas de procesado estadístico con técnicas de procesado de lenguaje natural, que además, “encajan” a la perfección con la salida deseada que hemos comentado en el punto anterior, un formato semántico estructurado según al normativa de LinkedData.

“Big Analytics” se define como el proceso de descubrir los patrones de información interesante y potencialmente útil, inmersos en grandes fuentes de información dispersas con la que se interactúa constantemente. Internamente, es una combinación de procesos como:

–          Extracción de datos.

–          Limpieza de datos.

–          Selección de características principales.

–          Algoritmos de clasificación y predicción.

–          Análisis de resultados.

Estas plataformas exploran una gran cantidad de datos, y mediante su análisis, explican qué indicadores tienen correlación con ciertos objetivos o preguntas realizadas, y además, cuáles son las reglas que modelan dichos comportamientos. Una vez extraídas dichas reglas, es posible predecir posibles tendencias o comportamientos futuros dentro de una entidad, permitiendo al usuario final “comprender” la lógica de lo que los datos “dicen”, y los datos “nunca mienten”, y en base a ello, poder tomar decisiones, en unos casos, o poder publicar noticias basadas en la investigación de los datos (como es el caso del “periodismo de datos”).

La diferencia de estas técnicas con las clásicas estadísticas reside, principalmente, en que las técnicas estadísticas se centran en técnicas confirmatorias, y “big analytics”, en técnicas de descubrimiento. Así, cuando el problema al que pretendemos dar respuesta es refutar o confirmar una hipótesis, podremos utilizar ambas ciencias. Sin embargo, cuando el objetivo es meramente exploratorio (para concretar un problema o definir cuáles son las variables más interesantes es un sistema de información) aumenta la necesidad de delegar parte del conocimiento analítico a técnicas de aprendizaje. Así, “big analytics” se utilizará cuando no partimos de supuestos de inicio y pretendemos buscar algún conocimiento nuevo y susceptible de proporcionar información novedosa en la toma de decisiones.

En el caso de datos públicos, y siguiendo con la premisa de publicación en bruto por parte de la Administración, existe una alta dimensionalidad del problema. Cuantas más variables entren en el problema, más difícil resulta encontrar una hipótesis de partida interesante o, aun cuando se pudiera hacer, el tiempo necesario no justificaría la inversión. En ese caso, utilizar técnicas de minería de datos como árboles de decisión nos permitirán encontrar relaciones inéditas para luego concretar la investigación sobre las variables más interesantes, y al contrario que en la estadística, cuantos más datos tengamos, mejor solucionaremos el problema.

No es el objeto de este artículo ahondar en la algoritmia interna de estas plataformas, pero como un punto general, se puede decir que se trabaja en distintas fases:

–          Clustering: Es un planteamiento que intenta identificar las características distintivas entre los conjuntos de registros y el lugar en grupos o segmentos. Este proceso es a menudo la intensificación de punto de partida para la minería de datos, ya que conduce a la exploración de relación. Este proceso en particular es un candidato obvio para la segmentación de clientes por agrupación de similitudes.

–          Asociación: Aquí se encuentran las reglas que le permiten correlacionar la presencia de un conjunto de elementos con otro conjunto. Este método ha demostrado ser eficaz en el comercio minorista, donde el análisis de cesta de la compra le ayuda a encontrar que algunos artículos son siempre comprado en el mismo tiempo. Si usted puede encontrar los patrones de compra natural de un cliente puede utilizar ese modelo para ayudar a comercializar su producto. El resultado de esta asociación es una lista de afinidad de productos.

–          Asociación secuencial: Patrones relacionados con el tiempo. Este método busca los vínculos que relacionan estas pautas secuenciales. La idea es utilizar los datos asociativos como una cuenta de cheques o de un acontecimiento vital para unir una secuencia de acontecimientos en una serie de tiempo. La vida activa que preceden a sus compras y las compras de precursores se encuentran a menudo a esta metodología. La reducción de grandes cantidades de datos a los resúmenes significativa por el uso de nuevas normas puede extender esto.

2.1 La Curva de Aprendizaje

 Una vez demostradas las capacidades de esta tecnología sobre el tratamiento masivo de datos, el problema es cómo “transferir” dichas capacidades a loas verdaderos agentes de la transformación y reutilización de datos abiertos, es decir, a los ciudadanos o empresas que los modelizan.  Sin embargo, el problema no es tal, ya que existen múltiples plataformas analíticas avanzadas, muchas de software libre y disponible por la “comunidad” para su uso.

Estas plataformas tienen distinto grado de usabilidad y accesibilidad, pero las hay que, desde entornos Web, son capaces de permitir a los usuarios la subida de datos, y la bajada de las reglas que explican dichos datos, en base a reglas, que aclaran de forma visual, porqué un indicador está ocurriendo en determinados casos, y en otros no.  Otro tipo de plataformas (RapidMiner, Knime), tienen una curva de aprendizaje un poco más escarpada, pero es perfectamente viable, que con pocas jornadas de entrenamiento, una persona  no informática sea capaz de generar sus propios modelos para obtener las reglas que modelan sus datos.

Por lo tanto, una vez más, es evidente que la tecnología supera al “negocio” en cuanto a facilidad de uso, pero muchas veces, dicha funcionalidad  no es divulgada, primeramente, por intereses particulares, en los que, determinados nichos de negocio (empresas de marketing, consultorías en analítica avanzada), pretenden “mantener” el conocimiento de estas tecnologías en nichos cerrados para poder seguir operando como “gurús tecnológicos” especializados en “siglas de “tres letras” , aparentemente inaccesibles para el resto de la sociedad, cuando, las plataformas reseñadas anteriormente tienen una filosofía totalmente abierta y accesible. De hecho, la mayoría de las herramientas disponibles utilizan el mismo tipo de algoritmos, uso de la misma base de métodos estadísticos o son variaciones “sutiles” de los métodos generales.

3. BIG ANALYTICS vs OPENDATA

Según Gartner, “BigData nos hace más listos, pero OpenData nos hará más ricos”.  Efectivamente, tal y cómo hemos reseñado, BigData nos permite comprender que hay en nuestros datos, justo aquello que es relevante para nuestras consultas, y sólo aquello relevante, y el porqué está ocurriendo, mientras que OpenData permite a los agentes “publicar” dicha información transformada en conocimiento, para su beneficio propio.

La conjunción de ambas tecnologías, permite, minimizar el coste de análisis, transformación y extracción de la relevancia, aumentando, por lo tanto, el beneficio de la “venta” de dicho conocimiento a terceros. De esta forma, las Administraciones “delegan” su esfuerzo de desarrollo a agentes externos, siendo su única responsabilidad de la publicar datos en bruto.

El flujo del proceso es simple: Publicación de datos en Bruto por parte de la Administración (OpenData), complemento de dicha información con otras fuentes ya publicadas (LinkedData), recogida y análisis de información de forma automática (BigAnalytics),  generación de evidencias contrastadas estadísticamente (BigAnalytics), y publicación de la información relevante en formato semántico (LinekdData), más la presentación de la misma información en cuadros de mando Web (Mashups). Todo ello, conformaría el ciclo en espiral de la gestión del conocimiento en un entorno de  “Open Government”.

bigdatanowwhat

Más información en: http://www.ibermaticajusticia.com/ y http://www.i3b.ibermatica.com/i3b

 

IBERJOUR una plataforma para la generación semiautomática de información y conocimiento

Abr 8, 2013   //   by oa.usun   //   Minería de Datos  //  Comentarios desactivados en IBERJOUR una plataforma para la generación semiautomática de información y conocimiento

 

La plataforma IBERJOUR (Ibermatica for Data Journalism) es una plataforma de periodismo de datos en la que los periodistas escribirán, publicarán, difundirán y recibirán “inputs” sobre sus historias y comentarios periodísticos.

El periodismo de datos representa la convergencia de diferentes campos, los cuales son significantes por sí mismos: desde labores de investigación y estadística hasta diseño y programación. Las acciones necesarias para llegar al periodismo de datos son: encontrar, interrogar, visualizar y relacionar los datos con el propósito de crear una nueva historia.

El periodismo de datos se basa en la unión del periodismo, el diseño y la ciencia computacional para contar y dar sentido a las historias. Por dar sentido entendemos poner en contexto una historia, integrando los datos en dicha historia, estructurando sus partes y por supuesto ofreciendo datos relacionados con ella (personas, lugares, eventos, etc).

Iberjour_1

La liberación de grandes cantidades de datos gubernamentales es un significante paso adelante en el camino de la Web Semántica. El movimiento open data realizado por los estamentos públicos permitirá nuevas formas de reportaje así como una nueva generación de servicios que permitan al público participar en el proceso de confección de las noticias y contenidos.

Open data reduce de forma drástica las barreras de entrada de nuevos actores en el campo periodístico o de la información. De esta forma aparecen iniciativas que buscan, desde las administraciones y promotores de los datos abiertos, su explotación por entidades comerciales, a la vez que se crean tecnologías (herramientas, plataformas, etc) para su aplicación en entornos periodísticos profesionales.

IBERJOUR tiene como objetivo la implantación del periodismo de datos, haciendo uso conjunto de los siguientes puntos:

  1. El movimiento open data iniciado por las instituciones gubernamentales españolas
  2. La capacidad de los periodistas para contar historias, ponerlas en su contexto y relacionarlas
  3. La capacidad tecnológica que Linked Data, el multilingüismo y las nuevas tecnologías de visualización nos brindan para conseguir este objetivo
  4. El desarrollo de herramientas y plataformas a explotar por la industria TIC aunando los conceptos anteriores y replicándolo en otros sectores
  5. La inclusión de soluciones para la seguridad de los datos y los resultados de su utilización.

slide6

En general los Datos Enlazados (Linked Data) son:

  • Abiertos: Los Linked Data son accedidos a través de una variedad ilimitada de aplicaciones porque se expresan mediante formatos abiertos y no propietarios.
  • Modulares: Los Linked Data pueden ser combinados (mashed-up) con cualquier otra pieza de Linked Data.
  • Escalables: Es sencillo añadir más Linked Data a aquellos que ya estén, incluso cuando los términos y definiciones que se utilicen cambien a lo largo del tiempo.

Los beneficios de los Linked Data son:

  • Permitir la publicación de datos a escala web.
  • Todo es un recurso.
  • Todo puede ser anotado.
  • Fácil de extender.
  • Fácil de fusionarse.

Las posibles fuentes de open data son:

  • Gubernamentales.
  • Las organizaciones periodísticas como The Guardian y el New York Times que publican “datablogs” que de forma regular liberan conjuntos de datos producido o adquiridos por las investigaciones.
  • Nodos de la nube existente de Linked Data.

IBERJOUR combina los ecosistemas de open data  expuestos bajo el paradigma Linked Data para dotar al periodismo de datos de una potente y novedosa herramienta. Tomaremos como fuentes los datasets de Open Data Euskadi, Twitter, Facebook y Youtube.  además, IberJour permite analizar “sets” de datos, de una manera sencilla, extrayendo información relevante de hojas de datos Excel, con una herramienta, que, en forma de guiado o “wizard”, nos pregunta qué objetivos estamos buscando dentro de los datos, y nos muestra la correlación del resto de datos con el objetivo, y las reglas que explican el comportamiento de la meta buscada.

Así, este asistente, nos permite

  •  seleccionar los campos del total de lo hoja de datos, que deseemos analizar.

El usuario, una vez haya seleccionado el conjunto de datos de interés, podrá marcar los campos sobre los que quiere realizar la presentación de los mismos, seleccionando aquellos que le resulten de interés.

 Iberjour_3

Posteriormente, se podrá filtrar la información , en base a condiciones sobre los valores de los campos, podrá “filtrar” aquellas filas de los mismos que quiera analizar, por ejemplo, “edad >56”. Los criterios de filtrado podrán ser múltiples. Y finalmente, el sistema nos propone una serie de opciones que, directamente, nos explica qué es lo que los datos nos están “diciendo” sobre su naturaleza, y sobre los objetivos buscados originalmente.  Sobre las selecciones realizadas anteriormente, el sistema generará dos conjuntos de datos:

–          Correlación de indicadores sobre el campo objetivo:

Mostrará el porcentaje de correlación de cada indicador con respecto al objetivo seleccionado.

Iberjour_4

–          Set de reglas que expliquen las relaciones internas entre los indicadores:

El sistema generará un conjunto de reglas en formato “si -> entonces”, que explicará la correlación determinada en el paso anterior, junto con los valores de los umbrales que explican cada comportamiento interno de los datos.

Iberjour_5

Para las fuentes no estructuradas:

  • Herramienta de anotación y agregación de información adicional sobre conceptos relevantes.

Sobre los textos extraídos, existirá una herramienta de anotación que marcará aquellos conceptos más relevantes, indicando la categoría de pertenencia e información adicional sobre ella.

  • Herramienta de “Textmining” sobre Tags relevantes y gestión automática de categorías.

Sobre los textos relacionados, se indicará una estadística de las categorías o grupos de interés que conforman los textos, y dentro de cada grupo de interés, los “Tags” más representativos.

Iberjour_7

  • Herramientas de análisis de comportamientos sobre las categorías seleccionadas, y temáticas emergentes.

Otras entradas relacionadas:

¿Es posible conocer la intención de voto en base a datos abiertos? Un ejemplo de #OpenData + #DataMining = #OpenMining
Aplicación de Minería de Datos a Conjuntos de Textos. Como analizar “twitter” de una manera muy sencilla.

Si eres periodista o estás interesado en ampliar esta información puedes ponerte en contacto con nosotros en el contacto de este blog.

¿Es posible conocer la intención de voto en base a datos abiertos? Un ejemplo de #OpenData + #DataMining = #OpenMining

Sep 24, 2012   //   by wpuser   //   Minería de Datos  //  2 Comments


Gis Geopolítico

Se acercan las elecciones en varias Comunidades Autónomas, y desde I3B, se ha desarrollado una plataforma de análisis de resultados, (GIS Geopolítico), apoyado en herramientas de análisis avanzada sobre datos históricos (Datamining).

Pero, ¿qué es lo que buscamos? Básicamente, conocer el por qué de los resultados electorales, y no quedarnos simplemente en lo que ha ocurrido (pasado estadístico), sino intentar comprender las razones generales de dichos resultados, y poder aplicar dicho descubrimiento al futuro.

Comenzamos tomamos los resultados electorales de una provincia, por ejemplo, Bizkaia, y para ello, recogemos los datos de los resultados Elecciones Municipales del 2007, tomados de los datos publicados por OpenDataEuskadi, tendremos una relación de datos con el siguiente formato:

Datos OpenData Euskadi

Estos son los datos clásicos de los resultados electorales, y con ellos, podemos presentar cientos de estadísticas, a nivel de Municipio, Distrito y Sección Censal, incluso a nivel de mesa electoral, del numero de votantes, los votos nulos, los válidos, los partidos ganadores por dichas secciones, etc… como muy bien muestra en su blog Juan Carlos Sierra, del que muestro algunos ejemplos:

Mapa Político 2º Ganador

Mapa político por Sección Censal

Ahora bien, esta información es meramente descriptiva, y la pregunta es, ¿Existirá algún patrón de comportamiento que explique la intencionalidad del voto, en base a algún indicador adicional? 

  • Por ejemplo, podemos analizar el caso de Bermeo. La estadística de resultados finales es la siguiente:

Bermeo Municipales 2007

Es decir, los dos partidos más votados, EAJ_PNV y EA, están empatados en cuanto a Secciones Censales (EAJ_PNV gana en 6 Secciones, y EA en otras 6), siendo los resultados muy parejos. ¿Es posible explicar la diferencia del comportamiento del voto en unas zonas o secciones, con respecto a las otras? ¿Cuáles son los factores, si los hay, que determinan estas actuaciones? 

Y lo más importante, ¿existen algunas reglas generales que modelen los comportamientos de la intención del voto?

Vamos a ver que así es….

Enlazando Datos

Intuitivamente, los datos demográficos asociados a las Secciones Censales (partición del término municipal caracterizada por estar preferentemente definida mediante límites fácilmente identificables, tales como accidentes naturales del terreno, construcciones de carácter permanente y viales y tener un tamaño entre 1.000 y 2.500 residentes, excepto en el caso que el municipio completo tenga una población inferior), pueden explicar comportamientos relativos a los movimientos de masas sociales en los Municipios estudiados. Es decir, una Sección Censal, agrupa grupos poblacionales, en teoría, más o menos homogéneos a nivel cultural, educacional, y económico.

Además, por Sección Censal, y gracias al Instituto Nacional de Estadística, tenemos datos sobre los valores de población por sexo en intervalos de edad en dicha Sección, además de los totales de personas nacidas en la misma Comunidad Autónoma o distinta, incluso los que siendo de la misma Comunidad Autónoma son de la misma Provincia o diferente, incluso  nacidos en el mismo Municipio o distinto, dentro de la misma Provincia, separados por sexo.

En cuanto a los datos relacionados con los Municipios, tenemos información sobre el número del desempleo registrado, tanto por hombres como por mujeres, así como los datos acumulados de sus poblaciones, diferenciadas por sexo.

Al final, tenemos una única tabla enlazada de 126 indicadores, que incluyen toda la información acumulada por Sección Censal y Municipio.

El descubrimiento.

Una vez enlazados todos estos datos, sólo queda un paso más: introducirlos en la máquina de Minería de Datos, definir un objetivo, y ejecutar el proceso de modelado. El objetivo está claro, queremos conocer, si existen, que pautas se siguen para determinar cuál es el partido más votado, es decir, el objetivo sería el campo “Partido GANADOR”, independientemente de cuál sea en cada Sección Censal.

Es importante anotar que no estamos realizando un estudio concreto de  un Municipio (como podría ser, por ejemplo, el estudio concreto de Bilbao), sino de toda la Provincia Vizcaína. Estamos buscando reglas generales de comportamiento, que afecten a todos los indicadores, sin realizar un filtro previo por Municipio. Si hay correlaciones, y no estamos mezclando peras con manzanas,  el sistema las extraerá, si no, no será capaz de concluir ninguna regla o ningún modelo con una confianza lo suficientemente segura como para dar por válido el modelo.

Lo primero que hacemos, es ejecutar un proceso de correlación, que nos indique qué campos son los más relevantes con respecto a nuestro indicador objetivo, es decir, al “Partido Ganador”.

Correlación entre Indicadores

Según la lista, lo que más relevancia tiene a la hora de determinar el partido ganador, no es la Sección Censal, sino el Municipio (NOMBRE), seguido directamente, pero con muy poca correlación,  por la relevancia de la población nacida en Gipuzkoa y Álava y que vota en Vizcaya , y por los datos del paro.

Es importante recalcar que los datos del Paro registrado son a nivel de Municipio, mientras que los datos demográficos (Hombres o Mujeres nacidos en la Provincia, fuera, etc…), son a nivel de Sección Censal.  Los datos referentes a la población nacida en Álava o Gipuzkoa, son a nivel Municipal.

Pero esta información, tampoco nos dice demasiado, puesto que lo que queremos son los valores concretos que hacen que en una determinada mesa electoral se vote a un partido u a otro. Y para ello, procesamos sobre los mismos datos un algoritmo de Árboles de Decisión, transformando las ramas del árbol a reglas completas,  (que son muy buenos para explicar las conclusiones), y analizamos el resultado obtenido.

 La Intención de Voto.

Una vez lanzado el proceso de obtención de reglas, el sistema nos genera el árbol que se muestra a continuación: (El formato es leerlo Si…  y  ….  entonces….)

 Árbol de Decisión

  • Conclusiones “a priori”:
    • El paro registrado en las mujeres (a nivel municipal), es un indicador clave en el comportamiento de la intención del voto.
    • Los comportamientos son particulares prácticamente para cada Municipio, excepto cuando el paro por Municipio es menor que 423 personas.
    • Los efectos de las personas nacidas fuera de la comunidad autónoma (dato a nivel de Sección Censal), afecta a la intención de voto en dichas Secciones Censales.
  •  Si tomamos el primer caso, por ejemplo:

Si Paro registrado, Mujeres > 423

y  NOMBRE = Amorebieta-Etxano

y   además MujNacDistComAut (Mujeres Nacidas en Distinta Comunidad Autónoma) > 179,5 entonces –> PSE_EE_PSOE

si no, si    MujNacDistComAut <= 179,500 entonces –>  EAJ_PNV

Nos está indicando claramente, que en Amorebieta, si en una Sección Censal, hay más de 179 mujeres votantes cuya procedencia es de fuera de la Comunidad Autónoma, en las mesas de dicha Sección, se votará al PSE_EE_PSOE, y en caso contrario, a EAJ_PNV. 

Cada una de estas reglas podemos aplicarlas a un mapa, de forma que obtendríamos una representación de los distintos patrones de comportamiento a nivel de la geografía. Como se ve en la figura siguiente, se conformaría un mapa con distintos colores seg-ún patrones de intencionalidad  (reglas), y en el caso de Amorebieta, se indicaría además, en qué Sección Censal se da cada una de las distintas reglas:

Mapa de Comportamientos

Mapa de Amorebieta

  •  Si analizamos el caso inicial de Bermeo, las reglas son diferentes:

si   NOMBRE = Bermeo

y     Muj_25-29 > 45, entonces –> EAJ_PNV

pero si    Muj_25-29 <= 45 entonces –>  EA

 En este caso, la diferencia de comportamiento viene dado por la edad de las mujeres que votan, dato que también está incorporado a nivel de Sección Censal. Es decir, si en Bermeo, en una Mesa Electoral, hay más de 45 mujeres entre 25 y 29 años, entonces, en esa mesa saldrá elegido el partido EAJ_PNV, pero si hay menos de 45 mujeres en ese ratio de edad, ganará EA.

Por otro lado, si EA quiere mejorar sus resultados, debería enfocar su campaña en Bermeo a las mujeres entre 25 y 29 años, puesto que no parece que ese “perfil” poblacional en Bermeo sea de sus siglas, y si consigue captar ese foco de atención, teniendo en cuenta que el margen de diferencia en votos es muy pequeño, es posible que gane en las próximas elecciones en dichas mesas electorales.

Viéndolo en el mapa, incluso sabemos en que zonas de Bermeo habría que realizar esta acción:

Mapa Bermeo

  •  Lo contrario le pasaría al EAJ-PNV, por ejemplo, en Getxo. Resulta, que según el patrón encontrado:

|   NOMBRE = Getxo

|   |   P_NULOS > 5,372 –> EAJ_PNV

|   |   P_NULOS <= 5,372 -> PP

Si hay, por mesa electoral, más de 5 votos nulos, saldría como ganador en dicha mesa el EAJ_PNV, pero si el número de NULOS es   menor, saldría ganador en dicha mesa el PP. Y esta regla se cumple para todas las mesas de Getxo, así que el EAJ_PNV tiene que “provocar” un mayor número a NULOS en su convocatoria, mientras que el PP necesita que haya masa de votantes sin papeleta nula.  

Mapa Getxo

Si miramos la confianza de este sistema en cuanto a predicción, vemos que el modelo es estable con una confianza de un 79,4%, es decir, que el sistema es capaz de acertar con las reglas expuestas anteriormente, en un 79% de los casos, como se muestra en la matriz siguiente:

Matriz de x-Validación

Como conclusión, el análisis automático de la unión de datos demográficos con los resultados electorales, provee a los gestores de campañas de una información adicional y enriquecida sobre las causas de dichos resultados, pudiendo a futuro, predecir, comprender, e intentar canalizar esfuerzos en aquellos segmentos de la población a los que realmente debe influenciar para mejorar sus resultados en próximas campañas.

Todo este proceso de análisis automático, representación, salida e interpretación gráfica de las reglas está embebido en el producto “GIS Geopolítico” que Ibermática oferta a sus clientes. 

Mantenimiento Proactivo: Previniendo las incidencias del futuro en base al análisis del pasado.

Sep 3, 2012   //   by wpuser   //   Minería de Datos  //  Comentarios desactivados en Mantenimiento Proactivo: Previniendo las incidencias del futuro en base al análisis del pasado.

¿Es el mantenimiento una función destacada en su empresa? ¿Dedica importantes recursos a solucionar incidencias importantes? ¿Y si le dijéramos que es posible anticiparlas fiablemente?

Seguro que le resulta fácil imaginar las ventajas de la predicción de incidencias críticas de mantenimiento: optimización de procesos y servicios, de la producción, de recursos asignados, minimización de costes… Pero, ¿cómo lograrlo? Para ello resulta fundamental la aplicación de las nuevas tecnologías, cuya evolución permite el tratamiento masivo de datos en tiempo real, combinándolo con el análisis estadístico y predictivo y la información registrada en históricos.

De este modo en Ibermática, junto a SAS, hemos desarrollado nuestro Mantenimiento Proactivo, fruto de la combinación de nuestro conocimiento con el motor de inteligencia estadística y predictiva más avanzado. Un sistema capaz de determinar de forma autónoma cuando se va a producir un evento crítico y de explicar sus razones y las medidas a tomar con antelación suficiente para garantizar su eficacia. Y, además, integrable con cualquier ERP.

La presentación está muy enfocada a entornos industriales, pero puede ser aplicada a distintos contextos diferentes. Si cambiamos los conceptos de “máquina” por “usuario”, “asegurado”, “paciente”, “cliente”; el concepto de “órdenes” por “partes”, “historial”, “llamadas” o el de “incidencias” por “quejas”, “ANS”, “enfermedad” u “objetivos”, la solución sirve para “predecir” los comportamientos futuros, y poder tomar decisiones anticipadas a los eventos futuros no deseados.

Vea el vídeo demostrativo dela solución, en el siguiente enlace:

 

Para cualquier duda, sugerencia o consulta, contacte con nosotros:

Aitor MorenoFernández de Leceta

ai.moreno@ibermatica.com

Tlf.: (34) 945 165 100

Móvil: 618974065

www.ibermatica.com/ai.moreno

Blog: rtdibermatica.com

 

Minería de Datos en entornos Médicos o cómo dedicar el tiempo a analizar conclusiones y no datos. Los “medichackers”.

Ago 29, 2012   //   by wpuser   //   Minería de Datos  //  Comentarios desactivados en Minería de Datos en entornos Médicos o cómo dedicar el tiempo a analizar conclusiones y no datos. Los “medichackers”.

La Minería de Datos, básicamente, trata de dejar a las máquinas el arduo trabajo de analizar los datos en bruto, buscar correlaciones entre los distintos campos, descubrir qué indicadores tienen correlación unos con otros, y en definitiva, descargar a los expertos de la tarea de realizar análisis manuales (excel, tablas dinámicas, cuadros con sumas y conteos), para centrar dicho tiempo de análisis en algo con mucho más valor añadido:  comprender qué es lo que realmente está ocurriendo, y atacarlo.

Aplicadas en entornos industriales de marketing, sociales y bancarios, está tecnología, hiper-madura hoy en día, parece que encaja como un guante en los entornos médicos, principalmente en la optimización de diagnósticos y tratamientos, y sin embargo, está en ciernes en este contexto. Seguramente, una de las razones sea que las empresas TICs se han acercado mucho al mundo médico desde el prisma de la gestión, y poco en el tratamiento más avanzado de la información. Pero la información médica recogida diariamente, aquella que es relevante y transaccional, es usualmente, muy buena y cada vez más elevada.

Los análisis médicos clásicos tienen un fuerte componente causalidad->efecto: lo que se está proponiendo, desde esta nueva visión, es completamente diferente:  los datos, por estar registrados en una secuencia temporal, y tener multitud de variables que pueden alterar los resultados, intrínsicamente, tienen una historia que contar, que va desde los resultados hasta los condicionantes, justo al revés que el análisis clásico.

Pongamos un ejemplo. Tenemos un set de datos con los historiales médicos de “n” pacientes, en los que, entre dichos datos, además de los demográficos, tenemos los que inciden en un Estadio concreto de cáncer.

 

Y lo que nos inetersa saber es qué indicadores son los que influyen en dicho Estadio, y además, cuáles son los comportamientos de dicha influencia. Y podemos hacer dos cosas, coger dichos datos, y todos los indicadores que van por “delante”, y empezar a hacer cuadres, tablas dinámicas, conteos, etc… hasta llegar a una tabla más o menos interesante, o  podemos aplicar a dichos datos un algoritmos de Minería de Datos, y esperar resultados. Tomamos la segunda opción, que es más cómoda.

Aplicando un simple algoritmo de Minería, (Árboles de Decisión), sobre dichos datos, el sistema, de forma automática, ya nos ofrece dos salidas interesantes:

– Cuáles son los indicadores, de los “n” que hay, que tienen relación con los distintos Estadios mostrados.

– Además, dichos campos, cómo explican la conclusión de un Estadio u otro.

De esta forma, el sistema, sin saber nada de cáncer, es capaz de extraer una tabla de indicadores cuyas reglas evidencian las conclusiones de los distintos resultados.

Podemos observar, en primer lugar, que las variables que más correlación tienen con los ESTADIOS son los indicadores T, M y N, siendo la T la más ponderante (aún sin saber exáctamente qué significan):

y que las reglas de relación, son del tipo:

  • Si T = 1 y N = 0 –> Estadio = I
  • Si T = 1 y N = 1 –> Estadio = IIA
  • ….

¿Qué hacer con esta información? Primeramente, ayudar al experto a analizar qué es lo que está ocurriendo con sus datos, quitándole el peso de análisis, y enfocándolo ya sobre el resultado que le interesa y sus relaciones con otros datos.

Por otro lado, si implementamos las reglas obtenidas, en un simple programa (o en un sistema experto, if T == 1 and N == 0 then $Estadio = I), cuanto un nuevo paciente entre en el sistema con los indicadores con unos determinados datos, el sistema determinará cuál es el Estadio seleccionado, porque hemos conseguido pasar de una situación de descubrimiento (inducción), a un proceso de efecto->consecuencia (deducción).

 Necesidad de Datos, y la diferencia entre Evidencias e Indicios.

Sin embargo, la Minería de Datos tiene un pequeño inconveniente: las conclusiones obtenidas se basan, principalmente, en una análisis estádistico de repeticiones de eventos, y por lo tanto, necesitamos muchos datos, o series históricas muy largas, para obtener resultados concluyentes. Y necesitamos tanto volumen de “filas” (historiales), como de indicadores, en realidad, cuantos más, mejor, porque de esta forma, evitaremos mezclar “peras con manzanas”. Y nos nos debemos preocupar por el volumen, es el sistema el que selecciona los mejores campos para obtener las conclusiones, y por ende, cada conclusión no tiene por que tener relacionados los mismos indicadores, con lo cuál, el análisis es, matemáticamente, completo.

Otro factor que influye notablemente en el éxito de estos proyectos es el cambio de visión entre evidencias e indicios. En el mundo médico, lo usual es que en los análisis de resultados se busquen siempre “evidencias“, es decir, hechos soportados por los datos cuyas relaciones entre causa y efecto tengan un soporte estadístico muy alto (usualmente, una probabilidad mayor que el 80%). Para ello, debemos tener en cuenta dos conceptos, la sensibilidad y la especificidad.

  • La sensibilidad nos indica la capacidad de nuestro estimador para dar como casos positivos los casos realmente enfermos; proporción de enfermos correctamente identificados. Es decir,la sensibilidad caracteriza la capacidad de la prueba para detectar la enfermedad en sujetos enfermos.
  • La especificidad nos indica la capacidad de nuestro estimador para dar como casos negativos los casos realmente sanos; proporción de sanos correctamente identificados. Es decir, la especificidad caracteriza la capacidad de la prueba para detectar la ausencia de la enfermedad en sujetos sanos.

En todo clasificador, hay un error (las cosas no son ni blancas ni negras), es decir, no existe una línea clara que separe los indicios de un diagnóstico y concluya la enfermedad de forma unívoca, sino que, aunque dicha regla pueda darse en la mayoría de los casos, puede que un porcentaje mínimo, diagnostiquemos una enfermedad a un sano, o que tiene otra enfermedad diferente con los mismo síntomas. Todo depende del nivel de exigencia que pidamos al clasificador, pero cuanto más exigentes somos, más probabilidades tenemos de que dejemos en el tintero enfermos sin detectar.  Dicho punto de corte es lo que se llama “bias” y se suelen utilizar técnicas visuales de corte, como las curvas ROC.

En definitiva, en los diagnósticos clínicos, cuando el valor de especificidad supera el 80%, se considera buena.

  • Por regla general, se elige una prueba muy específica cuando se desea asegurar de que un paciente tiene realmente una enfermedad. Por ejemplo, una prueba para detectar una enfermedad que implique una operación, es imprescindible asegurarse de que el paciente está enfermo y necesita la operación, para no operar a un paciente sano: un resultado positivo falso supone un trauma económico y psicológico para el sujeto… En estas situaciones se utiliza una prueba con un valor predictivo positivo alto, que aumenta de valor conforme la prevalencia de la enfermedad es mayor.
  •  En cambio, se elige una prueba muy sensible cuando se prefiere que el número de enfermos sin detectar sea mínimo, a costa de incluir algún sano en dicho grupo. Por ejemplo, en una epidemia es importante usar una prueba muy sensible, puesto que es necesario aislar a los enfermos y para ello todos deben ser detectados. Se usa en casos en que la enfermedad es grave pero curable, existiendo tratamiento para ella. En estos casos se usan pruebas con valor predictivo negativo alto, cuyo valor aumenta conforme disminuye la prevalencia de la enfermedad.

Por otro lado, existen otros dos conceptos que entran en juego, que son la confianza de la regla y el soporte de la misma.

La confianza de la regla es el porcentaje de que dicha regla se cumpla, cuando se dan los antecedentes, es decir, si tenemos una regla del tipo “(Estornuda y Fiebre) –> Gripe“, y decimos que la confianza es de un 75%, indicamos que cuando se da el conjunto de Estornudar y Fiebre, hay un 75% de posibilidades de que sea Fiebre (es un ejemplo inventado).

Por otro lado, el soporte es el número relativo de veces que aparecen los antecedentes (Estornuda y Fiebre) y en conjunto de todos los datos. Si tenemos un conjunto de historiales clínicos y la combinación de (Estornuda y Fiebre) aparecen 50 veces de 120,el soporte será 50/120= 0,41.

Cuanto más generales son las reglas, más soporte tienen, y menor confianza, y cuanto más “específicas” son, más personalización existirá en las mismas, con mayor confianza y menor soporte. Existe el peligro de que, si llegamos a un nivel muy detallista en las reglas, éstas servirán para modelar un comportamiento puntal de una manera muy efectiva, pero el modelo no sabrá clasificar eventos que no estén categorizados a tanto detalle, con lo que no podremos generalizar. Es lo que se denomina “sobreentrenamiento“, y a veces, puede confundir, Podemos dar unos resultados de un modelo que “aciertan” en un porcentaje muy alto para los datos de muestra, pero luego, cotejándolos con la realidad, no clasifican correctamente por que son demasiado “específicos” para el modelo de entrenamiento.

Bien, lo usual es que, en medicina, se desean conclusiones con una confianza alta (>80%), y un soporte también alto (>0.65), pero cuanto más generalicemos las conclusiones, menos soporte tendremos para las mismas. Y aquí es donde entra el concepto de indicio, que es extraño en este mundo. Por un lado, la Minería de Datos puede aportar conclusiones evidentes soportadas por los datos en cuando a conclusiones que certifican sospechas iniciales sobre el comportamiento, por ejemplo, de ciertos tratamientos, diagnósticos y resultados, con una confianza y un soporte altos.

Pero cuando las confianza es alta, pero el soporte pequeño, la Minería de Datos lo que nos está ofreciendo son indicios de que esas reglas que nos está presentando ocurren en la realidad, pero en casos muy “específicos”, que quizás no sean relevantes con respecto al conjunto de datos en su totalidad, pero que están ocurriendo, y que habría que analizarlos.

Un ejemplo de muestra, (los datos son ficticios), puede ser un análisis de los factores que influyen en el alta, o no dentro de los procedimientos de Farmacología Hospitalaria.  Si tomamos los datos de los tratamientos, los indicadores de los pacientes, los principios activos que han tomado, el número de veces que lo han tomado, la edad de los pacientes, y el resultado, obtendremos un fichero del tipo:

 

 Podríamos analizar la información con tablas dinámicas, pero tendríamos que hacer una por cada indicador y resultado, y analizar el conjunto:

Y en definitiva, esto mismo, pero en tiempo máquina, es lo que hacen los procesos de Minería de Datos, obteniendo reglas del tipo:

 

Si lanzamos el análisis sobre dichos datos, para que el sistema nos genere conclusiones sobre las razones de los resultados, y analizamos, por ejemplo, para un principio activo (ENOXAPAR), cualos son los factores que afectan a que se les de no se les de alta los pacientes, obtenemos la siguiente gráfica:

De la gráfica, se desprende que el “Turno 43” es el que menos de alta da a los pacientes, y las razones son, principalmente, los resultados del laboratorio L3, seguido por aquellos paciente cuyo indicador “FRE” es de 24, y seguido por aquellos pacientes que han tomado la medicación menos de 6 veces.

Las reglas internas que gobiernan estás conclusiones son las siguientes:

Es decir, que para el principio activo seleccionado, y para los diagnósticos de “Dolor Torácico”, el sistema nos dice que lo relevante es cuando se da una “FRE=24”, y si es la primera vez que acude el paciente (cuenta < 1,5), existe un 100% de probabilidades de que no se le de de alta (aunque las filas que soportan dicha afirmación son sólo un 3% del conjunto), mientras que existe un 77% de probabilidad de que no se le de de alta a un paciente si en el mismo caso, las pruebas vienen del Laboratorio L1, su indicador de GPT sea menor que 10,5 con un soporte muy alto, de un 75% de los casos con respecto a la globalidad.

Podemos decir que la primera regla es un indicio de que, por norma, cuando un paciente toma ENOXAPAR, tiene un indicador de FRE = 24 y es la primera vez que acude a consulta, no se le da el alta, en el TURNO 43, aunque son pocos los pacientes con esos indicadores, y que es un hecho (evidencia), que en el mismo turno, si sus valores de GPT son menores que 10,5 , existe una probabilidad alta de que no se le asigne el alta, y además, los casos son muy comunes.

Ahora bien, ¿Por qué el turno 43, cuando recibe muestras del Laboratorio L3, con FRE=24, deniega el alta casi sistemáticamente (en un 77%), siendo un 45% de los casos que se le presentan? Aquí es dónde el experto tendría que revisar qué es lo que está ocurriendo, preguntar, analizar la realidad e intentar solventar la situación.

Trabajo Conjunto.

El tratamiento de los datos y su aplicación sobre procesos de Minería de Datos no es trivial. En este sentido, un proyecto de este tipo opuca casí un 65% en el tratameinto previo de los datos, antes del lanzamiento de la algoritmia, principalmente por las siguientes causas:

•Falta de normalización de los datos:
–Mismo concepto descrito de formas diferentes
–Diagnósticos no codificados
–Observaciones manuales no agrupadas
–Valores en ciertos indicadores no normalizados (24, 24NM, DCE, CE…)
Incluir indicadores no seleccionados “a priori”: Para los análisis clásicos, muchas veces, no se tienen en cuenta indicadores, que, al final, si tienen correlación sobre los resultados finales. Y hay que contemplarlos para que los resultados sean óptimos.
Además, como clave, es importantísimo que los expertos médicos se sienten con los expertos analistas de datos, para que, en base a un proceso de ensayo-prueba-error, se vayan analizando las conclusiones obtenidas por los sistemas, desde dos puntos de vista:
– Desde el punto de vista médico, que es el que sabe interpretar las reglas obtenidas, y valorar los descubrimientos, confirmar su validez, o detectar la necesidad de nuevos indicadores no contemplados.
– Desde el punto de vista del analista de datos, que sea capaz de normalizar, estandarizar, completar, y desechar aquellos indicadores multivalores, nulos, vací­os, sin relevancia, muy correlacionados con los objetivos, etc… antes de mostrar los resultados a los expertos médicos.
Se forma, por lo tanto, un “tándem” de trabajo, que podemos denominar “medichackers“, al estilo de lo que ya se ha formado en el mundo periodístico, con respecto a la aplicación de las mismas técnicas sobre el llamado “periodismo de datos”, y que se denomina “hashhackers”.
La aplicabilidad de estas técnicas está muy implantada en estudios de genómica y proteómica, como dato, el 20% de los “papers” científicos publicados son puramente estudios de Minería de datos.

Desde I3B estamos andando este camino en proyectos como HOI, Henufood, Acció, mano a mano con los mejores médicos, oncólogos y bionutricionistas del país para avanzar en esta línea.

 

 

Páginas:123»