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, 21 de septiembre de 2011

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

En el artículo anterior analizamos un modelo de scoring desde una perspectiva infométrica. El modelo canaliza y codifica la información de entrada en una forma que define los mensajes o estados de la salida. Parte de la información de entrada se pierde por equivocación y parte se transmite como ruido. Pero ¿cómo seleccionamos las variables que transmitan la mayor información con el menor ruido posible?

Esta es otra de las ventajas que nos ofrece la capacidad de medir información. Antes de analizar un algoritmo para seleccionar variables me gustaría hacer un comentario respecto de la información. Cuando decimos que una variable transmite información acerca de otra variable, haciendo que se reduzca su incertidumbre, estamos asumiendo implícitamente que existe una relación entre ambas variables. Lo que no estamos asumiendo, y esto es muy importante, es el tipo de relación.

Dicho de otro modo, la relación entre variables puede ser lineal o no. La información mutua entre variables no asume un tipo particular de relación, por lo tanto puede aplicarse a datos cuyas variables se relacionen en forma no lineal. Para más detalles sobre este tema se puede consultar el siguiente artículo: http://powerhousedm.blogspot.com/2008/10/correlacin-e-informacin-mutua.html

Ahora estamos en condiciones de describir el algoritmo de selección de variables. Supongamos que contamos con unas 100 variables que podrían servir para predecir otra variable:

Paso 1: recorremos las 100 variables en busca de aquella que transmita la mayor información posible acerca de la variable a predecir. Esta será la primera variable seleccionada.

Paso 2: recorremos las variables restantes y calculamos la información transmitida por las variables seleccionadas anteriormente más la que estamos evaluando.  El grupo de variables con mayor cantidad de información define la variable a seleccionar.

Paso 3: continuamos con el paso 2 hasta que la información ganada por la nueva variable seleccionada no justifique la pérdida de representatividad.

Este último paso merece una mayor explicación. A medida que se agregan variables, la  información transmitida aumenta pero se necesita una mayor cantidad de casos para cubrir todas las posibilidades. Cuando la cantidad de casos es fija, agregar variables simplemente reduce las posibilidades de que los datos representen la población. Es esta la razón por la cual los modelos que resultan confiables, suelen estar basados en unas pocas variables. Para más detalles se puede consultar el artículo http://powerhousedm.blogspot.com/2007/11/cuntos-datos-necesito-para-obtener-un.html

El algoritmo descripto aquí trabaja muy bien en la práctica ya que tiene las siguientes características:

1.        Aumenta las probabilidades de seleccionar una variable que interactúe con una o más variables seleccionadas previamente. Esto se debe a que dos o más variables que interactúan  agregan más información que tomadas por separado.

2.       Minimiza la posibilidad de seleccionar variables colineales. Esto se debe a que si dos variables están fuertemente relacionadas, una vez que se seleccionó una de ellas, la otra aportará muy poca información nueva.

3.       La cantidad de variables seleccionadas depende exclusivamente de los datos (cantidad y calidad) y se calcula automáticamente en cada ciclo.

Aquellos que deseen probar el algoritmo pueden descargar Powerhouse y seguir paso a paso los tutoriales: http://www.dataxplore.com.ar/descargas.php


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.