Browsing articles in "Minería de Datos"

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.

 

 

Aplicación de Minería de Datos a Conjuntos de Textos. Como analizar “twitter” de una manera muy sencilla.

Ago 2, 2012   //   by wpuser   //   Minería de Datos  //  Comentarios desactivados en Aplicación de Minería de Datos a Conjuntos de Textos. Como analizar “twitter” de una manera muy sencilla.

La mayoría de la información relevante en las organizaciones y fuera, estañ en formato no estructurado o texto. Cada vez es mayor la necesidad de realizar análisis sobre texto plano para normalizarlo, y extraer lo relevante de lo abundante. en este post, de una manera muy sencilla, voy a explicar cómo podemos tratar la información desestructurada de una forma muy sencilla, con técnicas de Minería de Datos sobre texto directamente, para extraer conclusiones.

Existen dos tipos de análisis en Lenguaje Natural, y complementarios. Por una parte está el análisis estadístico, que informa sobre la relevancia que tienen ciertas palabras o conceptos (conjuntos de palabras) en los distintos textos, en referncia al propio texto, y al conjunto total.  Esta es una primera aproximación básica, a recuperar lo relevante del conjunto de información. sin embargo, en esta aproximación, no se realiza ningún proceso semántco, es decir, que las máquinas extraen relaciones entre los conceptos en base a su repetición estadística, pero no “comprenden” que relaciones existen entre dichos conceptos, ni se realiza un procesado morfosintactico, para discirmar, por ejemplo, de lo que es un verbo, a un nombre, o aun adjetivo, ni siquiera, en qué contexto se está trabajndo. Quiero decir, que una frase, por ejemplo “pastor alemán”, tendrá la misma relevancia en un contexto de oficios, que en un contexto de “razas de animales”, aunque, para nosotros, dependiendo de qué hablemos, bien “pastor”, o bien “alemán” será más relevante depende de cada caso.

Para este segundo caso necesitamos, o bien, a nivel estadístico, asignar pesos a los conceptos en función del contexto (como se ha comentado en post anteriores ), o bien, necesitamos deifnir las relaciones morfosintácticas y semánticas entre los mismos (como también se ha comentado en otros post anteriores).

En todo caso, en este ejemplo, nos ceñiremos al estudio básico de la información estadística aplicando algoritmos de extracción de información, segmentación y clasificación sobre dichos datos.

Lo primero que tenemos que hacer es recuperar la información, por ejemplo, d etwitter. Para ello, tenemos servicios gratuitos que nos lo suministran, por ejemplo http://otter.topsy.com. A través de este servicio, buscamos un concepto determinado, como puede ser “juegos olímpicos”, ya que estamos en ello:

http://otter.topsy.com/searchdate.rss?q=juegos%20ol%C3%ADmpicos&window=d28

A partir de aquí, obtenemos un XML con la información de los últimos twitter al respecto, en el siguiente formato:

 

 

Una vez obtenida dicha información, necesitamos introducirla en nuestro sistema de Minería de Datos, en base a un “lector de XML”, o vía Xpath, como “parseador” de la información. voy a utilizar RapidMiner, como plataforma de Minería de Datos para este ejemplo, pero igualmente podríamos utilizar SAS, SPSS, Weka u otras muchas plataformas.

Una vez recogida la información, y dividida en autor, titulo, descripción, etc… tenemos que hacer el siguiente proceso:

Tokenizar: Separar las palabras de las frases o twitters una a una.

Stopwords: Eliminar aquellas palabras no relevantes (como él, la, los, ser, estar, etc…). Para ello, recomiendo usar la lista de stopwords del “stemmer” de  “snowball” en castellano (http://snowball.tartarus.org/algorithms/spanish/stop.txt).

Vectorizar los twitters: Necesitamos convertir cada “twit” en un vector de palabras, es decir,  cada “twit” será un afila en un “excel” en el que la primera columna será el id del texto, y tendrá otras tantas columnas como el conjunto de palabras de todos los textos, y en el valor de la columna, aparecerá  un valor, indicando la relevancia de dicha palabra en ese texto, con respecto a los demás. Esto quiere decir que, por ejemplo, en nuestro caso “juego” o “competición” aparecerá en muchos textos, así que es relevante en el texto, pero no mucho, ya que aparece también en otros textos. Será más relevante. por ejemplo, “esgrima”, ya que diferencia los textos referentes a esgrima, de los referentes a “fútbol”.  Este algoritmo de llama TF/IDF….

Todo este proceso, se realiza casi de forma automática desde las plataforma de Minería de datos, y obtenemos el siguiente resultado:

Ya tenemos los textos “normalizados” en vectores. Ya podemos hacer un primer análisis de cuáles son las palabras que más aparecen en el conjunto de twitters, aunque no tienen por que ser las más relevantes a la hora de discriminar los diferentes textos:

Pero el “ranking” de palabras nos suministra información, pero podemos avanzar un poco más. Sería interesante saber cómo se organizan esas palabras dentro de los documentos o “twit”, es decir, si existen grupos de palabras que se agrupen en distintas categorías que expliquen cómo distintos grupos de personas hablas de temas diferentes, y cuáles son esos temas. ¿Cómo lo hacemos” 

Pues muy sencillo, símplemente tenemos que aplicar un algoritmo de segmentación sobre los distintos vectores, que los agrupe por similitud, y cuando la separación entre los distintos grupos es amplia, el sistema considera que los intereses son diferentes.

Para ello, aplicamos el típico algoritmo de clasificación sobre los vectores de palabras (Clustering with k-medoids):

Lo primero que tenemos que decidir es en cuántos grupos ordenamos el conjunto de vectores. Lo mejor es que sea el propio sistema el que nos los diga, y para ello, necesitamos, de alguna manera, optimizar la información en el menor grupo posible, pero con el mayor porcentaje de confianza de clasificación. Y esto, es un mero problema de optimización, que se rsuleve perfectamente con técnica de Algoritmos Genéticos.

Para ello, aplicamos el operador de Algoritmos Genéticos sobre el conjunto de datos, diciéndole al sistea que minimize la función de segmentar, pero optimizando el número de vectores por grupo.  Aplicando dicho algoritmo, para un máximo de 10 segmentos, el sistema nos sugiere un total de 5 grupos diferentes (k=5), así que aplicamos K-medioids con ese valor.

 

Una vez aplicada la segmentación, nos aparecen 5 grupos cuyos “centroides”, o representantes de los mismos son los siguientes:

Todavía los sistemas no pueden dar nombres directos a los conjuntos de tags automáticamente (si tuviésemos una ontología adhoc, sería sencillo, lo hablaremos en post a futuro), pero parece ser que el “cluster_0” habla de las publicaciones de temas publicados por “EL País”, y muy generalistas,  el “cluster_1” de los atletas venezolanos, y algún evento importante que ocurrirá a la mañana, o mañana (este es el problema de no tener un análisis semántico, por cierto, felicidades a Venezuela por su oro en esgrima), el “cluster_2” de temas relacionados con la inauguración del evento,   y el “cluster_3“, más enfocado a cifras y ratios que a otros menesteres, y el “cluster_4“, de retransmisiones e imágenes.

De esta forma, vemos que en Twitter, se está hablando, acerca de los Juegos Olímpicos, en 5 categorías diferentes, con temáticas diferentes. A partir de aquí, podemos sacar las estadísticas y gráficas que queramos. Por ejemplo:

  • ¿De qué se habla más?:  Curiosamente, de ratios y cifras (relacionados con la afluencia a los juegos) , seguido del cluster_2 (sobre la inauguración y un canal en twitter relacionado), y en tercer lugar, el cluster_0 más generalistas (racismo, sexo, transparencia….),

 

¿Quién habla de qué? Podríamos saber cada Autor, a que grupos pertenece, y de qué está hablando. El País, de lo suyo, noticias24.com, en general, de temas de ratios y Venezuela, twitter, muy enfocado a la inaguración a su canal oficial de Los Juegos, etc….

 

¿Cuando se habla de qué?, Ver una línea temporal sobre los conjuntos de intereses, los Autores y cuándo publican:

En definitiva, hemos transformado un proceso aparentemente muy complejo de tratamiento de textos en lenguaje natural, a un formato vectorizado que nos permite realizar cualquier operación de análisis, comparación, clasificación e incluso predicción.

¿Podríamos saber, en base a un texto dado, cuál sería su autor, o a qué categoría pertenecería?

Pues evidentemente, sí:  solo tenemos que aplicar a los mismos vectores un algoritmo de clasificación (árboles de decisión, por ejemplo, para que podamos comprender las conclusiones, y aplicar a nuevos textos el modelo de árlbol (como procesamos millones de documentos con nuestra aplicación DocThor) :

 

Este es un ejemplo simple de cómo, aplicando algoritmos muy maduros sobre, a priori, problemas complejos, podemos dar solución a necesidades reales actuales. Espero que os haya gustado.

 

Visualización de la información: la base del conocimiento enlazando ideas de forma gráfica

Feb 21, 2012   //   by oa.usun   //   Minería de Datos  //  Comentarios desactivados en Visualización de la información: la base del conocimiento enlazando ideas de forma gráfica

El campo de la visualización de la información ha surgido de la investigación en interacción persona-ordenador, la informática, gráficos, diseño visual, la psicología y métodos de negocio. Se aplican cada vez más como un componente crítico en la investigación científica, bibliotecas digitales, la minería de datos, los análisis de datos financieros, estudios de mercado, el control de la producción manufacturera, o el descubrimiento de fármacos.

La visualización de la información supone que las representaciones visuales y técnicas de interacción aprovechan la vía del ojo humano y el amplio ancho de banda en la mente para permitir a los usuarios ver, explorar y entender grandes cantidades de información a la vez. La visualización de la información centrada en la creación de enfoques para el transporte abstracto de información de manera intuitiva.

La visualización es multidisciplinar ya que comunica los datos mediante una interfaz, transformándolos en información semántica a través de medios gráficos, combinando su funcionalidad y su estética y estimulando la participación de los usuarios.

El reciente énfasis en la visualización se inició en 1987 con el especial tema de gráficos por ordenador en la visualización en Computación Científica. Desde entonces ha habido varias conferencias y talleres donde se han dedicado a los temas generales de visualización de datos, visualización de la información y la visualización científica.

En la visualización científica encontramos dos áreas específicas:

–          Visualización de volúmenes, que se refiere a campos escalares.

–          Visualización de flujo, donde hay datos que evolucionan en el tiempo.

 

Dentro de estas áreas en la visualización de información existen algunas subáreas que son las que más nos interesan como:

–          La visualización de grafos, que construye representaciones visuales geométricas que son modelos subyacentes en una gran cantidad de datos abstractos. La generación automática de un grafo tiene importancia en aplicaciones clave como la Ingeniería de Software, el Diseño de Bases de Datos, las Telecomunicaciones, el Data Mining y la Representación del Conocimiento entre otros dominios. El objetivo de trabajo consiste en encontrar algoritmos eficientes para lograr grafos que transmitan su significado en forma clara y rápida.

–          Pixel Bars: Visualización de datos ordinales en Bases de Datos. Visualiza simultáneamente múltiples campos de la base de datos, en tanto los valores de estos campos tengan un orden.

 

–          Relaciones entre temas y documentos de texto. Mostrar una vista conceptual de grandes Grupos de documentos, que permitan ir desde los temas a los documentos particulares, siempre ha sido un desafío.

 

–          La visualización de Arquitecturas de Software, que proporciona sistemas interactivos que permiten extraer y visualizar sobre arquitecturas de sistemas de software.

–          Data Mining Visual, que se refiere a la integración del acceso a las bases de datos con Data Mining y Visualización. Pretendiendo ayudar en el descubrimiento de conocimiento y en la toma de decisiones cuando existen grandes volúmenes de datos. Utilizando mecanismos interactivos de respuesta rápida basados en técnicas de browsing, filtros y facilidades para construir queries dinámicas que permiten aprender de los datos a través de múltiples consultas.

¿Por qué visualizar un modelo de minería de datos?

Las fuerzas impulsoras detrás de visualización de modelos de minería de datos se pueden dividir en dos áreas clave: comprensión y confianza. La comprensión es, sin duda, la motivación más fundamental detrás de la visualización del modelo (Ver Modelos básicos de predicción) .

La forma más interesante de utilizar un modelo de minería de datos es conseguir que el usuario entienda realmente lo que está pasando para que puedan actuar directamente. La visualización de un modelo debe permitir a un usuario discutir y explicar la lógica que existe detrás del modelo a colegas, clientes y otros usuarios. La obtención de la lógica o la razón de ser es parte de la construcción de la confianza de los usuarios en los resultados.  Además, el modelo debe ser entendida de modo que las acciones que se toman como resultado se puede justificar ante los demás.

Comprender significa algo más que la comprensión, también implica contexto. Si el usuario puede entender lo que se ha descubierto en el contexto de los problemas de su negocio, va a confiar en él y ponerlo en uso.

Hay dos partes en este problema: 1) la visualización de la salida de la minería de datos de una manera significativa, y 2) que permite al usuario interactuar con la visualización para que las preguntas puedan ser contestadas.

