En este blog se exploran las posibilidades de analizar datos y crear modelos basados en la Teoría de la Información usando Powerhouse

miércoles, 7 de septiembre de 2011

Powerhouse para descargar

A partir de esta semana se encuentra una licencia de demostración de Powerhouse para bajar libremente en http://www.dataxplore.com.ar/descargas.php

Una vez completados los datos, se recibirá un mail con un link para acceder al instalador. También están disponibles 3 tutoriales y los datos para seguir paso a paso el desarrollo de tres modelos, predicción, scoring y clustering.

sábado, 19 de marzo de 2011

La entropía como medida de la información - Parte II

En este artículo contestaré las preguntas planteadas en el anterior.


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


Si en vez de tener dos variables tuviéramos 3, el gráfico sería en 3 dimensiones, por ejemplo:
Para más de 3 variables es imposible dibujarlo, pero la idea es la misma. Cada fila representa un estado por medio de la combinación de los valores de todas sus variables.

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


En cambio, en el caso de la tabla T2, que se supone que existe algún tipo de relación entre las variables, los estados ya no se dispersan como en el caso de T1 sino que están obligados a mantenerse dentro de alguna forma específica.
El proceso que origina estos datos es el responsable de darle la forma a la nube de puntos.

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 el artículo anterior mostré cómo es posible medir la información que un grupo de variables lleva sobre otra y en el artículo sobre Información, incertidumbre y sorpresa expliqué cómo medir la información de una variable.


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

miércoles, 12 de mayo de 2010

¿Cómo medir la información que lleva un grupo de variables?


Varias veces me preguntaron cómo es posible aplicar la Teoría de la Información de Shannon cuando existe más de una variable en juego. La respuesta es muy simple si hacemos una distinción entre variables y estados.

Para medir la información que genera una fuente Shannon propone utilizar la entropía definida como:

en donde pi representa la probabilidad de ocurrencia del estado i. La entropía se mide en bits.

Por ejemplo, si una fuente de información es capaz de generar 3 estados distintos con probabilidades 0.3, 0.5 y 0.2, entonces la entropía será:

H = 1.486 bits

El ejemplo anterior podría referirse a una variable que contenga 3 valores distintos, cuya distribución sea 0.3, 0.5 y 0.2. En este caso diríamos que esta variable contiene 1.486 bits de información.

La duda aparece cuando consideramos más de una variable. ¿Cómo podemos aplicar la misma ecuación?

La clave está en considerar los estados a los que se refiere el cálculo de la entropía no como valores de una variable, sino como puntos en un espacio n-dimensional. Cada variable representa una dimensión del espacio.

Cuando queremos analizar una tabla con datos que representan distintos casos (cada fila es un caso y cada columna es una variable que toma diferentes valores según los atributos del caso), podemos representarlos mediante un espacio cuya dimensión está dada por la cantidad de variables. Cada caso es un punto en el espacio. Casos similares estarán situados en una región próxima del espacio. Si los casos se refieren a clientes y las variables representan comportamientos, entonces el espacio representará los distintos comportamientos de los clientes mediante los puntos, o estados.

La información que contiene este espacio dependerá de cómo se sitúan estos puntos y puede medirse mediante la entropía, utilizando cada punto como un estado.

martes, 21 de abril de 2009

Selección de variables

Seleccionar las mejores variables puede llegar a ser uno de los principales problemas en un proyecto de Data Mining.

Una opción es elegir aquellas variables que desde el punto de vista del negocio parecen importantes. Claro que para esto se debe conocer muy bien el negocio y se puede correr el riesgo de elegir variables altamente correlacionadas. Además es muy posible que el grupo de variables seleccionadas diste mucho de ser el óptimo (por ejemplo, podrían quedar afuera ciertas variables que aportan buena información).

Otra alternativa es la fuerza bruta, pero sólo en casos con muy pocas variables disponibles. Cuando la cantidad de variables comienza a ser importante, este enfoque queda descartado debido a la enorme cantidad de pruebas que hay que realizar. Por ejemplo, suponiendo que hay 20 variables disponibles y se deben elegir 6, la cantidad de combinaciones posibles es mayor a 38.000. Si en vez de 20 tenemos 100, las diferentes combinaciones superan los 1.000 millones.

Un método que ha demostrado ser muy eficiente es el que se basa en la Teoría de la Información. Sin entrar en demasiados detalles, los pasos a seguir son los siguientes:
  1. Seleccionar del total de las variables, aquella que transmite mayor cantidad de información.
  2. Seleccionar del resto de variables disponibles, aquella que transmita la mayor cantidad de información nueva
  3. Continuar en el paso 2 hasta que la ganancia de información ya no justifique la pérdida de representatividad de población (ver artículo ¿Cuántos datos necesito para obtener un buen modelo?)

Este procedimiento toma muy poco tiempo y crea un conjunto de variables que cumple con las siguientes características:

  1. Contiene la mayor cantidad de información dado los datos disponibles
  2. Contiene la mejor relación señal/ruido
  3. Las variables seleccionadas no son colineales
  4. Tiene en cuenta las interacciones entre variables
  5. Usualmente aparecen seleccionadas variables que son consideradas como muy importantes desde el punto de vista del negocio

Aquellos interesados en conocer más acerca de la Teoría de la Información pueden leer el artículo Powerhouse: Data Mining usando Teoría de la Información

jueves, 2 de octubre de 2008

Correlación e Información Mutua

El coeficiente de correlación entre dos variables está basado en la covarianza (y normalizado mediante las varianzas de cada variable) y asume, entre otras cosas, que la relación entre las variables es lineal. Esto significa que el coeficiente de correlación (o de determinación r2) no es suficiente para saber si dos variables están correlacionadas. El siguiente es un ejemplo tomado del libro “The Visual Display of Quantitative Information” de Edward Tufte y basado en 4 pares de variables ideadas por Francis Anscombe.

Las 4 variables Y tienen la misma media y desviación estándar. Además el coeficiente de correlación entre X e Y es el mismo en los 4 casos (0.816) y comparten la misma recta de regresión y = 0.5 x + 3

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, 25 de abril de 2008

Ya no es necesario torturar los datos

Existe un concepto muy arraigado y que se basa en las viejas tecnologías de análisis de datos: para obtener un buen modelo hay que hacer una enorme cantidad de pruebas.

¿Cuál es la mejor transformación para cada variable? ¿Cuál es el mejor valor para reemplazar los nulos? ¿Cuáles son las variables más adecuadas para realizar el modelo? ¿Cuántas variables se deben incluir? ¿Qué tipo de modelo es el mejor? Éstas son algunas de las tantas preguntas que se deben contestar para crear un modelo, con lo que no es de extrañar que muchos piensen que no sólo tienen que hacer muchos intentos sino que además deben saber de estadística y necesitan tener mucha experiencia.

Afortunadamente la teoría de la información responde a cada una de estas preguntas. La clave está en medir la información que contiene cada variable disponible. Hay sólo una transformación de la variable que maximiza la información y reduce el ruido. Existe sólo un grupo de variables que lleva la mayor información posible con el menor ruido posible.

Una vez realizada la mejor transformación y elegidas las mejores variables, toda la información disponible está expuesta de tal manera que con una simple regresión se obtiene un modelo excelente y muy fácil de interpretar.

En resumen, con la teoría de la información ya no es necesario ensayar diferentes transformaciones de variables, distintas combinaciones de variables y algoritmos para ver cuál es el que mejores resultados genera.

Hay un solo camino para hacer las cosas: el óptimo.

¿Utopía? No, realidad.

Powerhouse es la prueba.