sábado, 11 de febrero de 2012
Un Modelo para separar la Señal del Ruido
miércoles, 21 de septiembre de 2011
La información como marco de referencia (Parte IV)
jueves, 15 de septiembre de 2011
La información como marco de referencia (Parte II)
miércoles, 14 de septiembre de 2011
La información como marco de referencia (Parte I)
sábado, 19 de marzo de 2011
La entropía como medida de la información - Parte II
Cualquier set de datos utilizado en Data Mining puede representarse en un espacio de estados, que no es más que un espacio ordinario pero con tantas dimensiones como variables disponibles. Por ejemplo, supongamos que los datos contienen solamente dos variables. Entonces, cada fila puede representarse como un punto en un espacio dado por las dos variables.
En el gráfico anterior el espacio de estados es de dos dimensiones y se ha representado un sólo estado por medio de un punto dado por las coordenadas 5030 y 130.
La representación de todo el set de datos podría ser algo similar al siguiente gráfico
Luego de esta pequeña introducción al espacio de estados, podemos analizar cómo serían las tablas T1 y T2.
En el caso de T1, en donde supuestamente no existe ninguna relación entre las variables, los estados llenarán todo el espacio disponible, por lo tanto podría ser algo similar al siguiente gráfico
Ahora podemos responder las preguntas:
¿Qué tabla está más ordenada? T1 tiene desparramado los puntos por todo su espacio, mientras que t2 los tiene confinados en un volumen más pequeño, por lo tanto estarán más ordenados en T2 que en T1. O sea, la relación entre variables genera un orden interno.
Cuánto mayor orden, menor entropía, por lo tanto T1 tendrá mayor entropía que T2
La entropía máxima es la que tiene sus estados dispersos por todo el volumen, o sea cuando las variables no tienen relación entre sí.
En el caso extremo, tendremos una relación perfecta entre las variables y los estados estarán confinados en un volumen muy pequeño. Podemos imaginar el gráfico de la tabla T2 en donde los puntos caen en una línea recta.
La última pregunta es acerca de la información que llevan estas variables. Asumiendo que cada variable lleve algo de información sobre una cuarta variable, ¿qué es preferible? ¿Mayor o menor entropía de las variables independientes?
Acabamos de ver que una menor entropía implica que existe cierta relación entre las variables. Esto significa que parte de la información que trae cada variable es compartida por el resto de las variables (o al menos por una de ellas).
En cambio, si las variables tienen mayor entropía, no existirá relación entre ellas. Por lo tanto toda la información que aporte cada una de las variables será usada plenamente para predecir la cuarta variable.
Los dos últimos párrafos sugieren que un buen data set debería contener variables que estén relacionadas con la variable a predecir, pero no entre sí. De esto se deduce que la entropía de las variables independientes debería ser la mayor posible.
viernes, 25 de febrero de 2011
La entropía como medida de la información
En este artículo mostraré cómo la entropía también es útil cuando medimos la información de un conjunto de variables.
Supongamos que tenemos dos tablas con 3 variables numéricas con similar distribución cada una (podemos asumir una distribución uniforme o normal).
Supongamos que la primer tabla, que llamaré T1, tiene las variables sin ningún tipo de relación entre ellas, mientras que la tabla T2 contiene algún tipo de relación entre las variables.
Voy a dejar algunas preguntas para que las responda el que lo desee y en breve publicaré las respuestas.
¿Qué tabla contiene más “orden”? ¿La T1 o la T2?
¿Cuál de las dos tablas tendrán una entropía mayor? ¿por qué?
¿Cómo debería ser el tipo de relación para que la entropía sea mínima o máxima?
Asumiendo que cada una de las tres variables lleva algo de información sobre una cuarta variable, ¿qué tabla es preferible para armar un modelo de predicción?
Quedo a la espera de respuestas y/o comentarios.
Gracias
jueves, 2 de octubre de 2008
Correlación e Información Mutua
Las cuatro relaciones con distintas entre si, pero sus correlaciones son las mismas. Esto nos enseña la importancia de usar gráficos de dispersión para visualizar la relación entre dos variables, más que confiar en su correlación.
¿Pero qué sucede si analizamos estas relaciones usando medidas de información?
La primera diferencia que encontramos es que las entropías de las variables Y son distintas, excepto las dos últimas. La diferencia más importante es que la información transmitida entre cada par de valores es diferente en los 4 casos, como puede verse en la siguiente tabla
En los tres primeros casos, la información transmitida nos indica que es posible realizar un buen modelo, mientras que en el último caso, un valor de sólo 18% nos dice que ningún modelo será capaz de hacer un buen trabajo para representar esta relación (lo cual es obvio mirando el gráfico de dispersión).
La información transmitida no asume ningún tipo de relación, como lo hace el coeficiente de correlación. Esta es una gran ventaja, porque muchos data sets contienen relaciones no-lineales que son descartadas al utilizar correlaciones lineales.
En casos que involucran sólo dos variables, una manera de confirmar si la relación es lineal es usar los gráficos de dispersión, pero cuando aparecen más variables independientes, graficar la relación no sirve. Una solución es utilizar medidas de información mutua como la información transmitida.
viernes, 9 de noviembre de 2007
Información, incertidumbre y sorpresa
Definir información en un sentido amplio puede llegar a ser una tarea muy complicada, así que sólo me referiré al concepto de información desde el punto de vista de la Teoría de la Información.
La información está relacionada con el grado de incertidumbre acerca de un mensaje que recibiremos. A mayor incertidumbre, mayor información contendrá la fuente de mensajes. El lanzamiento de una moneda contiene dos posibles mensajes, cara y cruz. En cambio el lanzamiento de un dado tiene 6 posibles resultados, con lo que existirán 6 posibles mensajes para indicar el resultado. El lanzamiento de un dado contiene mayor información que el de una moneda.
El grado de incertidumbre, o lo que es lo mismo, la información, se mide por medio de la entropía y su unidad es el bit. Una fuente con dos posibles mensajes tiene 1 bit de información. Si la cantidad de mensajes se duplica, la cantidad de bits se duplica. O sea una fuente con 4 mensajes posibles tendrá 2 bits. En general y siempre suponiendo que todos los mensajes tienen igual probabilidad de aparecer, la cantidad de bits viene dada por:
Cantidad de información en bits = log2(número de posibles mensajes)
Así la cantidad de información que contiene el lanzamiento de un dado está dada por H, la entropía de una fuente de información con 6 mensajes posibles:
H = log2(6) = 2.58 bits
Un mensaje contiene información porque reduce la incertidumbre. Antes de tirar el dado existe una incertidumbre de 2.58 bits. Una vez recibido el mensaje (el mensaje es el número que salió), la incertidumbre se reduce a 0 bits, así que el mensaje contiene 2.58 bits de información.
Cuando la probabilidad de recibir cada mensaje no es la misma para todos, el cálculo de la cantidad de información que contiene una fuente debe tener en cuenta la probabilidad de cada mensaje.
Supongamos que la fuente de información está compuesta por dos dados y los mensajes que envía es la suma de los mismos. Existen 11 posibles mensajes dados por la suma 1+1, 1+2, ..., 6+6
El mensaje más frecuente es la suma 7 y los menos frecuentes son la suma 2 y 12. La entropía total del sistema es 3.27 bits.
La columna log2(1/p) contiene la cantidad de información que lleva cada mensaje. Vemos que los mensajes menos frecuentes son los que mayor cantidad de información llevan. Sacar un 1 en cada dado lleva 5.17 bits de información, así como también sacar dos 6. Por otro lado, un mensaje cuya suma sea 7 lleva 2.58 bits de información.
Dicho de otro modo, a mayor sorpresa, mayor información llevará el mensaje.
Resumiendo, la información está relacionada con el grado de incertidumbre que tenga una fuente de información. Además, cada mensaje que envíe esta fuente llevará una cantidad de información relacionada con el grado de sorpresa que cause. A mayor sorpresa, mayor información.
jueves, 11 de octubre de 2007
La información en los datos
La tesis muestra cómo con una NN se logra un modelo con aproximadamente un 83% de aciertos en la clasificación.
Quise ver si Powerhouse era capaz de lograr resultados similares, y en este artículo contaré paso por paso lo que fui logrando y las sorpresas que tuve.
Comencé como siempre lo hago, realizando un modelo default. Para ser más preciso, usé solamente las variables seleccionadas y luego el modelo OPFIT (una especie de regresión logística aplicada a los datos preparados por Powerhouse).
La siguiente pantalla de Powerhouse muestra la información que había disponible para resolver el problema