Como soluciones creativas a la primera parte  se han incorporado un buen número de productos comerciales y de Open Source para la visualización de modelos de minería de datos (Visifire, WPFToolkit). Indicadores de elevación gráfica, la respuesta y modelos financieros (por ejemplo, beneficios, costos, retorno de la inversión) que le da al usuario un sentido del contexto y que rápidamente pueden basar los resultados en la realidad.

Es la segunda parte la que aún no se ha tratado de manera adecuada. La interacción es, para muchos usuarios, el Santo Grial de la visualización en la minería de datos. La manipulación de los datos y la visualización de los resultados de manera dinámica, permite al usuario tener una idea de la dinámica y comprobar si algo realmente contrario a la intuición está pasando. La interactividad ayuda a lograr esto. Ver un árbol de decisión es agradable, pero lo que realmente quiere hacer el usuario es arrastrar y soltar los segmentos en un mapa con el fin de responder al interminable número de preguntas “qué pasaría si”.

La integración con otras herramientas de apoyo a las decisiones (por ejemplo, OLAP) permitirá a los usuarios ver los resultados de minería de datos.

Confiando en el Modelo

La atribución de confianza correcta para los modelos de minería de datos  es esencial para su utilización. Una buena medida cuantitativa de la “confianza”, en última instancia, debe reflejar la probabilidad de que las predicciones del modelo se corresponderían con los objetivos de la prueba.  Además, dado que, como con cualquier modelo científico, una última instancia, sólo puede refutar el modelo, la visualización de las limitaciones del modelo es de primordial importancia. Dado que la minería de datos se basa principalmente en datos de entrenamiento, es importante entender las limitaciones que establecen dichos datos en la futura aplicación del modelo resultante.

El conocimiento del dominio también es fundamental para la detección de valores extremos necesarios para limpiar los datos y evitar los problemas. Si un modelo de minería de datos se construye utilizando los datos donde los valores extremos sean datos incorrectos,  afectará al modelo resultante. El papel de la visualización aquí es sobre todo hacer notar las estructuras de datos del modelo que violan el conocimiento del dominio.

No todas las evaluaciones de confianza son de naturaleza negativa.  La evaluación de la confianza también está estrechamente relacionada con la comparación de modelos. En particular, es muy útil para comprender la sensibilidad de las predicciones del modelo, la calidad de los parámetros y / o su estructura.

Los resúmenes estadísticos de todo tipo también son comunes y útiles para recoger ideas para la evaluación de la confianza del modelo.  Pueden ser particularmente útiles para la comparación de la confianza relativa de dos modelos, permitiendo el análisis, centrándose en los subgrupos de características por las cuales sus relaciones difieren más significativamente.

Lo más útil son los modelos que cumplen los requisitos de su propia confianza hasta cierto punto, como en la cuantificación de la variación esperada en el error de sus predicciones.

La comprobación de la consistencia interna, es tal vez en última instancia, una de las maneras más importantes para juzgar la fiabilidad de un modelo

Descripción del modelo

Un modelo que puede ser comprendido es un modelo en que se puede confiar. Los métodos estadísticos para construir la confianza en un modelo no permiten evaluar la validez semántica del modelo, es decir, su aplicabilidad al mundo real.

Un algoritmo de minería de datos que utiliza un modelo humano-comprensible, se puede comprobar fácilmente por los expertos, proporcionando la validez semántica necesaria para el modelo. Pero desafortunadamente, los usuarios se ven obligados a sacrificar la precisión del modelo.

Técnicas avanzadas de visualización, pueden ampliar la gama de modelos entendidos por los expertos, aliviando así la exactitud / comprensibilidad trade-off. Los tres componentes esenciales para la comprensión de un modelo son: la representación, la interacción y la integración.

– La representación se refiere a la forma visual en el que el modelo aparece. Una buena representación muestra el modelo en términos de componentes visuales que son familiares para el usuario.

– La interacción se refiere a la capacidad de ver el modelo en acción en tiempo real, para permitir al usuario jugar con el modelo como si se tratara de una máquina.

– La integración se refiere a la capacidad de mostrar las relaciones entre el modelo y otros puntos de vista de los datos en que se basa. La integración proporciona el contexto del usuario.

Nos vamos a centrar en la comprensión de modelos de clasificación. En concreto, vamos a examinar tres modelos gráficos: árboles de decisión, modelos bayesianos simples, y tablas de decisión.

La representación gráfica debe ser suficientemente simple como para ser fácil de entender, pero lo suficientemente completa como para revelar toda la información presente en el modelo.  Visualizaciones en tres dimensiones tienen el potencial de mostrar mucha más información que en dos dimensiones. La navegación en una escena le permite a uno centrarse en un elemento de interés, manteniendo el resto de la estructura en su contexto. Es crítico, sin embargo, que el usuario sea capaz de desplazarse a través de una visualización tridimensional en tiempo real. Una imagen de una escena en tres dimensiones no es más que una proyección en dos dimensiones y suele ser más difícil de entender que una escena construida en dos dimensiones.

Incluso con tres dimensiones, muchos modelos todavía contienen demasiada información para mostrar simplemente. En estos casos, la visualización debe simplificar la representación.

Los árboles de decisión son fáciles de entender, pero puede llegar a ser abrumadoramente grande.  El usuario puede obtener una comprensión básica del árbol siguiendo las ramas. Los niveles adicionales de detalle se revelan sólo cuando el usuario navega a un nivel más profundo, proporcionando más información sólo cuando sea necesario.

 

Uso de tablas de decisión como una representación del modelo genera un modelo simple pero de gran tamaño. Una tabla de decisión completa, teóricamente contiene el conjunto de datos, que puede ser muy grande. Por lo tanto es indispensable una simplificación.

Los datos se agregan de forma automática para proporcionar un resumen usando sólo las características más importantes. Cuando el usuario desea obtener más información, puede profundizar en tantos niveles como sea necesario para responder a su pregunta. La visualización cambia automáticamente la agregación de los datos para visualizar el nivel de detalle deseado.

Si bien una buena representación en gran medida puede ayudar a la comprensión del usuario, en muchos casos, el modelo contiene demasiada información para proporcionar una representación que es a la vez completa y comprensible. En estos casos, explotar la capacidad del cerebro para razonar acerca de causa y efecto y que el usuario pueda interactuar con el modelo más complejo. La interacción puede ser considerada como “la comprensión en la práctica” en lugar de “comprensión por ver”.

Los modelos bayesianos simples se basan en la multiplicación de las matrices de probabilidades, que son difíciles de entender por sí mismos. Sin embargo, al permitir al usuario seleccionar los valores para las características y ver los efectos, la visualización proporciona una perspectiva de causa y efecto en la operación del clasificador. El usuario puede jugar con el modelo para comprender exactamente como la cantidad de cada función afecta a la clasificación y en última instancia, decide aceptar o rechazar el resultado.

Más allá de la clasificación interactiva, de forma interactiva la orientación del proceso de construcción del modelo proporciona un control adicional y comprensión para el usuario. El árbol de decisión da al usuario un control total sobre cuándo y cómo se construye el árbol. El usuario puede sugerir  una  poda, o de forma manual la construcción de las secciones del árbol. Esta facilidad puede aumentar en gran medida la comprensión.

Las técnicas de integración que se utilizan se presentan en tres formas: para obtención de detalles, el cepillado y visualizaciones coordinadas.  Por ejemplo, el árbol de decisión visualizador permite la selección y obtención de detalles en las ramas individuales del árbol. Esto facilitará el acceso a los datos originales que se utilizaron para la construcción de las ramas, dejando de lado los datos representados por otras partes del árbol. El cepillado se refiere a la capacidad de seleccionar las piezas de un modelo. Visualizaciones coordinadas nos muestran múltiples representaciones del mismo modelo, junto con las representaciones de los datos originales.  Las tres formas ayudan al usuario a comprender cómo el modelo se refiere a los datos originales. Esto proporciona un contexto externo para el modelo y ayuda a establecer la validez semántica.

Comparación entre modelos que utilizan la visualización

La comparación de modelos requiere la creación de un medio apropiado para el espacio de los modelos que se trate. Para visualizar el modelo de comparación, estas cifras deben ser interpretables por un observador humano a través de su sistema visual. El primer paso es crear un mapeo de entrada a la salida del proceso de modelado. El segundo paso consiste en asignar a este proceso el espacio visual humano.

 

Conclusión

Hemos visto una serie de métodos para visualizar modelos de minería de datos. Dado que los modelos de minería de datos suele generar resultados que antes eran desconocidos para el usuario, es importante que cualquier modelo de visualización proporcione al usuario un nivel suficiente de comprensión y confianza.

Modelos básicos de predicción

Feb 21, 2012   //   by jc.cantera   //   Minería de Datos  //  Comentarios desactivados en Modelos básicos de predicción

Una de las tareas más habituales en los proyectos de minería es generar tomas de decisiones respecto a nuevos datos, teniendo en cuenta los precedentes. Estas decisiones se basan en el interés de la predicción de los datos, enfocada a:

  • Decisión (Sí/No)
  • Ranking: probabilidad de que sea un caso u otro
  • Estimación del valor objetivo

