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

viernes, 16 de septiembre de 2011

La información como marco de referencia (Parte III)

Las variables independientes contienen información. En el ejemplo que estamos analizando llevan en conjunto, 12.16 bits de información (no es necesario conocer cómo calcular este valor pero para aquellos que les interese pueden consultar http://powerhousedm.blogspot.com/2011/09/la-informacion-como-marco-de-referencia.html)
Pero no toda esta información es útil para predecir la variable deseada. De hecho vimos en el artículo anterior que la información útil, la que se transmite, es 0.24 bits.  Entonces, ¿qué sucede con los 11.92 bits restantes? (12.16-0.24=11.92) ¿Dónde fue a parar esta información?
La respuesta tiene que ver con los diferentes patrones de comportamiento que se asocian a un mismo estado o mensaje de salida. Dicho de otro modo, hay varias maneras de decir lo mismo. Esto se denomina técnicamente Equivocación.
Un esquema general de lo visto hasta el momento aclarará este tema
El modelo recibe a través de las variables independientes,  12.16 bits de información.  Parte de esta información se considera Equivocación y parte se Transmite. Ya que se transmiten 0.24 bits, el resto 11.92 bits  se considera Equivocación y nos indica que existen muchos patrones distintos que se asocian con un mismo mensaje de salida.
Siempre se cumple la siguiente ecuación:

Información de Entrada = Información Transmitida + Equivocación

En el ejemplo

12.16 bits = 0.24 bits + 11.92 bits

La información que se necesitaría para predecir sin errores si un cliente se fugará o no, es de 0.39 bits (en los ejemplos anteriores tomamos 0.40). Al canal de transmisión ingresan 0.24 bits provenientes de la entrada más 0.15 bits de Ruido. 

Siempre se cumple la siguiente ecuación:
Información Requerida = Información Transmitida + Ruido
En el ejemplo

0.39 bits = 0.24 bits + 0.15 bits

Para lograr un buen modelo es necesario que las variables seleccionadas contengan la mayor información útil y el menor ruido posible. En el ejemplo, las variables independientes, también llamadas variables de entrada, transmiten 0.24 bits o 61% de la información necesaria para predecir la variable de salida (¿se fuga o no?).  La incertidumbre restante, 0.15 bits o 39% es lo que denominamos Ruido.

En el siguiente artículo veremos que este nuevo enfoque nos permite diseñar un método para seleccionar las variables con mayor información y menor ruido posible.

jueves, 15 de septiembre de 2011

La información como marco de referencia (Parte II)

En el artículo anterior (http://powerhousedm.blogspot.com/2011/09/la-informacion-como-marco-de-referencia.html) vimos que las variables independientes de un modelo transmiten información que ayuda a reducir la incertidumbre de la variable a predecir.

En el ejemplo anterior, la incertidumbre de lo que hará el cliente es de 0.40 bits pero conociendo su comportamiento (a través de las variables independientes) la reducimos a 0.16 bits. O sea, gracias al modelo tenemos más certeza de lo que hará el cliente. Pero no podemos estar 100% seguros. Todavía hay 0.16 bits de incertidumbre.
¿Por qué no es posible reducir a 0 bits? El culpable es el ruido. Supongamos que identificamos un patrón de comportamiento que se repite 100 veces en los datos. Este patrón no es otra cosa que una determinada combinación de valores de las variables independientes.

Si este patrón siempre estuviera asociado al mismo resultado final (se Fuga SI o No), entonces el ruido sería 0. Pero generalmente esto no sucede. De las veces que aparece el mismo patrón, algunas veces está asociado con Fuga=Si y otras con Fuga=No. Cuanto más similar sea esta distribución con la distribución de la variable a predecir, más ruido contendrán los datos, al menos en este patrón.
El modelo no podrá hacer mucho si los datos contienen demasiado ruido.  Es más, estos 0.16 bits establecen un límite teórico a lo que cualquier herramienta de modelado podrá obtener de estos datos. En este ejemplo los datos contienen un 40% de ruido (0.16/0.40).

En el siguiente artículo analizaremos la información desde el punto de vista de las variables independientes

miércoles, 14 de septiembre de 2011

La información como marco de referencia (Parte I)

La compañía ACME tiene un serio problema: cada mes pierde alrededor de un 8% de sus clientes. Si bien es cierto que también adquiere nuevos clientes, el resultado neto es una pérdida del 3%. A este paso en 9 meses habrá perdido un 25% de sus clientes.

Para mejorar la situación, decide identificar los clientes con altas probabilidades de fuga y tratar de retenerlos.
Veamos cómo se ve esta situación desde el punto de vista de la información


La compañía tiene sus Clientes que se comportan de determinada manera. Este patrón de comportamiento es representado como Mensajes que serán codificados por el Modelo para transmitir uno de dos mensajes: el cliente se va o se queda.
Los mensajes de entrada están formados por las variables que capturan el comportamiento de los clientes. El modelo fue armado para identificar patrones y asociarlos con una de dos respuestas posibles.

Antes de armar el modelo, existe una incertidumbre acerca de si los clientes permanecerán o se irán a la competencia, que puede expresarse en bits. En este ejemplo la incertidumbre es aproximadamente 0.40 bits (los detalles de cómo se mide esta información no son necesarios para el propósito de este artículo, pero pueden consultarse en http://powerhousedm.blogspot.com/2010/05/como-medir-la-informacion-que-lleva-un.html)
Las variables que capturan su comportamiento envían información a través del modelo, con el propósito de reducir la incertidumbre. En este ejemplo, las variables aportan 0.24 bits de información. Entonces gracias al modelo la incertidumbre sobre lo que hará el cliente (permanece o se va), se reduce de 0.40 bits a 0.16 bits (0.40 – 0.24). Si en vez de valores absolutos queremos expresar la reducción de incertidumbre en valores relativos, diríamos que el conjunto de variables con los que se desarrolló el modelo aportan el 60% (0.24 bits) de la información necesaria para predecir si el cliente se fugará o no con un 100% de exactitud (0.40 bits).

También podríamos decir que la incertidumbre de la variable a predecir se reduce a un 40%, una vez que se conocen las variables independientes.
En el siguiente artículo veremos cómo se interpretan estos 0.16 bits de incertidumbre restante.

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.