Para mantener las cosas simples, solo usaré 2 columnas de esta pantalla en todos los análisis de este artículo, la que muestra las variables seleccionadas y la que muestra la ganancia de información.
Powerhouse seleccionó solamente 3 variables x7, x11 y x15. Estas tres variables llevan más del 60% de la información necesaria para clasificar correctamente la forma de onda.
Esto significa que el modelo construído con estas tres variables sería bastante bueno, pero seguramente no tan bueno como el de las redes neuronales.
El modelo OPFIT basado en estas tres variables confirmó mi sospecha de que no lograría demasiado. Sólo se logra un 59% de aciertos en el Training Set (datos usados para construir el modelo) y un 56% en el Test Set (datos nunca vistos. Hay que considerar que en Powerhouse, a diferencia de una NN, el Test Set realmente no se usa para nada).
La matriz de confusión da un poco más de detalles sobre los resultados
Ya que el modelo OPFIT no lograba discriminar la clase "0", probé con otro modelo de Powerhouse llamado MAXIT.
Este modelo, al igual que el OPFIT, se basa en el mapa de información creado por Powerhouse. La diferencia es que mientras que OPFIT mapea la información usando una simple función de transferencia lineal, MAXIT lo hace mediante un conjunto de reglas. En general, OPFIT funciona bien con la mayoría de los problemas que aparecen en áreas de negocios, ya que las no linealidades encontradas en los datos son resueltas en la transformación de datos que se realiza cuando se construye el mapa de información, pero hay veces en que, si bien existe información, OPFIT no puede acceder a ella mientras que MAXIT si lo hace.
Los resultados del modelo MAXIT con estas mismas tres variables mejoraron respecto del OPFIT
Así que el siguiente paso fue construir los modelos con todas las variables disponibles. Pero en Powerhouse no es posible construir un modelo sin antes haber seleccionado las variables, así que primero se debe hacer una selección aclarando que se desean todas las variales disponibles. O sea, se espera lograr una lista de variables ordenadas según la información que aportan. Y acá fue donde apareció la sorpresa, no hacen falta todas las variables ya que ¡11 de ellas contienen el 100% de la información necesaria para predecir la clase!
En la columna de la ganancia de información se puede ver que las últimas 3 variables aportan menos que el 1% de información. Es más, también se puede comprobar que el algoritmo de selección de variables es muy robusto respecto del ruido, ya que variables que sólo aportan ruido (x21 hasta x41, según se aclara en el sitio donde se obtuvieron los datos) aparecen al final de una selección forzada a elegir todas las variables. Powerhouse no continúa seleccionando variables porque ya no es necesario. Estas 11 variables contienen toda la información necesaria.
El modelo MAXIT sobre estas 11 variables no mejoró demasiado, 72% para el TR y 67% para el TS. Así que me pregunté por qué MAXIT no estaba capturando toda la información disponible si una red neuronal lo hacía. Entonces recordé que la red (al menos la que yo construí usando un producto comercial llamado NeuralWare) contiene 3 nodos de salida, uno para cada clase. Así que intenté un método que muchas veces mejoró mis resultados: construir tres modelos distintos, uno para cada clase, en vez de pretender que un solo modelo prediga las tres clases.
Lo único que tuve que hacer es agregar tres variables a la tabla de datos. La primera contenía un 1 cada vez que la clase a predecir era "0" y un 0 cada vez que la clase era "1" ó "2". La segunda contenía un 1 cada vez que la clase era "1" y un 0 si era "0" ó "2". La tercera, un 1 si la clase era "2" y un 0 si era "0" ó "1". Así que primero construí un modelo (ahora usé el OPFIT) para predecir la primera variable agregada, o sea para predecir si la clase es "0". Luego hice los otros dos modelos (también OPFIT) , uno para predecir si la clase es "1" y otro para "2".
Luego los apliqué a los datos y consideré que la clase sería aquella en que el modelo OPFIT diera el score más alto (el modelo OPFIT no solo predice categorías y valores continuos, sino que en cada predicción muestra un score). Por ejemplo, si los scores eran 0.89, 0.95 y 0.32 para las clases "0", "1" y "2" respectivamente, la predicción sería la clase "1" por tener el score más alto.
¿El resultado? ¡Un 86% de aciertos en el Training set y un 83% en el Test set!
En este ejercicio podemos ver dos cosas importantes:
- Muchas veces unas pocas variables contienen toda la información necesaria para resolver el modelo. Agregar más variables complejiza el modelo innecesariamente.
- Una manera de mejorar los resultados es construir varios modelos y luego unirlos para obtener el resultado buscado.
miércoles, 10 de octubre de 2007
Powerhouse, una manera diferente de hacer Data Mining
Cuando se intenta realizar un modelo de predicción, generalmente se asume que los datos contienen la información suficiente para lograr un buen modelo.
Powerhouse no supone que existe información, la mide.
Claude Shannon detalló en su Teoría de la Información cómo es posible medir la información en bits usando un concepto llamado entropía.
Powerhouse sienta sus bases en la Teoría de la Información y logra mejorar la práctica de hacer Data Mining mediante las siguientes ventajas que le otorga este enfoque:
- Los datos son preparados automáticamente a fin de exponer al máximo la información que puedan contener
- La selección de variables es un proceso directo, rápido y que garantiza un grupo óptimo de variables con información libre de ruido
- Crea modelos de predicción simples de entender y con rendimientos similares a las redes neuronales
- Descubre modelos de segmentación que exponen clusters naturales en los datos