Tras la preparación y limpieza de los datos en una fase previa de preparación de los datos o ETL (Extract, Transform and Load), llega la fase de minería de datos. Se utiliza el proceso SEMMA (Sample, Explore, Modify, Model, Asses o Muestreo, Exploración, Modificación, Modelado, Validación), que describimos a continuación:

  • Muestreo: Se muestrean los datos creando una o más tablas de datos. Las muestras han de ser del tamaño suficiente para contener información significativa. Es interesante dividir los datos en al menos dos subconjuntos: el de Entrenamiento y el de Validación. Si hay datos suficientes, puede crearse un tercer subconjunto para realizar el testeo del modelo.
    Uno de los aspectos con los que hay que tener cuidado es la dificultad de trabajar con literales, que crean muchos problemas, por las diferencias de escritura.
    Otro de los aspectos importantes es el balanceo de los datos. Debemos tener en cuenta cuál es el objetivo a estudiar, y cómo están distribuidos los datos, principalmente respecto a los verdaderos positivos que queremos analiZar, clasificar y predecir, respecto a los falsos positivos que queremos desechar. En este análisis previos de la distribución de la sensibilidad/especificIdad, deberemos seleccionar un porcentaje de casos más o menos balanceado (50-50%, 60-40%), para que las conclusiones tengan un mayor soporte y confianza. Este balanceo, además, indicará hacía qué lado los modelos tienden al sobreajuste, hacía el verdadero positivo o al falso positivo.
  • Exploración: Se buscan relaciones a priori entre los datos, tendencias no esperadas, anomalías, todo ello para una mejor comprensión.
    La fase de exploración se dedica a indagar en los datos buscando la relación entre diferentes valores del objetivo, su distribución, si hay problemas de datos perdidos o erróneos, si la distribución de las variables es normal (campana de gauss) o sesgada en algún sentido.
    Asímismo, se determinan qué variables son importantes. Variables fuertemente correlacionadas aportan información muy similar y por tanto serán redundantes. La eliminación de variables no relevantes implicará una menor complejidad en el modelo.
  • Modificación: El conjunto de datos se modifica creando, seleccionando y transformando variables. En función de lo observado en la fase anterior, habrá que modificar en uno u otro sentido el conjunto de datos.
    Por ejemplo, si se tienen datos perdidos (missing values), se debe diferenciar si son debidos a desconocimiento del dato, o a que su no imputación tenga significado distinto. La accion será distinta en un caso o en otro. La sustitución de los valores perdidos por la media, permite que no se altere la distribución de conjunto de valores en anchura, aunque sí en altura, de lo que resulta una distorsión menor. En el caso de que la distribución esté sesgada, es decir sea asimétrica será conveniente normalizarla de alguna manera, como por ejemplo, tratando los datos con una función logarítmica.
    Existe asimismo la posibilidad de “rellenar” los valores inexistentes con algoritmos de interpolación de dichos valores en relación a los valores más cercanos (knn), o en base a algoritmos de clustering, e incluso, aplicar un submodelo de predicción para la clasificación de los valores inexistentes.
  • Modelado: Se usan herramientas analíticas para buscar una combinación de datos que predigan con fiabilidad el resultado esperado.
    Se seleccionan varios modelos con los que se pretende predecir, o estimar el objetivo buscado. Los más básicos, aunque no por ello menos importantes ni potentes, son los árboles de decisión, las regresiones y las redes neuronales. En todos los casos se busca un modelo que no sea demasiado complejo. Un modelo demasiado complejo puede acercarse casi perfectamente al conjunto de datos, resultando un sobreajuste que perjudicará la predicción de nuevos datos de entrada.
  • Validación: Se valida la competencia de los diferentes modelos de predicción, utilizado gráficos y evaluando la fiabilidad de dichos modelos encontrados.
    En esta fase se determina la fiabilidad de los modelos, con distintos métodos que señalan el mayor o menor acierto como son el error cuadrático medio, el beneficio/pérdida o las curvas ROC. Para el caso de que el objetivo sea una decisión (0/1, S/N) los criterios de validación son:

    • Por aciertos: verdaderos positivos, verdaderos negativos (maximización) Por desaciertos: falsos positivos, falsos negativos (minimización)
    • Si se trata de establecer un ranking: Concordancia: Los casos se ordenan correctamente (maximización) Discordancia: Casos que se ordenan incorrectamente (minización)
    • Y si estamos tratando con una estimación: Minimización del error cuadrático

Modelos

Árbol de decisión

Este modelo produce sucesivas particiones de las variables de entrada, en dos o más ramas. Se busca la partición más significativa en cada nivel. Cada nivel realizará la partición por una variable, que puede ser una utilizada en niveles anteriores o no.

Árbol de decisión

Se puede desplegar y utilizar un árbol hasta una profundidad máxima, aunque de esto resultaría un sobreajuste, como se ha mencionado anteriormente.

Sin embargo, la manera de proceder para elaborar un árbol de decisión más sencillo y útil, es desarrollarlo por completo para, posteriormente, podarlo hasta encontrar un modelo útil de menor complejidad.

La forma de podarlo se realiza calculando la fiabilidad (según el criterio de validación establecido) de árboles de diferente profundidad, desde el más extenso al menor. Es decir, se van quitando ramas y evaluando la fiabilidad de cada subárbol así obtenido. Dentro de cada nivel de profundidad se elige el más fiable.

Posteriormente, el árbol seleccionado como modelo válido, será aquél que tenga la mayor fiabilidad con la menor complejidad (menos niveles). Es decir, si la fiabilidad de un modelo de 3 niveles y uno de 5 es la misma, se utilizará el árbol de 3 niveles.

Parámetros que se pueden configurar en un árbol de decisión:

  • Definir el máximo número de ramas Criterio de bifurcación Método de generación de subárboles
  • Tamaño del árbol: Profundidad, elementos por hoja.

Regresión

La regresión trata de encontrar una fórmula que proporcione el valor objetivo dadas las variables de entrada. Por ejemplo, en el caso de una regresión lineal:

Y = w0 + x1*w1 + x2*w2 + … + xN*wN (siendo xn la variable y wn el peso)

El modelo de regresión requiere un mayor tratamiento de los datos, puesto que:

  • Sólo trata con valores numéricos. Las categorías o clases hay que transformarlas en numéricos.
  • No puede manejar valores nulos o perdidos.
  • Es necesario detectar y manejar los valores extremos o atípicos
  • Hay que tener en cuenta las no linealidades en los datos

El origen de los valores perdidos puede ser variado: No ser una medida aplicable en el registro, proceder de una unión de tablas desemparejada, no haberse introducido el valor. Dependiendo del caso, se aplican diferentes remedios de reemplazamiento: métodos de distribución sintética, métodos de estimación.

En el caso de las variables de clase, se transforman en variables numéricas, una por clase (menos la última que es por descarte), con valores 0/1. Para reducir el número de clases, y por tanto de variables numéricas fantasma generadas, puede ser conveniente agrupar las clases en un número menor de conjuntos. Es decir, se reclasifican.

Para distribuciones extremas o inusuales, procede realizar transformaciones de escala y regularizaciones. La escala se transforma mediante funciones logarítmicas, por ejemplo.

Para el caso de contar con no linealidades, se pueden realizar regresiones polinómicas, que incluyen productos de variable.

La selección de variables que van a intervenir en la regresión es también importante. De ella depende la precisión y simplicidad del modelo obtenido, tal como se ha visto anteriormente. Existen diferentes algoritmos de selección:

  • Añadir variables según significancia, de una en una.
  • Contar con todo el conjunto al principio y eliminar sucesivamente las menos significativas
  • Una combinación de ambos, añadir una importante y quitar otra que lo sea menos.

En cualquiera de los métodos, el cambio del conjunto de variables que intervienen, hace que varíe su importancia relativa y que las que pueden parecer importantes al principio, dejen de serlo al añadir o quitar otras.

Si bien el árbol de decisión tiene una interpretación inmediata, la regresión es más difícil de interpretar. Los pesos descubiertos, nos dan la importancia relativa de la variable correspondiente en la explicación de la variable objetivo.

La explicación en caso de regresiones polinomiales es aún más complicada, ya que se hace difícil entender el significado de los productos de variables.

Red neuronal (Neural Net)

Una red neuronal trata de imitar el funcionamiento del cerebro humano. En el fondo, tras una red neuronal, lo que hay es una especie particular de regresión.

Red Neuronal

Las NN tienen los mismos problemas de predicción que las regresiones:

  • Gestión de valores desaparecidos
  • Manejo de valores extremos o inusuales
  • Uso de variables no numéricas (clases)

El más importante es el de los valores perdidos. Al igual que las regresiones, necesitan que existan todas las entradas del registro para una correcta estimación. La forma de arreglarlo es la misma que en las regresiones, mediante imputación de un valor.

El problema de los valores extremos o inusuales se ve mitigado por el uso interno de la función “tangente hiperbólica” en la activación de la unidades de la capa oculta. De esta forma los valores extremos acabarán cayendo entre -1 y 1.

Y otra de las dificultades de una NN es su interpretación, que es muy difícil.

Cuantas más variables intervengan en la NN, más complicado será su proceso de entrenamiento. Esto hace que sea importante seleccionar bien las variables útiles o importantes. Una posible forma de realizar esto es mediante la utilización de las variables que se han revelado útiles en otros modelos, como son los mencionados anteriormente del árbol de decisión, o la regresión.

Validación de modelos

Dependiendo del tipo de predicción que se quiera realizar, varían los métodos de validación:

  • Decisiones (0/1):
    • Acierto/Fallo
    • Beneficio/Pérdida
    • Inversión de umbrales
  • Rankings
    • Curvas ROC
    • Coeficiente Gini
  • Estimaciones
    • Error cuadrático medio
    • SBC/Verosimilitud

Descubrimiento de patrones

Otras posibilidades que nos ofrece la minería de datos, además de la elaboración de modelos de predicción, es la del descubrimiento de patrones. Encontramos las siguientes aplicaciones:

  • Reducción de datos: Se trata de encontrar una representación más compacta que la original, con menos variables. El método de análisis que se aplica es el de Segmentación (Clustering)
  • Detección de novedades: Estos métodos buscan la predicción de patrones de datos únicos o no observados previamente.
  • Perfilado: Similar al análisis de cluster. La idea es crear reglas que definan segmentos, basados a menudo en datos demográficos o de comportamiento.
  • Reglas de asociación: Se usa para analizar secuencias de datos en una transacción para encontrar combinaciones que ocurren (o que no ocurren) más (o menos) a menudo de lo esperado. Por ejemplo, en la cesta de la compra, los vendedores pueden descubrir combinaciones de productos que se compran a la vez.
  • Análisis secuenciales: Es una extensión de lo anterior para incluir la dimensión temporal en el análisis.

Hablaremos de esto en otros posts.

Artículos relacionados:

 

Ibermática se certifica en IBM SPSS Modeler

Feb 17, 2012   //   by wpuser   //   Minería de Datos  //  Comentarios desactivados en Ibermática se certifica en IBM SPSS Modeler

La Unidad de Business Intelligence de Ibermática mantiene un proceso cuyo objetivo es contar con todas las certificaciones de los productos de Gestión del rendimiento corporativo de IBM. Como fruto de esta iniciativa, se han venido obteniendo distintas certificaciones de productos de IBM Cognos que convierten a Ibermática en “Support Provider”. Estas certificaciones reconocen la capacidad de Ibermática y nos colocan en una situación privilegiada con respecto a otras empresas competidoras.

Ahora, gracias a la colaboración entre la Unidad de Business Intelligence y el Departamento de Sistemas Inteligentes de Control y Gestión (Inteligencia Artificial) de i3B, se ha obtenido el IBM Certified Associate – Modeler Business Partner Data Analyst, siendo así una de las primeras empresas españolas que adquiere dicha certificación. Este reconocimiento está diseñado para los socios de negocios con conocimiento en IBM SPSS Modeler versión 14 o superior, que trabajen en administraciones públicas, educación o negocios, y que quieran utilizarlo para llevar a cabo actividades de minería de datos (incluida la preparación de datos, la comprensión de datos y modelado, enmarcada en la metodología CRISP-DM), en contextos tales como la detección de fraudes, gestión de clientes, predicción de tendencias, mantenimiento proactivo, gestión de riesgos, guías personalizadas y medicina.

Desde la Unidad de Inteligencia Artifical se están desarrollando proyectos de esta naturaleza, que permiten automatizar la parte manual en la extracción de información relevante, como complemento a los procesos de Business Intelligence. Convencidos de que este es el presente del tratamiento masivo de información, se están realizando proyectos conjuntos con SAS, IBM SPSS y software libre, como RapidMiner o R.

i3B publica en la prestigiosa revista Atmospheric Environment

