Data Mining basado en la Teoría de la Información Marcelo R. Ferreyra – [email protected] La palabra información parece ir de la mano con las últimas tecnologías. Sociedad de Información, Tecnología de la Información, Redes de Información. Se dice que una base de datos contiene Información y que con los algoritmos apropiados es posible obtenerla. Hay un viejo adagio que dice: “Si no puedes medirlo, no puedes manejarlo”. ¿Es posible medir la información? Si, es posible. En 1948, Claude Shannon publicó su tesis que justamente trataba acerca de cómo medir la información. Si bien su intención era aplicar esta nueva idea en las comunicaciones eléctricas, su trabajo sentó las bases para la era digital que vendría. Desde el punto de vista de la Teoría de la Información de Shannon, un sistema de comunicación puede ser representado de la siguiente manera: Mensaje Mensaje Señal recibida Señal Fuente de Información Transmisor Receptor Destino Fuente de ruido Fig1, The Mathematical Theory of Communication, Shannon & Weaver, Pg. 7 La fuente de información contiene un conjunto de mensajes que pueden seleccionarse para ser enviados por medio de un transmisor. El transmisor convierte el mensaje en una señal que será enviada por un canal de comunicación hasta llegar al receptor, que se encargará de convertirla nuevamente en un mensaje que recibirá el destinatario. Un ejemplo aclarará las cosas. Cuando una persona comunica algo a otra, la fuente de información es su cerebro, el transmisor son sus cuerdas vocales que generan la señal auditiva que será transmitida por medio del aire (canal de comunicación) hasta llegar a los oídos (receptor) de la otra persona y convertida nuevamente por medio de su cerebro en el mensaje original. El ambiente podría introducir cierto ruido que haría dificultoso al receptor identificar correctamente el mensaje. Data Mining basado en Teoría de la Información 1 Agosto 2007 Usando este sistema ideal de comunicación podemos investigar un poco más profundamente acerca de lo que significa información. La cantidad de información que contiene una fuente de información está relacionada con el grado de libertad que uno tiene para seleccionar los mensajes. Por ejemplo, supongamos un caso muy simple en el que la fuente de información contiene sólo dos mensajes, los cuales tienen la misma chance de ser seleccionados. Para medir la cantidad de información se usa un concepto llamado Entropía. La entropía es una medida usada en termodinámica para medir el grado de desorden de un sistema. En Teoría de la Información, la entropía es usada para medir el grado de libertad de elección de un mensaje. Así cuanto mayor es la entropía, mayor será la incertidumbre de un sistema y mayor también la información que contiene. Al principio esto parece un poco confuso, ya que se asocia la cantidad de información con el grado de incertidumbre, pero un ejemplo ayudará a clarificar los conceptos. Si una fuente contiene un único mensaje, no habrá lugar para elegir y entonces se dice que la información que aporta esta fuente es nula. Por ejemplo, si una urna contiene solamente bolillas blancas, no existirá libertad de elegir el color de una bolilla, ya que todas serán blancas. La incertidumbre de los mensajes (el color de las bolillas) es nula, por lo tanto la información es nula. En cambio, si la urna contiene bolillas blancas y negras, entonces es posible seleccionar entre dos opciones y la incertidumbre, así como la información ya no serán nulas. O sea, desde el punto de vista de la Teoría de la Información, la información está relacionada con la cantidad de mensajes disponibles. En principio podríamos decir que a mayor cantidad de mensajes disponibles, mayor información (aunque esto no es rigurosamente cierto, como veremos más adelante). Si sólo existe un mensaje, la información será nula. La entropía, que se usa para medir la información, se mide en bits y para calcularla se utilizan logaritmos en base 2. Por ejemplo, el lanzamiento de una moneda implica dos posibilidades, entonces la cantidad de bits necesarios es: H = log2(número de posibles mensajes) = log2(2) = 1 Un bit es la cantidad de información necesaria para representar dos posibles resultados. En el caso de la moneda, es cara o cruz. Si fuesen 4 posibles resultados, el doble del caso anterior, sería lógico que la cantidad de información se duplicase H = log2(4) = 2 Como podemos ver, para 4 posibilidades se necesitan 2 bits, el doble del caso anterior. Usar logaritmos en base 2 duplica la cantidad de información, tal como esperábamos. Hasta ahora consideramos que cada alternativa tiene las mismas posibilidades de ser elegida. O sea, si una fuente de información tuviera dos mensajes para ser seleccionados con la misma probabilidad, esa fuente contendría 1 bit de información. ¿Pero cómo Data Mining basado en Teoría de la Información 2 Agosto 2007 calcularíamos la entropía si los mensajes tuvieran diferentes chances de ser elegidos? La Teoría de la Información nos da la respuesta: H = - (p1 * log2(p1) + p2 * log2(p2)) Esta manera de calcular la cantidad de entropía no hace otra cosa que ponderar los logaritmos de acuerdo a las probabilidades de elegir cada mensaje (el signo menos es simplemente para evitar que la entropía sea negativa, ya que el logaritmo de un número menor que 1 es negativo). De una manera más general podríamos escribir el cálculo de la entropía de la siguiente manera: H = − ∑ pi ∗ log 2 ( pi ) i Cuando cada mensaje tiene las mismas probabilidades de ser elegido, la entropía es máxima. Si las probabilidades son diferentes para cada mensaje, entonces la entropía será menor. Por ejemplo, si la fuente contiene dos mensajes y en el caso extremo uno de los mensajes tiene chance 0 de ser elegido, la entropía será nula, ya que solo existirá posibilidad de elegir un solo mensaje (el de probabilidad 1). El siguiente gráfico nos muestra cómo varía la entropía en función de las probabilidades para el caso de 2 mensajes. Las probabilidades serán p y 1-p. Vemos que para el caso de probabilidad 0.5 para cada mensaje, la entropía es máxima, o sea 1 bit. Ruido y Equivocación Hasta ahora hemos hablado de la información de una fuente, medida por la entropía. A mayor libertad de elección de mensajes, mayor entropía y por ende, mayor información. Ahora supondremos un sistema completo, con un emisor que envía mensajes y un receptor que los recibe. Si no existe ninguna fuente de ruido, la probabilidad de recibir exactamente los mensajes enviados es 1. Pero si hay ruido en el medio, entonces ya no estaremos seguros de recibir el mensaje correcto. La Teoría de la Información nos permite medir esta incertidumbre cuando existe una fuente de ruido. Para calcular estas incertidumbres se usa la entropía relativa entre los conjuntos de mensajes enviados X y recibidos Y. Data Mining basado en Teoría de la Información 3 Agosto 2007 La incertidumbre de la señal enviada, cuando conocemos la señal recibida, recibe el nombre de Equivocación y se simboliza como H(X|Y). O sea conocemos la señal recibida Y pero tenemos cierta incertidumbre respecto a la señal enviada X. La información neta transmitida será la información enviada menos la equivocación T = H(X) – H(X|Y) Si en cambio conocemos la señal enviada X pero tenemos incertidumbre respecto a la señal recibida Y, entonces podemos medirla por medio de H(Y|X) o lo que es lo mismo la incertidumbre de la señal recibida cuando se conoce la señal enviada. A este tipo de incertidumbre se la conoce como Ruido, que también nos permite calcular la información neta transmitida como la información recibida menos el ruido, la cual debería ser exactamente igual a la calculada anteriormente T = H(Y) – H(Y|X) = H(X) – H(X|Y) Los Datos como un canal de Información Si asumimos ciertas suposiciones, entonces podemos usar la Teoría de la Información para caracterizar la relación entre dos o más variables de una tabla de datos. Supongamos que estamos analizando un sistema mediante una serie de mediciones capturadas por distintas variables del mismo. Cada cierto tiempo vamos tomando los valores de las variables de interés y las anotamos en una tabla. Ahora queremos analizar si una determinada variable tiene alguna relación con otra. Dicho de otro modo, queremos ver cuál es la información en común para estas dos variables. Asumimos que una de las variables es una fuente de información cuyos mensajes son los diferentes valores que fuimos midiendo y la otra variable representa el papel del receptor de los mensajes. La tabla de datos sería el canal de comunicación entre la variable que emite los mensajes (X) y la variable que los recibe (Y). Ahora podríamos calcular la información transmitida entre X e Y simplemente como la información generada por la fuente menos la equivocación, o como la información recibida menos el ruido, tal como vimos anteriormente. Este tipo de análisis nos permitirá conocer distintos aspectos de la información contenida en los datos, pero antes de entrar en más detalles veremos cómo es posible medir la entropía de una o más variables. Entropía en un conjunto de Datos Asumamos que los datos están representados por variables que intentan medir diferentes características del sistema de interés. El propósito de cualquier proyecto de Data Mining es encontrar cómo se relacionan estas variables entre sí y fundamentalmente cómo afectan el resultado del sistema. Data Mining basado en Teoría de la Información 4 Agosto 2007 Por ejemplo, si el sistema es un grupo de clientes que interactúan con una empresa y nos queremos enfocar en la pérdida de estos clientes, entonces nuestras variables candidatas para representar la fuente de información podrían ser las quejas, la cantidad de productos comprados al mes, los canales que utilizan, los tiempos de entrega de los productos, etc. Suponemos que estas variables contienen suficiente información para conocer si un cliente seguirá activo o no (sea lo que sea lo que signifique activo). Para calcular esta información, usamos una variable que nos indica si realmente el cliente está activo o no mediante dos mensajes distintos (Activo/NoActivo), y asumimos que esta variable representa la señal recibida. Si la señal enviada es igual a la señal recibida, entonces podríamos predecir con total seguridad qué clientes seguirán activos y cuáles no. O sea, podríamos usar las variables que forman la fuente de información (Entrada, o Input o X) para conocer exactamente el estado del receptor (Salida, o Output o Y). Si en cambio la señal recibida (Salida) no es igual a la enviada (Entrada), entonces suponemos que la Entrada no contiene suficiente información libre de ruido para definir completamente la Salida. Comencemos con la información disponible en el sistema. Podemos representar las variables del sistema, o variables de Entrada X de la siguiente manera v1 v2 v3 v4 v5 v6 La figura anterior representa 6 variables (una por cada columna) y varios casos (uno por cada fila). Por ejemplo, en el caso del ejemplo anterior las variables serían las quejas, la cantidad de productos comprados al mes, etc, y los casos serían los distintos clientes. Cada caso contiene una determinada combinación de valores de las variables que se dan al mismo tiempo. Estas combinaciones pueden ser únicas, o pueden coincidir para algunos casos. Por ejemplo Data Mining basado en Teoría de la Información 5 Agosto 2007 v1 v2 v3 v4 v5 v6 Estos dos casos podrían tener iguales valores en cada una de las variables Ser levemente diferentes O completamente diferentes En cualquier caso, podemos pensar que las diferentes combinaciones de valores de las variables representan una señal del sistema y lo representaremos como un punto para cada caso Data Mining basado en Teoría de la Información 6 Agosto 2007 Cada señal identifica a un estado del sistema. Si cada señal es única, o sea que no existe otra combinación de variables exactamente igual, entonces la relación entre señales y estados será biunívoca, o sea, para cada señal habrá un solo estado y para cada estado una sola señal. Podemos calcular la entropía de este sistema calculando primero las probabilidades de cada señal que, en este ejemplo, con 22 señales distintas, será 1/22 para cada señal. Ya que la probabilidad para todas señales es la misma, la entropía será máxima. En este ejemplo la entropía será: 22 H = − ∑ pi ∗ log 2 ( pi ) = − ∑ i 1 1 ⎛ 1 ⎞ ∗ log 2 ⎜ ⎟ = 4.46 bits 22 ⎝ 22 ⎠ 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 1/22 Data Mining basado en Teoría de la Información 7 Agosto 2007 En cambio, cuando para un estado existe más de una señal que lo identifica, las probabilidades asociadas ya no serán las mismas y por lo tanto la entropía dejará de ser la máxima posible para este sistema 1/22 2/22 1/22 1/22 2/22 1/22 2/22 1/22 2/22 2/22 3/22 3/22 1/22 Hagamos un repaso de los visto hasta ahora: tenemos un conjunto de datos con variables que representan una situación de interés. Cada fila es un caso representado por las diferentes combinaciones de valores de las variables, y cada uno de estos casos identifica un estado del sistema. Podrían existir varios casos que identifican el mismo estado haciendo que la incertidumbre del sistema disminuya. De hecho, si todos los casos fueran exactamente iguales, el sistema tendría incertidumbre nula, o lo que es lo mismo, no contendría ninguna información (¿qué información tendría un conjunto de datos con todas las filas exactamente iguales?). En general, algunos de los estados identificados por las señales serán similares y otros muy distintos. Data Mining basado en Teoría de la Información 8 Agosto 2007 Estos estados podrían representarse en un mapa de 2 dimensiones como sigue Aquellos estados que están próximos contendrán información similar. Cuanto más alejados estén, menos información común compartirán. Agrupación de valores de variables Un buen modelo debe estar basado en señales que sean lo menos ambiguas posibles. Para lograr este objetivo se usa un método llamado chunking, que agrupa diferentes valores de las variables. El objetivo del chunking tiene dos propósitos: 1. Maximizar la representatividad de la señal 2. Minimizar el ruido tanto como sea posible Una señal, dada por los diferentes valores que asume la variable en los distintos casos de una muestra, es representativa de la población si existen suficientes casos como para estabilizar la forma de la distribución de los valores. Supongamos que tenemos una bolsa con bolillas de n diferentes colores en proporciones diferentes. Si vamos construyendo un histograma con cada bolilla que sacamos al azar de la bolsa, el mismo irá cambiando su forma de una manera drástica con las primeras extracciones, pero a medida que avanzamos, la forma del histograma se irá estabilizando. No entraremos aquí en detalles, pero es posible encontrar la cantidad de extracciones necesarias para lograr que la distribución se estabilice lo suficiente como para decir que esa muestra es representativa de la población con una determinada confianza. Esta cantidad de extracciones es proporcional a n, cuanto menor sea la cantidad de valores distintos en la población, menor será la cantidad de valores necesarios para obtener una muestra representativa. Por ejemplo, si tenemos 100 valores distintos que agrupamos en sólo 10, será una manera de lograr una muestra más representativa que si usamos los 100 valores distintos para una dada cantidad de casos. Por otro lado, cuando agrupamos valores estamos perdiendo información, ya que la cantidad de mensajes distintos disminuye, pero se minimiza el ruido causado por diferentes valores distintos que apuntan al mismo estado. El siguiente gráfico muestra un ejemplo de agrupación de los valores de una variable Data Mining basado en Teoría de la Información 9 Agosto 2007 Los valores forman grupos representativos que llevan la mayor información posible. Cuando hablamos de valores nos referimos a valores numéricos o categóricos. O sea, no sólo es posible agrupar variables numéricas, sino también categóricas. Para el caso de variables numéricas, el método general es conocido normalmente como Binning, aunque existen distintas variantes que veremos más adelante. Lo importante es que con Chunking hemos logrado maximizar la representatividad y minimizar el ruido. La cantidad de grupos o bins afecta la representatividad, el ruido y la cantidad de información perdida en el proceso. Existe un número de bins ideal que logra un compromiso entre la representatividad y el ruido por un lado, y la información perdida por el otro. Información Transmitida Hasta ahora hemos visto cómo es posible calcular la entropía (incertidumbre, grados de libertad de elección de los mensajes, información) de un conjunto de datos que llamamos datos de entrada X (Input). El cálculo de la entropía de los datos de salida Y es un problema similar. La única diferencia es que normalmente se asume que Y está compuesto por una sola variable. Ahora veremos cómo podemos calcular la entropía relativa entre los datos de entrada y un resultado de interés o datos de salida Y (Output). Anteriormente vimos que la información transmitida puede ser calculada como la señal recibida menos la equivocación o como la señal enviada menos el ruido. Data Mining basado en Teoría de la Información 10 Agosto 2007 T = H(Y) – H(Y|X) = H(X) – H(X|Y) Pero ¿cómo calculamos estos valores? El siguiente gráfico nos será de mucha ayuda para relacionar las diferentes mediciones de la entropía H(X;Y) H(X) H(Y) H(X|Y) (Equivocación) T(X,Y) H(Y|X) (Ruido) La barra superior representa la entropía de la señal conjunta X e Y. Supongamos que queremos analizar un sistema compuesto por la tirada de un dado y una variable que nos da información acerca de la paridad del valor obtenido. En este sistema, la variable X indicaría si el valor es par o impar y la variable Y sería el valor obtenido. Para calcular la entropía de la señal conjunta, tendríamos que listar todos los pares de eventos posibles. En nuestro caso serán: Paridad Impar Par Impar Par Impar Par Resultado 1 2 3 4 5 6 Como vemos, hay sólo 6 casos y todos tienen probabilidad 1/6 de aparecer, por lo tanto la entropía de la señal conjunta será H(X;Y) = log2(6) = 2.585 bits La siguiente barra representa la entropía de la señal enviada o X. En nuestro caso existen sólo dos mensajes posibles con probabilidad ½, Par e Impar. Por lo tanto la entropía será H(X) = log2(2) = 1 bit La entropía de la señal de salida o el resultado de tirar el dado será calculada en base a los distintos resultados posibles, que en este caso son 6. La entropía será H(Y) = log2(6) = 2.585 bits Por último, la cuarta barra representa las relaciones vistas anteriormente: T(X,Y) = H(X) – H(Y|X) = H(Y) – H(X|Y) Data Mining basado en Teoría de la Información 11 Agosto 2007 También es posible calcular la información transmitida usando la entropía de la señal conjunta T(X,Y) = H(X) + H(Y) - H(X;Y) T(X;Y) = 1 + 2.585 – 2.585 = 1 bit O sea, para nuestro sistema calculamos que la cantidad de información necesaria para conocer exactamente el resultado de un dado es 2.585 bits. El sistema nos proporciona una señal que nos permite disminuir la incertidumbre, aunque no totalmente. Esta señal transmite 1 bit de información (nos indica si el resultado es par o impar). Ruido y Equivocación Si bien el ruido y la equivocación tienen una definición muy clara en la Teoría de la Información, es bueno tener una idea un poco más intuitiva de lo que significan cuando estamos analizando un conjunto de datos Volviendo al ejemplo más real de una empresa que ha reunido datos acerca de sus clientes y desea analizar la pérdida de clientes (churning o attrition), lo que en realidad estamos intentando es conocer cuánta información contienen los datos de entrada X respecto de la variable Y que identifica si un cliente está activo o no. X Y Así como anteriormente asociábamos a cada señal un estado, ahora podemos asociar a cada señal (o estado) de X, a una señal de Y Data Mining basado en Teoría de la Información 12 Agosto 2007 X Y De la misma manera que antes, con datos reales rara vez existe una correspondencia biunívoca entre las señales de entrada y salida. Existen 4 posibles casos, 3 de ellos simples y un cuarto que es la combinación de los anteriores. El primer caso es cuando la relación entre señales es biunívoca, o sea cuando las señales de la entrada identifican sin ambigüedades las de la salida, tal como se muestra en el siguiente gráfico X q Y a b c Y r s a 1.0 q r s X b 1.0 c 1.0 El segundo caso es cuando varias señales distintas de entrada apuntan a una sola señal de salida. Este es un caso de Equivocación, como ya vimos anteriormente. Muchas voces distintas están diciendo lo mismo. El siguiente gráfico aclara el problema X a b c Y Y q s a 1.0 q Data Mining basado en Teoría de la Información r X 13 b 1.0 c 1.0 Agosto 2007 Cuando la relación contiene Ruido, existen diferentes casos (filas de la tabla de los datos) que apuntan al mismo estado de la salida. O sea, la señal de salida es incierta para la señal de entrada, al menos en algún grado Y X Y q q r s a r s a 0.3 0.3 0.3 X b c En el caso de ruido hay que tener en cuenta que no necesariamente la cantidad de señales de entrada que apuntan a distintas señales de salida son iguales. O sea, podría ser por ejemplo, que una de las señales tenga una probabilidad del 80%, otra del 15% y la tercera del 5%, tal como lo ilustra la siguiente figura X Y Y q q r s a r s a 0.8 0.15 0.05 X b c Con datos reales lo normal es que se de una mezcla de información, ruido y equivocación X a b c Y Y q q r s r s a 0.5 0.5 X b 1.0 c 0.5 0.5 Ahora que ya hemos visto cómo calcular las diferentes entropías y conocemos exactamente qué significan cada una de ellas, estamos en condiciones de ver cómo podemos avanzar un poco más y construir modelos de predicción. Modelos de Predicción Una vez que hemos construido el mapa de información que relaciona cada señal de entrada con la de la salida, es posible usar algún tipo de función que represente esta relación Data Mining basado en Teoría de la Información 14 Agosto 2007 Comenzamos con el mapa de información que relaciona X e Y. Recordemos que las variables que componen la señal de entrada ya han sido agrupadas para lograr maximizar la representatividad y minimizar el ruido. X Y Ahora es posible agrupar las señales de salida a fin de minimizar ruido y maximizar la señal útil Grupos Entrada Solo resta encontrar una función de transferencia que relacione los grupos (chunks o bins) de la entrada, con los grupos de la salida Grupos Salida Data Mining basado en Teoría de la Información 15 Agosto 2007 Resumen de todo el proceso Comenzamos con una tabla de datos que contiene variables que servirán para hacer predicciones respecto de otra variable. En estadística, las primeras son llamadas variables independientes y a la variable a predecir se la llama variable dependiente. En Teoría de la Información, las primeras son llamadas variables de entrada (Inputs) y la variable a predecir se llama variable de salida (Output). Las variables de entrada son agrupadas para que sean lo más representativas posible y a su vez contengan la mayor información libre de ruido. La combinación de estas variables en cada caso (fila) de la tabla representa un estado o mensaje del sistema. Cada uno de estos mensajes lleva información respecto de la variable de salida. Esta información se mide por medio de la entropía. Cuando el mismo mensaje es usado por distintos casos para relacionar distintos estados de la salida, decimos que existe ruido. El ruido es indeseable porque enmascara la señal y no nos permite obtener el mensaje correcto. La información que se transmite desde la entrada a la salida se calcula como la información recibida menos el ruido. Esta información transmitida se puede usar para predecir los valores de la variable de salida. Una de las grandes ventajas de medir información es que podemos conocer de antemano si los datos con que contamos serán suficientes para predecir una variable de interés o no. Dicho de otro modo, si la información que se transmite de la entrada a la salida es muy baja, ninguna herramienta de modelado será capaz de hacer un buen trabajo. Si no existe información, no hay manera de realizar un modelo, no importa si lo intentamos con una red neuronal, un árbol de decisión o un algoritmo asombroso y recién descubierto. Es posible armar un mapa que vincule los mensajes o señal de entrada con los mensajes de la salida. Si a su vez encontramos una función lineal de transferencia apropiada, podremos realizar predicciones de la salida en base a la entrada. Variables Variables Agrupadas Mensaje Grupos Entrada Mapa de Información Grupos Salida Valor de salida más probable Data Mining basado en Teoría de la Información 16 Agosto 2007 Si bien este gráfico muestra todo el proceso, el modelo puede ser visto directamente en términos de los valores originales de las variables y un valor predicho. O sea, todo el proceso interno de reducción del ruido, incremento de la representatividad y mapeo de la información pasaría a ser un proceso completamente transparente. Cabe aclarar que si bien la función de transferencia es lineal, el modelo como un todo (chunking, mapa de información y función de transferencia) es capaz de tratar con relaciones lineales y no lineales. Si bien en este ejemplo se usó una función lineal de transferencia para relacionar información de entrada y de salida, también podríamos haber usado un conjunto de reglas. Bining Hasta ahora nos referimos a un método llamado Bining para agrupar valores de variables numéricas. Recordemos que cada vez que agrupamos valores, perdemos información. Pero no todas las agrupaciones posibles pierden la misma cantidad de información. Por ejemplo, supongamos que queremos obtener 10 grupos o bins de una variable con rango 1 a 100. Una manera de agrupar los valores podría ser mediante subrangos, por ejemplo, un grupo contendrá los valores de 1 a 10, el otro de 11 a 20, y así sucesivamente. Otro podría ser de 1 a 35 el primer grupo, de 36 a 40 el segundo, y distintos puntos de corte hasta lograr los 10 grupos. Lo más probable es que estas dos agrupaciones hayan perdido diferente cantidad de información. Existe un algoritmo llamado LIL (Least Information Lost) que permite encontrar una manera de agrupar los valores para que la información perdida sea la mínima. Ventajas en el uso de la Teoría de la Información Existen una ventaja fundamental y varias que son una consecuencia del enfoque. Una vez que se cuenta con los datos y se debe encontrar un modelo de predicción, lo normal es que se asuma que estos datos contienen información suficiente para que el modelo sea de utilidad. Con un enfoque basado en la Teoría de la Información, en vez de asumir que los datos contienen información, podemos medir la cantidad de información contenida. Este enfoque evita que naveguemos a ciegas en un mar de datos. Si los datos no contienen información, ¿para qué molestarse en encontrar un buen modelo? Además de conocer la información transmitida, también es posible conocer otro tipo de información como es el ruido y la equivocación que nos permitirán hacer un análisis llamado Data Survey, en el que se miran los datos como un todo en busca de posibles problemas. Para más información referirse al capítulo 11 del libro Data Preparation for Data Mining de Dorian Pyle. La selección de un grupo de variables es siempre un problema. En general los métodos exhaustivos son prohibitivos debido a que si se intenta buscar la mejor combinación entre un grupo grande de variables, el tiempo de CPU es enorme. Reducir la cantidad de variables mediante alguna combinación de las mismas, por ejemplo encontrando las Data Mining basado en Teoría de la Información 17 Agosto 2007 Componentes Principales, es algo que no ayuda demasiado, ya que el modelo final estará basado en todas las variables y tratar de entenderlo será una tarea casi imposible. Poder medir la cantidad de información que una o más variables llevan respecto de la variable de interés, nos permite un método óptimo para encontrar un grupo de variables que lleve la mayor cantidad posible de información. El método es muy simple: Primero se selecciona la variable con mayor información posible sobre la variable de interés. Luego se debe seleccionar la variable que mayor información adicional aporta, considerando la información que ya aportaron las variables previamente seleccionadas. Se continúa de la misma manera hasta que la información ganada no justifique la pérdida de representatividad de la muestra. Para mayor información referirse al documento Feature Selection disponible en www.pti.com/espanol/index.htm Otro tema muy importante para modelar datos es la preparación de los mismos, aunque desafortunadamente es la etapa menos desarrollada en la mayoría de los proyectos de Data Mining debido fundamentalmente a la complejidad que encierra el tema. Para sacarle el jugo a los datos hay que prepararlos previamente, o sea, hay que transformarlos de alguna manera. Por ejemplo, si la distribución de una variable tiene una larga cola, usar esa variable sin modificarla es desperdiciar la información que podría contener. También a veces es necesario asignar valores a variables no numéricas (por ejemplo, estado civil, CP, profesión, etc), pero hacerlo al azar, como es la práctica común, destruye la estructura multidimensional de los datos y hace muy complicado el trabajo de la herramienta que intenta sacar información de los datos. Preparar los datos normalmente toma entre el 60% y el 90% del tiempo total del proyecto. Una de las consecuencias del proceso de chunking y mapeo de la información es que los datos quedan preparados en forma automática. Otra posibilidad que brinda la Teoría de la Información es comparar el rendimiento de un modelo con respecto a la información contenida en los datos. No siempre es posible obtener toda la información disponible en los datos. Si un modelo no logra capturar toda la información, entonces la información de sus predicciones será menor que la información disponible en los datos. Podemos calcular la eficiencia de un modelo como sigue: E= Información Modelo Información Datos Si un modelo tiene una eficiencia del 5% habrá que analizar por qué capturó tan poca información y ver si es posible mejorarlo mediante la configuración de sus parámetros, si es que esto es posible (una red neuronal tiene varios parámetros para elegir, en cambio un modelo basado en una función de transferencia lineal podría no tener ningún parámetro). En cambio si el modelo capturó un 80% de la información disponible, podremos estar casi seguros de que hemos logrado lo mejor dados los datos con que contamos. Data Mining basado en Teoría de la Información 18 Agosto 2007 En síntesis, algunas de las ventajas que se logran al usar la Teoría de la Información para analizar y modelar datos son: 1. Es posible caracterizar la información contenida en los datos y calcular la información útil, el ruido y la equivocación 2. Es posible filtrar el ruido y lograr que la información sea más representativa 3. Es posible seleccionar, de un conjunto grande de variables, aquellas con mayor información 4. En el proceso de chunking y mapeo de la información se produce un valor agregado: la preparación automática de las variables. 5. Los modelos de predicción que se pueden armar son muy simples de entender 6. Es posible medir la eficiencia de un modelo de predicción (qué cantidad de información disponible capturó) Referencias Pyle, Dorian, Data Modeling and Data Mining, Morgan Kaufmann, 2003 Pyle, Dorian, Data Preparation for Data Mining, Morgan Kaufmann, 1999 MacKay, David J.C., Information Theory, Inferences, and Learning Algorithms, 2001 Shannon, Claude y Weaver, Warren, The Mathematical Theory of Communication, University of Illinois Press, 1998 Documentos y artículos del sitio web de Powerhouse www.pti.com/espanol/index.htm Data Mining basado en Teoría de la Información 19 Agosto 2007