Ene 18, 2012   //   by wpuser   //   Minería de Datos  //  Comentarios desactivados en i3B publica en la prestigiosa revista Atmospheric Environment

El modelo predictivo desarrollado por la Universidad Pública de Navarra (UPNA) y el Instituto Ibermática de Innovación (i3B), desde su departamento de Inteligencia Artificial, cuyo objetivo es el de anticiparse a riesgos de lluvia extrema, ha sido publicado en la prestigiosa revista Atmospheric Environment.

“Rain pattern analysis and forecast model based on GPS estimated atmospheric water vapor content”

Atmospheric Environment es una revista internacional dedicada a la publicación de investigaciones de alta calidad en el ámbito de la contaminación del aire y sus impactos sociales.

El objetivo principal de Atmospheric Environment es proporcionar una comprensión científica de las consecuencias de las perturbaciones naturales y antropogénicas a la atmósfera de la Tierra. Los documentos publicados deben presentar los resultados basados en el estado de la técnica científica referente a las observaciones atmosféricas, el modelado y el análisis extendido desde escalas locales a globales.

El ámbito de la revista es amplio e incluye procesos que implican la química y la física de la atmósfera así como temas relacionados con la salud humana, el bienestar, el cambio climático y la política ambiental.

Los siguientes temas se consideran de alta prioridad:

  • Observaciones innovadoras de la calidad del aire como del espacio basado en la teledetección.
  • Emisiones e inventarios antropogénicos / biogénicos.
  • Intercambio y deposición de la biosfera.
  • Modelado y análisis.
  • Interacción de la contaminación del aire con el cambio climático.
  • Efectos de la radiación de los aerosoles en nubes y cambios de albedo.
  • La salud y el bienestar de efectos por la exposición a la contaminación en un entorno mundial cambiante.
  • La contaminación del aire. La política ambiental y los efectos reguladores.
  • Trabajos de campo y estudios de laboratorio sobre la atmósfera física, química y los procesos radiación.

 

Reinventando las redes neuronales

Nov 10, 2011   //   by wpuser   //   Minería de Datos  //  2 Comments

Toda la información que manejamos constantemente, tanto consciente como inconsciente, esta integrada y mantenida en nuestras neuronas. Además, según van avanzando los estudios neurocognitivos, sabemos que estos enlaces se refuerzan o se disipan en el tiempo. Esto quiere decir que “olvidamos” lo que no ejercitamos, y “aseguramos” lo que hemos aprendido y practicamos, incluido el buen humor, o el malestar psicológico. Pero además, se ha demostrado que la estructura de las redes neuronales es variable, cambia, no sólo las conexiones, sino la forma en la dimensión espacio-temporal de las relaciones entre las neuronas. ¿Qué provoca estos cambios? Parece ser que todo, es decir, nuestro contacto con el medio ambiente, el aprendizaje evolutivo que vamos adquiriendo día a día, el olvido de cosas pasadas (independientemente de su importancia en el momento de su adquisición), y además, intervienen en el proceso de transformación proteínas puntuales que afectan a las neuronas, a su recubrimiento, e incluso, la generación celular y su código genético. (Todo esto que acabo de afirmar, lo iré documentando con el tiempo en una sección de referencias futuras).

Existe un video muy interesante en la red, que explica de forma muy sencilla todo lo anterior.

Sin embargo, actualmente, cuando “atacamos” un problema de predicción, clasificación o de tendencias, en base a un histórico de entradas y salidas y una red neuronal, uno de los principales problemas que tenemos es determinar la estructura de la red neuronal. Es decir, debemos hacer el trabajo que hace el cerebro ante un problema, sólo que al revés, primero ideamos qué o cuáles son las estructuras de redes neuronales que pueden, quizás, solucionarnos el problema, y luego pasamos a una fase de ensayo-error, hasta que ajustamos nuestra red.
De esta forma, si hemos decidido que nuestra red debe de ser red retroalimentada, con aprendizaje backpropagation, probamos con distintas capas intermedias, distintos tipos de activación, alternamos entre redes recurrentes, de base radial, y así, hasta que los resultados son satisfactorios.

Es cierto que podemos utilizar, como se está haciendo en muchos trabajos, algoritmos genéticos para que sean horas máquinas las que nos sugieran el tipo de red, las funciones de activación, los mejores umbrales y el número de capas intermedias, pero siempre tendremos redes totalmente conectadas (seguramente algunos enlaces jamás entren a formar parte de la solución), y un algoritmo de aprendizaje que va ajustando lo pesos de la estructura hasta llegar a un mínimo aceptable.

El cerebro no funciona de esta manera, sino que, más bien al contrario, el proceso de aprendizaje no sólo determina el peso y la estrategia de conexiones entre las neuronas, sino la estructura espacial de la matriz tridimensional de las mismas.

Otro factor que hay que tener en cuenta esla recursividad. Las redes artificiales utilizadas, usualmente son del tipo “hacía delante” o “feedforward”, es decir, las neuronas de entrada devuelven resultados a una capa de entrada, y estas a una capa de salida, siempre en la misma dirección. La estructuras de neuronas reales tienen bucles en los que la información, en un entorno tridimensional, puede volver a capas anteriores, para recalcular impulsos, es decir, existen conexiones “hacia atrás”. (También existen estrucuturas de redes artificiales con estos bucles, llamadas redes recurrentes (ART), , pero habitualmente, hay que definirlos estos enlaces con un objetivo final claro y probado, y hay que diseñar estos bucles “ad hoc”).

Las redes neuronales artificiales se basan por así decirlo en el análisis, algo así como comenzar por una ídea fundamental y descomponerla hasta conocer todos sus componentes. Mientras que las redes biológicas basan su funcionamiento en la síntesis: se comienza por un comportamiento inicial y se trata de conformar la inteligencia mediante la unión de estos componentes. La causa de esta diferencia no parece estar debida ni a la velocidad de procesamiento ni a su propia capacidad de procesar, pues los procesadores con los que contamos hoy en día tienen una velocidad de procesamiento 10 exp 6 veces más rápida que los elementos procesadores básicos del cerebro, es decir, que las neuronas. Esto, unido al hecho de que la capacidad neuronal es mucho más simple nos lleva a la conclusión de que mientras que en un ordenador convencional las instrucciones se ejecutan secuencialmente por medio de un procesador complicado y rápido, el cerebro es una interconexión masiva y paralela de elementos de procesamiento (neuronas) relativamente simples y lentas, cuyas características, a día de hoy no han sido igualadas.

Por ello, hemos demostrado que en base a conexiones aleatorias, utilizando diversas técnicas de I.A., se puede construir un sistema que genere una estructura de neuronas que resuelva los problemas que se le presentan sin necesidad de un reajuste periódico de los pesos en función de los resultados (salidas), sino que la red se configurará de forma efectiva y automática en función del problema, con las conexiones, bucles y pesos necesarios para ello, de una forma evolutiva, rápida y sin necesidad de cálculos de corrección ni de ajuste a los resultados esperados. Después, habrá que demostrar que, ante estímulos desconocidos, la red responde de forma correcta, al igual que las redes clásicas, es decir, que sea capaz de predecir resultados correctos ante entradas desconocidas.

El cerebro es un conjunto de estructuras neuronales (entre otros componentes), que ha ido evolucionando hasta su actual configuración durante miles de años. Pero aún así, esta configuración es variable, se modifica constantemente, quizás no tanto en las ubicaciones de las neuronas en el espacio, (que también se modifica, con la muerte y creación de nuevas células), sino en las interrelaciones (conexiones) que mantienen con otras neuronas.

Una neurona puede tener conexiones con neuronas cercanas en el espacio, y a la vez, con neuronas que están muy alejadas, y además, sus conexiones puede ir en cualquier sentido, es decir, en la dirección de la salida, o hacía atrás. Además, la misma neurona, en cada una de las conexiones con el resto de neuronas, puede generar un impulso diferente, y la función que genera dicho impulso no tiene por qué ser la misma.

Estas propiedades difieren bastante de lo que son las estructuras neuronales artificiales, en las que las función que determina el impulso de un enlace entre neuronas es siempre la misma para toda la neurona, e incluso, para toda la red, y no existen conexiones de neuronas que no estén en capas solapadas.

Por lo tanto, debemos crear un sistema con los siguientes requerimientos:

La red neuronal ya no tiene capas intermedias, sino que será un estructura en la que:

a) Cada neurona podrá relacionarse con un número variable de neuronas de la red, independientemente de su posición.

b) Cada neurona podrá tener como origen (entrada) un número variable de conexiones con otras neuronas, independientemente de su posición.

c) Cada neurona podrá ser entrada de un número variable de neuronas independientemente de su conexión.

d) Cada conexión neurona-neurona (que puede ser múltiples), tendrá una función de activación y un peso de enlace independiente.

e) Las neuronas de salida se determinan automáticamente, y pueden ser cualquiera de las neuronas de la red (incluidas las de entrada, ya que pueden tener realimentación de otras neuronas), independientemente de su posición.

En definitiva, estamos generando un sistema totalmente abierto, en el que cada neurona se “comunica” con otras neuronas independientemente de su situación y cercanía, cada conexión es independiente en la fuerza del estímulo, y las salidas se asignarán a a aquellas neuronas que mejor satisfagan (si lo hacen) los requerimientos del problema. Y todo, se genera de forma aleatoria y evolucionará en función de sus resultados.

Para ello, se crea un programa en lenguaje C++, que nos pedirá en su ejecución los siguientes datos:

  • Número de neuronas de entradas (datos de entrada)
  • Número de neuronas de salida (nos sirve para evaluar los resultados de la red).
  • Número de neuronas en la capa intermedia (nos sirve para limitar el número de neuronas total de la red).

Un ejemplo de esta red sería el siguiente gráfico:

– Los círculos en azul indican las neuronas de entrada.
– Los círculos en rojo indican la capa intermedia.
– Los círculos en verde indican las neuronas de salida.
– Las líneas en azul indican enlaces “hacia delante”.
– Las líneas en rojo indican enlaces “hacia atrás”, es decir, retroalimentaciones.

Ejemplo 1. XOR

XOR es el “Hello Word” de las redes neuronales. Intentamos resolver con esta nueva morfología estetípico problema de clasificación compleja.  Para ello, vamos a empezar generando estructuras simples de redes, hasta más complejas, viendo cuáles son los resultados, tiempo de proceso y necesidad de neuronas para dar con una solución válida.

En una red neuronal típica, la morfología para resolver este problema se puede ver en la siguiente figura:

Se necesitan 5 neuronas para dar una solución válida.

Si ejecutamos nuestro modelo con un mínimo de neuronas (al menos 2 de entrada para los datos de entrada, y una de salida, para determinar la solución 1/0):

patrón [0] neurona ganadora [0] error [0.126387]

patrón [1] neurona ganadora [2] error [0.000000]

patrón [2] neurona ganadora [2] error [0.572814]

patrón [3] neurona ganadora [0] error [0.037127]

Red número [36]…………Error total de la red: [0.184082]

Explicación:

La red se constituye con tres enlaces entre las neuronas, uno “hacia delante” (1->2), y dos “hacía atrás”, (1->0 y 2->0).

Para determinar el resultado, en el caso de los patrones de entrada (0,0) y (1,1), debemos tomar como salida la neurona 0, (que también es neurona de entrada), y en el caso de los patrones (0,1) y (1,0), debemos tomar como salida válida el resultado de la neurona 2 (sólo de salida).

 Con esta configuración de red resolvemos el problema XOR. en resumen, con una red de tres neuronas (la mitad que la red clásica), damos solución al mismo problema.

Para llegar a esta configuración, se han calculado 36 distintas morfologías de redes, en un tiempo inferior al segundo.

Otras configuraciones:

 

  Red con 4 neuronaspatrón [0] neurona ganadora [1] error [0.371758]patrón [1] neurona ganadora [2] error [0.000000]

patrón [2] neurona ganadora [2] error [0.000000]

patrón [3] neurona ganadora [1] error [0.350334]

1 búsqueda.

 

Red con dos enlaces “hacia atrás” (1->0 y 2->1), y otros dos enlaces recurrentes (sobre la misma neurona) en las neuronas 1 y 2   Red con 4 neuronaspatrón [0] neurona ganadora [1] error [0.046164]

patrón [1] neurona ganadora [2] error [0.371517]

patrón [2] neurona ganadora [2] error [0.369700]

patrón [3] neurona ganadora [1] error [0.046041]

 

17 búsquedas

 

Red con dos enlaces “hacia adelante” (0->1 y 0->2), y otros dos enlaces recurrentes (sobre la misma neurona) en las neuronas 1 y 2   Red con 4 neuronaspatrón [0] neurona ganadora [1] error [0.008047]patrón [1] neurona ganadora [0] error [0.724141]

patrón [2] neurona ganadora [0] error [0.000000]

patrón [3] neurona ganadora [1] error [0.007806]

 

16 búsquedas

 

Red con dos enlaces “hacia adelante” (0->1 y 2->3), un enlace “hacía atrás” (2->1) y otros tres enlaces recurrentes (sobre la misma neurona) en las neuronas 0, 1 y 2

 

 

 ¿Cuál es la mejor selección? La que calcule un menor error cuadrático en el conjunto de sus respuestas, con el menor número de neuronas utilizadas.

Mas información: ai.moreno@ibermatica.com

Minería de datos sobre ontologías

Oct 24, 2011   //   by jc.cantera   //   Minería de Datos  //  1 Comment

Las aplicaciones del mundo real están cargadas de gran cantidad de datos e incluyen entidades que evolucionan con el tiempo. Sin embargo, este entorno rico en datos no significa necesariamente que sea rico en información. Debido a la naturaleza dinámica del entorno, los datos deben ser interpretados de manera diferente dependiendo de la situación (el contexto). Por ejemplo, el significado de fiebre alta de un paciente de catarro podría ser diferente de la fiebre de un paciente de neumonía.

El contexto es un concepto potente y de gran influencia. Puede ser útil en la interacción persona-máquina, principalmente a través de contextos explícitos de la comunicación (por ejemplo, entrada de la consulta del usuario). Otros factores implícitos de contexto (por ejemplo, físico, condiciones ambientales, lugar, hora, etc.) suelen ser ignorados por el equipo debido a la ausencia de una base de conocimiento o de un modelo adecuado.

La minería de datos sensible al contexto tiene que ver con la forma en que los atributos deben ser interpretados con criterios específicos de cada solicitud. Los actuales enfoques de la minería no proporcionan el apoyo adecuado para  minería de datos sensible al contexto. La razón principal de esto es la falta de contexto rico que especifica cuándo y cómo una minería de datos se debe aplicar a su contexto.

Para interpretar y mejorar la entrada explícita del usuario podrían utilizarse factores implícitos al contexto, lo que afecta los resultados de minería de datos para ofrecer una predicción de resultados exacta y precisa. Diferentes comportamientos y funcionalidades de minería de datos son muy útiles y necesarios en la generación de información dinámica, incierta, y en entornos distribuidos. Se debe a que tales conductas y capacidades pueden ayudar a aumentar los grados de eficacia y flexibilidad del proceso de minería de datos.

Las ontologías proporcionan un medio para representar la información o el conocimiento procesable por una máquina. Este conocimiento se puede comunicar entre diferentes agentes. El marco representa los factores de contexto en ontologías. Contexto es un término muy subjetivo y depende del dominio en cuestión. Por lo tanto, podemos diferenciar dos partes en la minería sensible al contexto: la representación real del factor de contexto para un dominio en la ontología correspondiente y un marco genérico en el que se puede consultar esta ontología e invocar a los procesos de  minería y coordinarlos de acuerdo con el diseño de la ontología. La representación del conocimiento en la ontología puede ser un bloque de construcción para la minería de datos basados en contexto.

El Descubrimiento de Conocimiento en Bases de Datos es un proceso exploratorio que involucra la aplicación de varios procedimientos algorítmicos para la manipulación de datos, construcción de modelos desde los datos y la manipulación de los mismos. El proceso de Descubrimiento de Conocimiento (KD) es una de las nociones centrales del campo de Descubrimiento de Conocimiento y Data Mining (KDD).

En particular el proyecto de investigación se centraliza en un subconjunto de estados de los procesos de KD (estos estados a su vez tienen múltiples componentes de algoritmos que pueden ser aplicados). A este proceso le denominamos Minería de Datos, distinguido del proceso más extenso de Descubrimiento de Conocimiento en Base de Datos. Hay que poner énfasis en tres procesos de KD: preproceso automático de datos, aplicación de algoritmos de inducción, y post-proceso automático de modelos.

Se selecciona este conjunto de pasos, porque individualmente, se encuentran relativamente bien comprendidos y pueden ser aplicados a una amplia variedad de conjunto de datos.

Proceso KDD

Proceso KDD

En la figura se pueden observar las áreas donde se pueden aplicar las ontologías en el proceso de descubrimiento de conocimiento.

Aplicación de  Minería de datos a Ontologías

Aplicación de Minería de datos a Ontologías

De esta manera, podemos ver a la relación entre Ontologías y Minería de Datos de dos modos:

  • Desde las Ontologías a la Minería de Datos, incorporamos el conocimiento al proceso por el uso de ontologías, es decir, cómo los expertos entienden y realizan las tareas de análisis. Las aplicaciones representativas son ayudantes inteligentes para el proceso de descubrimiento, la interpretación y la validación del conocimiento extraído.
  • Desde la Minería de Datos a Ontologías, incluimos el conocimiento del dominio en la información de entrada o usamos las ontologías para representar los resultados. Por lo tanto el análisis es realizado sobre estas ontologías. Las aplicaciones más representativas están en Medicina, Biología y Datos Espaciales, como: la representación de Genes, Taxonomías, aplicaciones en Geociencias, aplicaciones médicas.

Aplicando el ciclo CRISP-DM de minería sobre una ontología

CRISP-DM es la metodología más extendida para describir los pasos del proceso de KDD.

El ciclo de vida de CRISP-DM en el dominio de la ontología

Ciclo Crisp-DM

Ciclo Crisp-DM

En el modelo CRISP-DM se distinguen seis fases principales de un proceso de KDD: comprensión  del Negocio, la comprensión de datos, preparación de datos, modelado, evaluación e implementación.

  • El papel de las ontologías en la comprensión del negocio no es exclusivo de KDD. Las ontologías de dominio son un importante vehículo para la inspección de un dominio antes de comprometerse con una tarea en particular. Ontologías semi-formales  pueden ayudar a un recién llegado a familiarizarse con los conceptos más importantes y las relaciones, mientras que las ontologías oficiales permiten identificar a los supuestos conflictos que pueden no ser evidentes a primera vista.
  • Para la comprensión de datos mejorada, los elementos de una ontología tienen que ser asignados (es de suponer, manualmente) a los elementos del esquema de datos y viceversa. Normalmente, esto conducirá a la selección de solamente una parte relevante de una ontología (o múltiples ontologías). Los beneficios de este esfuerzo podrían ser, por ejemplo:
    • Identificación de los atributos que faltan que se debe agregar al conjunto de datos
    • La identificación de atributos redundantes (por ejemplo, la medición de la misma cantidad en diferentes unidades) que podrían ser eliminados del conjunto de datos.
  • La fase de preparación de datos ya está conectando con el modelado en la fase posterior. Por lo tanto, el uso concreto de la ontología de dominio depende en parte de la herramienta de minería elegida. Una ontología general, puede ayudar a identificar múltiples  grupos de atributos y/o valores de acuerdo con criterios semánticos.
  • En la fase de modelado, las ontologías pueden ayudar a diseñar las sesiones individuales de minería. En particular, para grandes conjuntos de datos, en los que valdría la pena introducir algún sesgo ontológico, por ejemplo, para pasar el examen cuantitativo de las hipótesis que no tendría sentido desde el punto de vista ontológico, o, por el contrario, de los que evidente en la ontología.
  • En la fase de evaluación, el/los modelos descubierto/s tienen el carácter de conocimiento estructurado en torno a los conceptos (mapeado en los atributos de datos), y por lo tanto puede ser interpretada en términos de la ontología y asociados a conocimientos previos.
  • En la fase de implementación, el conocimiento extraído realimenta el entorno del negocio. Siempre y cuando previamente el modelo del negocio se haya plasmado por mediante una  ontología, la integración de nuevos conocimientos una vez más puede estar mediada por la ontología del negocio. Por otra parte, si los resultados de la minería se distribuyen  través de múltiples organizaciones (por ejemplo, utilizando la infraestructura de la web semántica), la asignación a una ontología compartida es inevitable.

Se han estudiado varias aproximaciones de minería de datos sobre ontologías:

Minería de asociación

Mediante procedimientos  para análisis de datos representados como strings o bits. De esta manera, es posible generar y verificar patrones diferentes de manera eficiente. Algunos de los más usados se basa en el análisis de una tabla de contingencia de cuatro fases. Busca relaciones para 16 tipos de reglas de asociación (RA), incluyendo RA correspondientes a la prueba de hipótesis estadísticas y RA condicionales. Otros procecimientos se usan para los patrones basados en la evaluación de tablas de dos dimensiones de contingencia de dos atributos categóricos. Y alguno más que busca relaciones para las parejas de subconjuntos disjuntos de objetos observados que difieren en alguna propiedad de atributos.

Se obtienen RA de la forma φ ≈ ψ, donde se les llama φ y ψ antecedente y consecuente, respectivamente. El símbolo ≈ se refiere a un cuantificador, es decir, una condición en la tabla de contingencia de cuatro dimensiones de φ y ψ. La tabla de contingencia de cuatro dimensiones de φ y ψ en los datos de la matriz M es un cuádrupla ? a, b, c, d? de números naturales de tal manera que uno es el número de objetos de datos de M que satisfacen tanto φ y ψ, b es el número de objetos de datos de M φ ψ satisfactoria y no satisfactoria, c es la número de objetos de datos de φ M no satisfactoria y ψ satisfactoria, y d es la número de de M de M que no cumplan ni φ ψ.

Este modelo se ha utilizado para un experimento realizado con una ontología de dominio de riesgo cardio-vascular.

KDDONTO

KDDONTO es una ontología para apoyar tanto el descubrimiento de algoritmos adecuados y la composición de la KDD de los procesos de KDD. Con este fin, se utiliza una metodología de construcción de ontologías enfocada a definir ontologías orientadas a objetivos y que satisfagan los requisitos de calidad. Cada paso de esta metodología devuelve como salida una ontología válida representada en un lenguaje diferente. En primer lugar, las condiciones básicas que caracterizan algoritmos KDD se identifican y organizan en un glosario, y después las clases y las relaciones de la ontología se derivan formalmente de ella en forma axiomática. Por último, se obtiene una implementación de OWL-DL de la KDDONTO.

En este sentido  se ha desarrollado el proyecto Knowledge Discovery in Databases Virtual Mart (KDDVM), un proyecto más general para el desarrollo de un proceso abierto y entorno extensible donde los usuarios pueden buscar aplicaciones, sugerencias, evaluaciones, ejemplos de uso de las herramientas implementadas como servicios. En este marco, la KDDONTO es explotada para apoyar tanto el descubrimiento de servicios web como la aplicación de algoritmos de KDD, y su composición para la construcción de procesos de KDD. En particular, el uso de una ontología como garantías para obtener validez, resultados útiles y desconocidas.

Híbrido entre minería de datos y ontología

Para permitir el intercambio de conocimientos con el de aplicaciones exitosas de KDD los procesos y sus datos se almacenan en un meta-modelo llamado M4. Al hacer operativo M4, se apoya no sólo el almacenamiento, la documentación y el intercambio de tales procesos, sino también su desarrollo inicial y la ejecución. M4 se compone de un modelo de datos y un modelo de caso, como se explica a continuación:

  1. Los datos se modelan en dos niveles. En primer lugar, se almacena el esquema de base de datos, que describe las tablas, sus atributos y relaciones entre tablas. Este permite un acceso permanente a esta información en bases de datos. En segundo lugar, un nivel de la ontología se introduce que permite describir los datos en términos más abstractos. Básicamente, el nivel de la ontología utiliza los conceptos con las características y las relaciones, para modelar los datos. Obviamente, la asignación entre los dos niveles es crucial. La principal ventaja de este modelo de datos de dos niveles es que todo el procesamiento de datos se describe en términos de la ontología nivel, que permite volver a utilizar la descripción completa en una nueva base de datos simplemente cambiando la asignación inicial.
  2. Una secuencia completa de operaciones que describe un proceso de KDD se llama caso. El modelo del caso describe las operaciones ejecutadas con los datos, proporcionando un conjunto abierto de los operadores xed que realizan transformaciones básicas de los datos, así como pasos de aprendizaje más sofisticadas (a veces el aprendizaje se aplica durante el preprocesamiento). Aparte de algunos operadores con parámetros opcionales específicos (constantes) todas las entradas y salidas de los operadores se especifican en términos de la ontología de dominio. Las secuencias de salidas de un operador válido se encuentran disponibles como entrada para los pasos posteriores. Tan pronto como las entradas de un operador se han asignado a los objetos de base de datos se convierte en ejecutable. Cada operador tiene una tarea específica que es básicamente para establecer una visión nueva base de datos en los datos de entrada. Este proceso puede ser visto como una transformación en una representación diferente de los datos. El compilador es el sistema M4,  responsable de la ejecución de los operadores de los componentes. Lee la información sobre cómo aplicar los operadores en el presente caso de la M4 y crea puntos de vista basados en el código SQL generado de forma dinámica.

Existen entornos gráficos que permiten: a) creación y edición de objetos en el nivel de la ontología y asignarlos a los objetos de base de datos, y b) crear y editar las cadenas de los operadores. Además, toda la información relacionada con un caso M4 puede ser importada y exportada a ficheros XML, los cuales se pueden intercambiar entre los usuarios.

Las principales ventajas de este enfoque son:

  • Descripción de los datos en términos familiares para el usuario
  • Documentación automática de los datos y pasos de procesamiento
  • La reutilización de las aplicaciones en diferentes bases de datos KDD
  • Intercambiabilidad de conocimiento acerca de aplicaciones exitosas de KDD

Reformulation Query

El uso del conocimiento semántico en sus diversas formas, como meta-modelos, reglas semánticas y restricciones de integridad puede mejorar el procesamiento de consultas capacidades de vínculos mediante la transformación de las consultas del usuario en otros que sean semánticamente equivalentes, que pueden ser contestadas en menos tiempo y/o con menos recursos. A veces, el sistema no necesita escanear la base de datos completa para responder a una consulta y una breve respuesta podría satisfacer las necesidades de los usuarios. Este aspecto de la base de datos emergentes se conoce como optimización de las consultas semánticas. Por otra parte, hay también varios mecanismos de conocimiento de bases de datos que utilizan el conocimiento semántico basado en un conjunto de conocimiento intencional, incluyendo las reglas de deducción, las reglas generales, y jerarquías de conceptos con el fin de ofrecer una “respuesta inteligente” para las consultas. “Respuesta Inteligente ” a una consulta se refiere a proporcionar al usuario respuestas intencionales, además de los datos (hechos). Estas respuestas incluyen alguna generalizada, por vecindad, o información asociada que caracteriza a los resultados de los datos. En la actualidad, se trabaja en la investigación en la integración de la Web Semántica y los datos se centran en el uso de ontologías como soporte semántico para el procesamiento de datos. Las ontologías han demostrado ser útiles para capturar el contenido semántico de las fuentes de datos y para unificar las relaciones semánticas entre las estructuras heterogéneas. De este modo, los usuarios no deben preocuparse por dónde y cómo se organizan los datos en las fuentes. Por esta razón, los sistemas como OBSERVER  y TAMBIS permiten a los usuarios a formular sus consultas a través de una ontología sin acceso directo a las fuentes de datos.

Los datos de una ontología pueden ser explotados de forma efectiva para reformular una consulta de usuario de tal manera que la nueva consulta puede proporcionar resultados más “significativo” de la reunión la intención del usuario. Una consulta puede ser definida por un conjunto de selecciones y proyecciones sobre los objetos de base de datos que satisfagan una serie de condiciones. Estas condiciones son definidas por un conjunto de términos y determinan la respuesta a la consulta. Si un usuario desea recuperar información de una base de datos sobre determinados objetos, se pueden usar términos que no coinciden exactamente con los valores de base de datos (debido a la falta de correspondencia entre la visión del mundo del usuario y la del diseñador de la base de datos). Sin embargo, puede haber valores en la base de datos que son sintácticamente diferentes de los términos de usuario, pero tienen el mismo significado y expresan la misma intención del usuario. Este tema se aborda como un problema semántico en lugar de como un problema de coincidencia de patrones. Como consecuencia de ello, si se considera la semántica en el procesamiento de consultas, el número de resultados para la consulta transformado puede aumentar o disminuir. En ambos casos, el usuario recibe una respuesta que cumple con sus expectativas en comparación con el resultado sin necesidad de utilizar más conocimiento. Comparado con los métodos de optimización de consultas el objetivo no es acelerar el procesamiento de consultas, sino proporcionar respuestas más significativas a los usuarios. Con este fin, se desarrolla un conjunto de reglas de reformulación.

Articulos relacionados

Procesamiento del lenguaje natural y Descubrimiento de conocimiento (KDD)

Procesamiento del lenguaje natural y Descubrimiento de conocimiento (KDD)

Sep 28, 2011   //   by jc.cantera   //   Minería de Datos  //  3 Comments

 

La realización de consultas complejas sobre un conjunto de datos, y el acceso a los métodos de clasificación, predicción y decisión son tareas complejas que se han venido realizando de forma manual.

Actualmente existe una novedosa funcionalidad que consiste en preguntar, a partir de técnicas de lenguaje natural y procesos de Data Mining, directamente a través de reglas de negocio embebidas en el sistema. El Procesamiento de Lenguaje Natural (PLN), en inglés NLP (Natural Language Processing) es una disciplina de la inteligencia artificial y la rama de ingeniería de la lingüística computacional.
El lenguaje natural es el lenguaje hablado o escrito por humanos para propósitos generales de comunicación. Hay que distinguirlo de otros  lenguajes como los de programación o los usados en el estudio de la lógica formal, especialmente la lógica matemática.
El NLP se ocupa de la formulación y búsqueda de mecanismos para el procesamiento automático de la comunicación entre personas o entre personas y máquinas, que usan lenguajes naturales. Para la interpretación del lenguaje natural es fundamental la integración de diccionarios, ontologías y gramáticas de un dominio concreto, previamente creadas, que puedan comprender la mayor parte del vocabulario que se usará para realizar consultas.
El NLP no trata de la comunicación por medio de lenguajes naturales de una manera abstracta, sino que intenta diseñar mecanismos para comunicarse que sean eficaces computacionalmente. Los modelos aplicados se enfocan no sólo a la comprensión del lenguaje, sino a aspectos generales cognitivos humanos y a la organización de la memoria.

El lenguaje natural es inherentemente ambiguo a diferentes niveles. Por ejemplo, a nivel léxico, una misma palabra puede tener varios significados, y la selección del apropiado se ha de deducir a partir del contexto oracional. Muchas investigaciones en el campo del NLP han estudiado métodos de resolver dichas ambigüedades mediante diccionarios, gramáticas, bases de conocimiento y correlaciones estadísticas. La consulta de un usuario normalmente consiste en un conjunto de palabras clave relevantes y/o expresiones regulares que es analizada, y que se identifica con el conjunto de datos indexados como elemento de un fragmento de un texto.

Existe una metodología, “Question Answering” (QA), en la que una tarea automática, a partir de una pregunta expresada en lenguaje natural,  obtiene una respuesta correcta procedente de colecciones de documentos o de la Web indexados.

Existe mucha literatura al respecto de la utilización de algoritmos de Minería de Datos para su aplicación en la comprensión del Lenguaje Natural (redes bayesianas, modelos ocultos de Marcov, Laplace, series de Fourier aplicadas, redes neuronales, reglas… ) pero, sin embargo, pocos estudios han profundizado en la posibilidad de lanzar métodos de extracción de conocimiento a partir de premisas pedidas en base a sistemas “pregunta-respuesta” (QA), sin necesidad de programación, modelado de algoritmos estadísticos, o navegación por los datos, como es habitual en la gestión de las actuales plataformas de DataMining. Esta funcionalidad, denominada por algunos como Knowledge discovery query language (KDQL), permitirá dotar de una potencialidad aún mayor a un sistema que, ya de por sí, contiene un gran sustrato de conocimiento, que no de información.

KDQL en el proceso KDD (Knowledge Data Discovery)

El fondo de KDQL proviene de SQL (Structure Query Language) sobre el que se han propuesto varias extensiones al SQL para que sirva al lenguaje de consulta de minería de datos (DMQL – data mining query language).

El objetivo de descubrimiento de conocimiento (KDD) es obtener un conocimiento útil a partir de grandes colecciones de datos. Este proceso es inherentemente interactivo e iterativo: no se puede esperar para obtener conocimiento útil con la simple introducción de muchos datos a una caja negra. El usuario de un sistema KDD tiene que tener un conocimiento sólido del dominio con el fin de seleccionar correctamente el subconjuntos de datos, las clases adecuadas de patrones, y buenos criterios sobre el interés de los patrones. Así, los sistemas de KDD deben ser visto como herramientas interactivas, como no sistemas de análisis automático. El descubrimiento de conocimiento a partir de bases de datos KDQL por lo tanto, debe ser visto como un proceso que contiene varias pasos:

1. La comprensión del dominio,
2. Preparación del conjunto de datos,
3. Descubrir patrones (DM),
4. Post-procesamiento de los patrones descubiertos, y
5. Poner los resultados en su uso.

El proceso de KDD es necesariamente iterativo: los resultados de un paso DM pueden mostrar que se deben hacer algunos ajustes en la formación de etapas dentro del conjunto de datos, o el post-procesamiento de los patrones puede provocar que el usuario busque algunos tipos ligeramente modificados de los mismos, etc. En el proceso KDD es importante un apoyo eficaz en la iteración.  En este sentido, existen aplicaciones que incluyen prominentes ejemplos de KDD sobre datos de salud, aplicaciones financieras, y datos científicos. En la industria, el éxito de la KDD se debe en parte al aumento de los volúmenes de datos almacenados y análisis on-line (on-line analytical processing – OLAP). Estas estrategias del almacenamiento y tratamiento de la los datos acumulados en una organización se han hecho populares en los últimos años. KDD y DM pueden ser vistos como formas de la realización de algunas de las metas del almacenamiento de los datos y OLAP.

Minería de datos sobre ontologías

Las aplicaciones del mundo real están cargadas de gran cantidad de datos e incluyen entidades que evolucionan con el tiempo. Sin embargo, este entorno rico en datos no significa necesariamente que sea rico en información. Debido a la naturaleza dinámica del entorno, los datos deben ser interpretados de manera diferente dependiendo de la situación (el contexto). Por ejemplo, el significado de fiebre alta de un paciente de catarro podría ser diferente de la fiebre de un paciente de neumonía.

El contexto es un concepto potente y de gran influencia. Puede ser útil en la interacción persona-máquina, principalmente a través de contextos explícitos de la comunicación (por ejemplo, entrada de la consulta del usuario). otros factores implícitos de contexto (por ejemplo, físico, condiciones ambientales, lugar, hora, etc.) suelen ser ignorados por el equipo debido a la ausencia de una base de conocimiento o de un modelo adecuado.

La minería de datos sensible al contexto tiene que ver con la forma en que los atributos deben ser interpretados con criterios específicos de cada solicitud. Los actuales enfoques de la minería no proporcionan el apoyo adecuado para  minería de datos sensible al contexto. La razón principal de esto es la falta de contexto rico que especifica cuándo y cómo una minería de datos se debe aplicar a su contexto.

Para interpretar y mejorar la entrada explícita del usuario podrían utilizarse factores implícitos al contexto, lo que afecta los resultados de minería de datos para ofrecer una predicción de resultados exacta y precisa. Diferentes comportamientos y funcionalidades de minería de datos son muy útiles y necesarios en la generación de información dinámica, incierta, y en entornos distribuidos. Se debe a que tales conductas y capacidades pueden ayudar a aumentar los grados de eficacia y flexibilidad del proceso de minería de datos.

Minería de datos sensible al contexto, Ontología

Las ontologías proporcionan un medio para representar la información o el conocimiento procesable por una máquina. Este conocimiento se puede comunicar entre diferentes agentes. El marco representa los factores de contexto en ontologías. Contexto es un término muy subjetivo y depende del dominio en cuestión. Por lo tanto, podemos diferenciar dos partes en la minería sensible al contexto: la representación real del factor de contexto para un dominio en la ontología correspondiente y un marco genérico en el que se puede consultar esta ontología e invocar a los procesos de  minería y coordinarlos de acuerdo con el diseño de la ontología. La representación del conocimiento en la ontología puede ser un bloque de construcción para la minería de datos basados en contexto.

El tratamiento masivo de datos (Big Data): La próxima frontera para la innovación, la competencia, y la productividad

Sep 5, 2011   //   by oa.usun   //   Minería de Datos  //  6 Comments

 

La cantidad de datos en nuestro mundo ha sufrido una gran explosión y el análisis de grandes conjuntos de datos-el llamado big data- va a convertirse en una base clave de la competencia, que sustentan las nuevas olas de crecimiento de la productividad, la innovación y el excelencia.

Un completo informe de MGI y McKinsey apunta al “big data”, el tratamiento masivo de datos, como uno de los negocios con mayor futuro. De hecho, lo llega a calificar como “la próxima revolución informática”, en la medida en que crea nuevas oportunidades y todo un sector que ya se está poblando de empresas como Cloudera, Hadapt, Mapr, Factual, Apixio, Datastax, Zettaset, Acunu, Couchbase o 10gen.

El “big data” consiste en analizar y explotar grandes masas de datos para crear nuevos productos o mejorar la competitividad y la productividad. Hoy es posible realizar este trabajo por la proliferación de información en Internet pero también porque existe software libre específicamente diseñado para esta labor, como Hadoop o MongoDB, y porque el coste del almacenamiento informático se ha reducido sustancialmente.

MGI estudiaron los datos en cinco grandes ámbitos: Sanidad en los Estados Unidos, el sector público en Europa, el comercio minorista en los Estados Unidos, y la fabricación y ubicación de los datos personales a nivel mundial.

El aprovechamiento del tratamiento masivo de datos en el sector público tiene un enorme potencial.

La geolocalización continua que generan los smartphones, los resultados de análisis de constantes vitales, las compras online, los comentarios en redes sociales o las transacciones con chips NFC. Esta información se genera constantemente pero apenas se trata, pese a que puede resultar muy útil para múltiples actividades empresariales.

La investigación ofrece siete ideas clave.

  1. Los datos se han extendido en todas las industrias y funciones de negocios y ahora son un factor importante de la producción, junto a la mano de obra y el capital.
  2. Hay cinco formas amplias en las que a partir del tratamiento masivo de datos se pueden crear valor. Primero, hacer la información transparente y utilizable más frecuentemente. Segundo, las organizaciones crean y almacenan más datos transaccionales en forma digital, pueden recopilar información de rendimiento más precisa y detallada, y por lo tanto, mejorar el rendimiento. Tercero, el tratamiento masivo de datos permite la segmentación cada vez más estrecha de los clientes y por lo tanto, los productos pueden ofrecerse de forma más precisa a medida como así los servicios. Cuarto, puede mejorar sustancialmente la toma de decisiones. Finalmente, el tratamiento masivo de datos se pueden utilizar para mejorar el desarrollo de la próxima generación de productos y servicios.
  3. El uso del tratamiento masivo de datos se convertirá en una base clave de la competencia y el crecimiento de las empresas. Desde el punto de vista de la competitividad y la captura potencial de valor, todas las empresas deben tomar el tratamiento masivo de datos con seriedad.
  4. El uso del tratamiento masivo de datos sustenta las nuevas olas de crecimiento de la productividad.
  5. Aunque el uso del tratamiento masivo de datos se implementa en todos los sectores, en algunos se obtienen mayores ganancias. Los sectores de productos informáticos y electrónicos y de la información, así como finanzas y seguros, y relacionados con la administración pública, son los que más pueden beneficiarse de la utilización del tratamiento masivo de datos. Especialmentela Sanidadpodría rebajar los costes de los procedimientos un 15% y en el ámbito industrial, sería posible aumentar la productividad hasta un 60% al mejorar el diseño, calidad, marketing, previsión de demanda o la distribución.
  6. Habrá escasez del talento necesario para que las organizaciones puedan aprovechar el tratamiento masivo de datos.
  7. Varias cuestiones tendrán que ser dirigidas para aprovechar todo el potencial del tratamiento masivo de datos. Las políticas relacionadas con la privacidad, seguridad, propiedad intelectual, y la responsabilidad, tendrán que ser abordadas en el entorno del tratamiento masivo de datos. Las organizaciones necesitan no sólo poner el talento y la tecnología, sino también los flujos de trabajo y la estructura de incentivos para optimizar el uso del tratamiento masivo de datos. El acceso a los datos es crítica, las empresas cada vez tienen más necesidad de integrar la información de múltiples fuentes de datos, a menudo por parte de terceros, y los incentivos tienen que estar en su lugar para permitir esto.

Estas ideas clave se resumen en las siguientes: optimización de procesos, toma de decisiones, captación de tendencias, minimización de riesgos, análisis de opiniones, creación de nuevos nichos de mercado.

Uno de los ejemplos que se menciona entre líneas es el de Inditex, propietario de varias firmas de distribución y que ya emplea desde hace años el tratamiento masivo de datos para analizar qué productos tienen mayor demanda, con el fin de incrementar su producción. El informe habla, de todas formas, de muchas otras posibilidades en este sector, como poder incrementar los precios en tiempo real en ciertas tiendas, ofrecer uno u otro artículo en función de la localización concreta de una persona o innovar con la información obtenida de los clientes.

Y entre los nuevos negocios que empiezan a ser viables, además de los intermediarios en el análisis de los datos, se citan expresamente las pólizas de seguro que solo se activan cuando un vehículo está en movimiento, los servicios de tasación de propiedad inmobiliaria en base a la geolocalización de un posible comprador, las webs de comparación de precios o el análisis de sentimientos de lo que opinan los consumidores.

TECNICAS PARA ANALIZAR BIG DATA

Hay muchas técnicas que se basan en disciplinas como la estadística y la informática que se pueden utilizar para analizar conjuntos de datos. Aquí ofrecemos una lista de algunas de las técnicas aplicables en una amplia gama de industrias. Sin embargo, todas las técnicas que la lista se puede aplicar al tratamiento masivo de datos.

A / B testing. Una técnica en la que se compara un grupo de control con una variedad de grupos de prueba para determinar qué cambios mejoran una variable objetivo determinado. Esta técnica también se conoce como split testing o bucket testing. Un ejemplo de aplicación es determinar qué textos, presentaciones, imágenes, colores mejorará los ratios convirtiendo una Web en un sitio de comercio electrónico. Big data permite a un gran número de pruebas para ser ejecutado y analizado, lo que garantiza que los grupos son de tamaño suficiente para detectar estadísticamente significativas diferencias entre el control y los grupos de tratamiento.

Reglas de Asociación. Un conjunto de técnicas para descubrir relaciones interesantes, es decir, “reglas de asociación,” entre las variables en las grandes bases de datos. Estas técnicas consisten en una serie de algoritmos para generar y poner a prueba las reglas posibles. Una de las aplicaciones es el análisis de la compra, en la que un vendedor puede determinar qué productos se compran conjuntamente con frecuencia y usar esta información para la comercialización (un ejemplo que se cita es el descubrimiento de que muchos compradores de supermercados que compran pañales también tienden a comprar cerveza).

Clasificación. Un conjunto de técnicas para identificar las categorías a las que nuevos data points pertenecen, sobre la base de un entrenamiento conjunto que contiene los data points que ya han sido clasificadas. Una aplicación es la predicción de segmentos específicos de comportamiento de los clientes (por ejemplo, las decisiones de compra, tasa de rotación, tasa de consumo), donde hay una hipótesis clara o un resultado objetivo.

El análisis de cluster. Un método estadístico para clasificar los objetos que se divide un grupo diverso en pequeños grupos de objetos similares, cuyas características de similitud no se conocen de antemano. Un ejemplo de análisis de cluster es la segmentación de los consumidores en grupos de auto-similares para la comercialización directa. Este es un tipo de aprendizaje no supervisado, porque los datos de entrenamiento no se utilizan. Esta técnica está en contraste con la clasificación, un tipo de aprendizaje supervisado.

Crowdsourcing. Una técnica de recogida de datos presentados por un gran grupo de personas o comunidad (es decir, la “multitud”) a través de una convocatoria abierta, por lo general a través de los medios de comunicación en red, tales como la Web. Estees un tipo de colaboración masiva y un ejemplo del uso de Internet 2.0.

Fusión de datos e integración de datos. Un conjunto de técnicas para integrar y analizar datos de múltiples fuentes con el fin de desarrollar ideas en formas que sean más eficientes y potencialmente más precisas que si se han desarrollado mediante el análisis de una sola fuente de datos. Los datos de los medios de comunicación social, analizados por el procesamiento del lenguaje natural, se puede combinar con datos en tiempo real las ventas, con el fin de determinar el efecto que una campaña de marketing está teniendo sobre la confianza del cliente y el comportamiento de compra.

La minería de datos. Un conjunto de técnicas para extraer patrones a partir de grandes conjuntos de datos mediante la combinación de los métodos de estadística y de aprendizaje de máquina con la gestión de bases de datos. Estas técnicas incluyen el aprendizaje de reglas de asociación, análisis de cluster, la clasificación y regresión. Las aplicaciones incluyen la minería de datos del cliente para determinar los segmentos más propensos a responder a una oferta, la minería de datos de recursos humanos para identificar las características de la mayoría de los empleados con éxito, o el análisis de cesta de la compra para modelar el comportamiento de compra de los clientes.

Conjunto de aprendizaje. El uso de varios modelos de predicción (cada uno desarrollado con estadísticas y / o aprendizaje de máquina) para obtener un mejor rendimiento de predicción. Este es un tipo de aprendizaje supervisado.

Los algoritmos genéticos. Una técnica utilizada para la optimización que se inspira en el proceso de evolución natural o “supervivencia del más apto”. En esta técnica, las posibles soluciones se codifican como “cromosomas” que se pueden combinar y mutar. Estos cromosomas individuales se seleccionan para la supervivencia en un modelo “medio ambiente” que determina la idoneidad o el rendimiento de cada individuo de la población. A menudo descrito como una especie de “algoritmo evolutivo”, estos algoritmos son muy adecuados para la solución de problemas no lineales. Ejemplos de aplicaciones incluyen mejorar la planificación de tareas en la fabricación y optimizar el rendimiento de una cartera de inversiones.

De aprendizaje automático. Una sub-especialidad de la informática (dentro de un campo históricamente llamada “inteligencia artificial”) relacionados con el diseño y desarrollo de algoritmos que permiten a los ordenadores evolucionan los comportamientos basados en datos empíricos. Un aspecto importante de la investigación de la máquina es aprender de forma automática a reconocer patrones complejos y tomar decisiones inteligentes sobre la base de datos. El procesamiento del lenguaje natural es un ejemplo de aprendizaje de máquinas.

Procesamiento del lenguaje natural (NLP). Un conjunto de técnicas de una subespecialidad de la informática (dentro de un campo históricamente llamada “inteligencia artificial”) y de la lingüística que utiliza algoritmos computacionales para analizar el lenguaje humano (natural). Muchas de las técnicas de PNL son los tipos de aprendizaje automático. Una de las aplicaciones dela PNLse utiliza el análisis de los sentimientos de los medios de comunicación social para determinar cómo los clientes potenciales están reaccionando a una campaña de marca.

Las redes neuronales. Los modelos computacionales, inspirados en la estructura y el funcionamiento de redes neuronales biológicas (es decir, las células y conexiones en el cerebro), para encontrar patrones en los datos. Las redes neuronales son muy adecuadas para la búsqueda de patrones no lineales. Pueden ser utilizados para el reconocimiento de patrones y su optimización. Ejemplos de aplicaciones incluyen la identificación de clientes de alto valor que están en riesgo de dejar una empresa en particular y la identificación de reclamos fraudulentos de seguros.

Análisis de redes. Un conjunto de técnicas utilizadas para caracterizar las relaciones entre los nodos discretos en un gráfico o una red. En el análisis de redes sociales, las conexiones entre los individuos en una comunidad u organización se analizan, por ejemplo, cómo viaja la información, o quién tiene más influencia sobre quién. Ejemplos de aplicaciones incluyen la identificación de líderes de opinión para orientar a la comercialización, y la identificación de cuellos de botella en los flujos de información de la empresa.

Optimización. Una cartera de técnicas numéricas utilizadas para rediseñar los sistemas y procesos complejos que mejoran su rendimiento de acuerdo a una o más medidas objetivas (por ejemplo, el costo, la velocidad o fiabilidad). Ejemplos de aplicaciones incluyen la mejora de los procesos operativos, como la programación, el enrutamiento y distribución en planta, y la toma de decisiones estratégicas, como la estrategia de la gama de productos, análisis de inversión vinculados, y de I + D estrategia de cartera. Los algoritmos genéticos son un ejemplo de optimización.

Reconocimiento de patrones. Un conjunto de técnicas de aprendizaje automático para asignar algún tipo de valor de la producción (o etiqueta) a un valor de entrada dado (o instancia) de acuerdo a un algoritmo específico. Las técnicas de clasificación son un ejemplo.

Modelos de predicción. Un conjunto de técnicas en el que se crea un modelo matemático para predecir mejor las probabilidades de un resultado. La regresión es un ejemplo de las técnicas de modelado predictivo.

Regresión. Un conjunto de técnicas estadísticas para determinar cómo el valor de la variable dependiente cuando una o más variables independientes se ha modificado. A menudo se utiliza para el pronóstico o la predicción. Ejemplos de aplicaciones incluyen el volumen de ventas de predicción basado en el mercado y otras variables económicas o la determinación de los parámetros de fabricación al medir la satisfacción del cliente. Se utiliza para Data mining.

Análisis del Sentimiento. Aplicación de procesamiento de lenguaje natural y otras técnicas analíticas para identificar y extraer la información subjetiva de material de origen del texto. Los aspectos clave de estos análisis incluyen la identificación de la función, aspecto o producto sobre el cual se expresa un sentimiento, y determinar el tipo, la “polaridad” (es decir, positivo, negativo o neutro) y el grado y la fuerza del sentimiento. Ejemplos de aplicaciones incluyen las empresas que solicitan el análisis de los sentimientos de los medios de comunicación social (por ejemplo, blogs, micro blogs y redes sociales) para determinar cómo los diferentes segmentos de clientes y partes interesadas están reaccionando a sus productos y acciones.

Procesamiento de señales. Un conjunto de técnicas de ingeniería eléctrica y matemática aplicada, originalmente desarrollado para analizar las señales continuas y discretas, es decir, las representaciones de las magnitudes físicas analógicas (incluso si están representados digitalmente), como señales de radio, sonidos e imágenes. Esta categoría incluye las técnicas de la teoría de detección de señales, que cuantifica la capacidad de discernir entre señal y ruido. Ejemplos de aplicación incluyen modelos para el análisis de series de tiempo o de fusión de datos para determinar la aplicación de una lectura más precisa mediante la combinación de los datos de un conjunto de fuentes menos datos precisos (es decir, la extracción de la señal del ruido).

El análisis espacial. Un conjunto de técnicas, algunas aplicadas a la estadística, que analizan las propiedades topológicas, geométricas, o geográficos codificados en un conjunto de datos. A menudo, los datos para el análisis espacial provienen de los sistemas de información geográfica (GIS) en que la captura de datos incluye información sobre la ubicación, por ejemplo, direcciones o latitud / longitud. Ejemplos de aplicaciones incluyen la incorporación de los datos espaciales en regresiones espaciales (por ejemplo, cómo es la disposición del consumidor a comprar un producto relacionada con la ubicación).

Estadísticas. La ciencia de la recopilación, organización e interpretación de datos, incluyendo el diseño de encuestas y experimentos. Las técnicas estadísticas se utilizan a menudo para hacer juicios sobre que las relaciones entre variables podría haber ocurrido por casualidad (la “hipótesis nula”), y que las relaciones entre las variables de resultado probable de algún tipo de relación causal subyacente (es decir, que son “estadísticamente significativos”) . Las técnicas estadísticas se utilizan también para reducir la probabilidad de errores de tipo I (“falsos positivos”) y errores de tipo II (“falsos negativos”). Un ejemplo de una aplicación es las pruebas A / B para determinar qué tipo de material de marketing que la mayoría de aumentar los ingresos.

Aprendizaje supervisado. El conjunto de técnicas de aprendizaje automático que infieren una función o relación de un conjunto de datos de entrenamiento. Los ejemplos incluyen la clasificación y el vector de apoyo machines.

Simulación. Modelar el comportamiento de sistemas complejos, a menudo utilizado para el pronóstico, la predicción y planificación de escenarios. Simulaciones de Monte Carlo, por ejemplo, son una clase de algoritmos que se basan en un muestreo repetido al azar, es decir, miles de simulaciones, cada una basada en supuestos diferentes. El resultado es un histograma que proporciona una distribución de probabilidad de los resultados. Una aplicación es la evaluación de la probabilidad de alcanzar las metas financieras dadas las incertidumbres sobre el éxito de varias iniciativas.

Análisis de series. Conjunto de técnicas estadísticas y de procesamiento de señales para el análisis de secuencias de puntos de datos, que representan los valores en tiempos sucesivos, para extraer las características significativas de los datos. Ejemplos de análisis de series de tiempo incluye el valor por hora de un índice bursátil o el número de pacientes diagnosticados con una enfermedad determinada todos los días.

Predicción de series es el uso de un modelo para predecir los valores futuros de una serie sobre la base de los valores anteriores o de otra índole. Algunas de estas técnicas, por ejemplo, el modelado estructural, estudio de la tendencia de una serie durante un tiempo, y los componentes residuales, que pueden ser útiles para la identificación de patrones cíclicos en los datos. Ejemplos de aplicaciones incluyen previsiones cifras de ventas, o la predicción del número de personas que serán diagnosticadas con una enfermedad infecciosa.

Aprendizaje no supervisado. Un conjunto de técnicas de aprendizaje automático que se encuentra escondida en la estructura de datos sin etiquetar. El análisis de conglomerados es un ejemplo de aprendizaje no supervisado.

Visualización. Las técnicas utilizadas para la creación de imágenes, diagramas o animaciones para comunicarse, entender y mejorar los resultados de los análisis de grandes volúmenes de datos.

BIG DATA en Ibermática

Aplicando sistemas híbridos de tratamiento avanzado de datos, con el objetivo de dar un apoyo a la decisión en tiempo real a los usuarios, de forma que se puedan abstraer del análisis de la información, para centrarse en el conocimiento implícito de los mismo, tanto en sus vertientes de comportamientos usuales, como anómalos, y que permita optimizar los esfuerzos en solucionar los problemas y mejorar los procesos detectados como “desviaciones”, y no en la búsqueda de las anomalías en un mar de datos,  Ibermática ha creado su plataforma GuiDes.

Big data” plantea básicamente tres retos sobre el flujo de datos:

  • Volumen: saber cómo gestionar e integrar grandes volúmenes de datos, procedentes de fuentes heterogéneas.
  • Velocidad: poder acceder a la plataforma desde cualquier lugar, de forma autónoma por cualquier usuario de negocio, para mejorar y agilizar la toma de decisiones mediante la automatización: programación de acciones, eventos y alarmas.
  • Variedad: conseguir unificar contenidos dispersos y no estructurados, con datos históricos, actuales y/o predictivos para un manejo óptimo de los mismos y para extraer de ellos información de valor.
Pero existe uno más, que es la extracción automática del conocimiento relevante dentro de dichos datos.

La plataforma GuiDeS,  posee unos claros objetivos que permite abordar los retos anteriores,  ofreciendo el rendimiento y la flexibilidad necesaria para identificar patrones, entregar el conocimiento, la visión adecuada y a tiempo, sobre los datos, a los responsables en la toma de decisión.

 

 

 

GuiDes permite:

  • Gestionar una gran variedad y volumen de datos en tiempo real: es decir, con rapidez y en su contexto
  • Procesar datos altamente estructurados, semi-estructurados o poco estructurados mediante soporte XML nativo
  • Ayuda a los técnicos en la instrumentación de reglas para el seguimiento y control de alertas en su negocio.
  • Permite la detección de anomalías en las pautas de comportamiento.
  • Genera un sistema de alertas sobre casos inciertos.
  • Permite un sistema de representación gráfica de zonas con probabilidad alta de incidencias sobre los objetivos buscados.
  • Es una plataforma de integración de información y seguimiento de la correcta resolución de las alertas generadas.
  • Contiene capacidad de aprendizaje automático ante las acciones correctivas.
  • Acceso desde terminales móviles a toda la gestión inteligente de apoyo a la decisión en tiempo real.

En resumen, permite de forma ágil y sencilla convertir los datos simples en información de valor para que los responsables puedan tomar decisiones cuando realmente importan. Los cuadros de mando son más dinámicos e interactivos, dando al usuario la posibilidad de encadenar, sobre la información tiempo real con la que están trabajando, acciones de resolución, correctivas, preventivas y de manera inmediata.

 Gestiona, por lo tanto, la integración de grandes volúmenes de datos, desorganizados y procedentes de fuentes heterogéneas, internas y externas, su análisis en tiempo real y la toma de decisión inmediata, para alcanzar la máxima eficiencia en el negocio en tiempo real.

En siguientes “posts”, iremos desgranando cada una de estas problemáticas, y sus soluciones….

Páginas:«123»