El Rincon del BI

Descubriendo el Business Intelligence…

Archive for the ‘Data Mining’ Category

14.9.2. DataMining en Microstrategy 9 (II).

Posted by Roberto Espinosa en 5 marzo 2010


Ejemplo 2. Segmentación de clientes (Analisis de cluster).

El analisis de clúster ofrece un método para agrupar valores de datos basado en similitudes dentro de estos. Esta técnica segmenta distintos elementos en grupos según el grado de asociación entre los elementos. El grado de asociación entre dos objetos es máximo si pertenecen al mismo grupo y mínimo si no pertenecen al mismo grupo. Se forma un número determinado o especificado de grupos, o clusteres, lo que permite clasificar matematicamente cada valor de los datos en el grupo adecuado.

El analisis de cluster se considera una técnica de aprendizaje sin guía debido a que no hay variable de destino o dependiente. Generalmente, hay características subyacentes (que habrá que descubrir) que determinan el motivo por el que determinadas cosas aparecen relacionadas y otras no lo estan. El análisis de cluster de elementos relacionados proporciona información significativa sobre cómo se relacionan entre sí los diversos elementos de un conjunto de datos.

Microstrategy emplea el algoritmo de promedio k para determinar los clusteres. Con esta técnica, los clústeres se definen por un centro en un espacio multidimensional. Las dimensiones de este espacio se determinan mediante las variables independientes que caracterizan cada elemento. Las variables continuas se normalizan en el rango de cero a uno (de modo que no haya una variable dominante). Las variables categóricas se reemplazan con una variable de indicador binario para cada categoría ( 1 = un elemento está en la categoria, 0 = un elemento no esta en la categoría). De esta manera, cada variable abarca un rango similar y representa una dimensión en este espacio.

El usuario especifica el número de clústeres, k y el algoritmo determina las coordinadas del centro de cada cluster. En Microstrategy, el usuario o el software de manera automática pueden determinar el número de agrupaciones que se generarán de un conjunto de datos. Si se determina mediante el software, el número de agrupaciones se basa en varias iteraciones para descubrir la agrupación óptima. El usuario establece un valor máximo para limitar el número de agrupaciones determinadas por el software.

La creación de un modelo de clústeres es el primer paso porque, aunque el algoritmo simpre generará los clústeres adecuados, el usuario debe comprender de qué manera difiere cada clúster de los demás. El analisis de cluster no genera ninguna conclusión en si mismo, y habrá que analizar los resultados para buscar esas relaciones ocultas entre los atributos que nos permitan determinan la segmentación, en este caso, de los clientes.

Vamos a ver un ejemplo de segmentación de clientes, en el que intentaremos formar grupos de forma que los miembros de cada uno de ellos se parezcan mas entre si que los miembros de los otros grupos. Vamos a crear cinco segmentos de clientes basandonos en criterios demográficos y psicográficos, que son:

  • Rango de edades.
  • Formación.
  • Sexo.
  • Tipo de vivienda.
  • Estado civil.

La información reside en los datos de los clientes, y ha sido previamente elaborada para normalizarla según vemos en el informe siguiente (que es el informe de partida para el análisis):

Informe de Datos de clientes

Podemos observar que la información de edades ha sido clasificada en rangos de edad, al igual que la información de Nivel Educativo (formación), Sexo del cliente, Tipo de alojamiento (vivienda) y estado civil. Los valores de estos atributos del cliente ha sido codificados (valor 1, 2, 3, etc). Esta información puede haber sido generado en los procesos de carga del DW o bien definida por indicadores calculados, o por grupos personalizados. Para analizar los clientes, realizaremos un muestro de ellos extrayendo un porcentaje del total de clientes (en nuestro caso, vamos a analizar un 20%).

Para realizar el muestro de datos nos vamos a crear un indicador para luego poder filtrarlo y extraer exactamente el 20% de los clientes. Como vemos en la imagen, con la función Randbetween, que devuelve un numero aleatorio entre dos valores dados, creamos un valor, que luego filtraremos en el informe de creación de los indicadores previsibles a través de un filtro.

Cluster- Indicar de filtrado para muestreo

A continuación, al igual que en el ejemplo anterior, realizaremos la definición del indicador de formación. En este caso, selecciones el tipo de analisis Agrupación. Podremos realizar dos tipos de análisis. Indicar un número especifico de clusteres, lo que determinara que se analice la información para formar exactamente N grupos o bien la opción segunda, que es especificar un número máximo de clusters y un porcentaje de mejora. En este caso, el algoritmo crea dos clusteres y evaluará la calidad del modelo. A continuación, se crearán 3 clusteres y se comprobara si el modelo ha mejorado. Sino ha mejorado, nos quedamos con el modelo de 2 clusteres. Si mejora, se construira el de 4 clusters y se comparara con el de 3. El proceso continuará hasta que se alcance el número máximo de clusteres especificados o hasta que la mejora no supere el porcentaje indicado.

Indicador de formación en Analisis Cluster - Propiedades Análisis

En nuestro ejemplo, indicamos un número especifico de clusteres, en concreto 5.

A continuación, indicaremos los indicadores independientes que van a formar parte del modelo. Como ya indicamos, aunque estamos analizando atributos de los clientes, tendremos que crear indicadores para estos atributos, pues en el indicador de formación somo podemos incluir indicadores. Tendremos un indicador para cada atributo de los que queremos incluir en el análisis.

Finalmente, definiremos los indicadores previsibles que se generaran cuando ejecutemos un informe incluyendo el indicador de formación. Recordemos que en estos indicadores previsibles, cuando sean creados, podremos ver el modelo generado con el visor de Microstrategy. También podremos utilizarlos en informes para analizar los resultados de la segmentación y sacar conclusiones.

Analisis Cluster - Indicadores previsibles a generar con el modelo

El siguiente paso, una vez creado el indicador de formación, es incluirlo en un informe de Microstrategy junto con todos los atributos necesarios para el análisis. Ejecutaremos el informe, con el muestreo visto anteriormente (a traves de un filtro), y se generaran los indicadores previsibles que podremos analizar. A partir de los indicadores previsibles creados, con el visor de modelos, observamos los resultados del análisis:

Analisis de Cluster - Visor de Modelo Previsible

Aparece una tabla con los diferentes valores de los atributos de los clientes (edades, nivel educativo, sexo, tipo de vivienda y estado civil) y con los valores de peso de cada valor de cada atributo para pertenecer a cada unos de los clusteres. Vemos que los valores mas determinantes para determinar si un cliente entra en un cluster u en otro es el tipo de vivienda. El factor edad, educación o sexo es menos relevante (tiene menos peso). Por ejemplo, en el cluster 1, el tipo de vivienda “Dependiente”  es condición para formar el cluster 1. Igualmente para el cluster 5, es condición el tipo de vivienda “Alquiler” y el estado civil soltero. La tabla nos puede hacer una idea de las relaciones entre los valores de los atributos y la pertenencia a un cluster u a otro.

El modelo previsible tiene en la pestaña Simulación una herramienta para ir jugando con las diferentes variables y ver la relación entre ellas. También nos puede ayudar para el análisis crear un informe que incluya todos los atributos y el indicador previsible creado (que devuelve al ejecutar el informe el cluster al que pertenece un cliente). Con el analisis de los datos, filtrado, conteo, ordenación podremos seguramente también descubrir relaciones entre los datos).

En nuestro ejemplo hemos limitado los atributos de clientes que utilizamos para el analisis, pero en una situación real, podriamos ir cambiando los atributos utilizados en el analisis por otros (o eliminando atributos no relevantes), hasta conseguir un modelo que satisfaga nuestra perspectiva de análisis.

Una funcionalidad interesante de Microstrategy es crear un grupo personalizado utilizando el indicador previsible creado, y utilizar este grupo personalizado dentro de los informes. La creación de los grupos personalizados es tan sencilla como vemos en la imagen:

Grupos Personalizado utilizando el indicador previsible Segmento de cliente

Podemos incluir este objeto dentro de un informe para realizar analisis de las características de la segmentación o para analizar información de los clientes incluidos en cada grupo (por ejemplo, ventas, número de clientes, promedio por cliente). Esto nos puede ayudar a conocer mas características del grupo. Igualmente, podriamos realizar detalles y navegacion dentro de cada segmento por zona geográfica, tipo de material u otros aspectos que nos ayudaran a profundizar aun mas en características especificas de cada grupo.

Analisis de Segmento de Clientes usango Grupos Personalizados

El modelo descrito se puede validar en otro conjunto de datos para darle un contenido definitivo y presentar los resultados del análisis de cara a establecer las correspondientes medidas dentro del area de ventas o marketing.

Ejemplo 3. Predicción de ventas en una campaña (Arbol de decisión).

En este analisis utilizaremos un arbol de decisión para determinar la respuesta de un determinado grupo de clientes a rebajas en determinados productos en la epoca de vuelta al colegio. Para ello, utilizaremos arboles de decisión del tipo binario (recordemos que los arboles de decisión se pueden utilizar tanto para clasificación como para analisis de regresión, como en este caso). Intentaremos determinar como influyen factores como la edad, el sexo o el numero de hijos en la probabilidad de realizar compras en esa campaña de rebajas.

Los arboles de decisión son uno de los modelos de mineria de datos mas intuitivos, debido a que muestran una estructura “si-entonces-otro”, facil de comprender. Los arboles de decisión separan un conjunto de datos en distintos subconjuntos de datos. En lugar de utilizar un enfoque de aprendizaje sin guia (como en el análisis cluster), el arbol de decisión utiliza un algoritmo guiado, de forma que los subconjuntos de datos creados comparten una característica de destino determinada, que proporciona una variable dependiente. Las demas características las proporcionan las variables independientes, que se utilizan para dividir los conjuntos de datos originales en subconjuntos de datos. Normalmente, se utiliza la variable independiente con mayor poder previsible y asi sucesivamente. Microstrategy implementa el algoritmo de árbol de clasificación y regresión (CART).

Ejemplo de arbol de decision en Microstrategy

Cada nodo incluye la información siguiente:

  • Puntuación (node´s score): el resultado más común (o dominante) de los registros de datos para el nodo.
  • Predicado (predicate): una sentencia lógica que se usa para separar registros de datos del origen de un noto. Los registros pertenecen a un nodo si se evalua como verdadero (pueden incluir una o varias sentencias lógicas combinadas con los operadores AND, OR, XOR, etc).
  • Gráfico de ojo (eye chart): representación gráfica de la distribución de puntuaciones.
  • Distribución de puntuaciones (score distribution): tabla que muestra el desglose de registros de datos de formación asociados con el nodo. Sirve de leyenda para el gráfico de ojo. La distribución de puntuaciones contiene el conteo real de los registros de datos de formacion del nodo que se representa mediante cada clase de destino. La proporción de cada clase de registros de datos se muestra como porcentaje de los conteos totales de este nodo y como porcentaje de la población total.
  • Resumen de nodo (node summary): porcentaje de todos los registros de datos de formación asociados con el nodo.
  • ID de nodo (node id): identificador unico o referencia para cada nodo. Se usa un formato de profundidad en nivel (el id es una serie de numeros ).

Vamos a realizar un analisis de una campaña utilizando un arbol de decision. Como indicador dependiente utilizaremos el indicador “Respuesta a Rebajas vuelta al cole año X”. Como indicadores independientes, los valores sociodemográficos del cliente como rango de edades, número de mienbros de la familia, sexo o educación. Con estos valores, construiremos, de la forma habitual (e igual que en el resto de ejemplos), el indicador de formación, seleccionando el tipo de análisis Arbol de decisión:

Arbol Decision - Indicador Formacion

El indicador dependiente, cuya definición vemos en la imagen siguiente, es un numero cuyo valor indica un uno si una compra del cliente en el año X fue dentro de la campaña de rebajas y un 0 sino lo fue. Este va a ser el indicador dependiente dentro de nuestro modelo, y el resto los independientes.

Arbol Decision - Indicador Dependiente

El siguiente paso, como en los ejemplos anteriores, es definir un informe de Microstrategy e incluir el indicador de formación para generar los indicadores previsibles en cuyo contenido podremos analizar los resultados del modelo con el visor de modelos previsibles. En nuestro ejemplo, construimos un informe que lee los datos de pedidos de un periodo de tiempo determinado, incluyendo la información del cliente y el indicador de formación (tal y como vemos en la imagen).

Arbol Decision - Informe creación modelo

Ejecutaremos el informe y se realizará la creación de los indicadores previsibles, donde podremos validar el modelo creado. Podremos ir jugando con las variables dependientes que incluimos en el modelo hasta dar con un arbol de decisión acorde con el objetivo de nuestro análisis. En nuestro caso, hemos obtenido el siguiente árbol de decisión:

Arbol Decision - Resultados Ejemplo

Podemos observar los resultados del arbol. El sexo es una factor determinante para participar en la campaña (Gender <> Male). Los hombres no han comprado utilizando la rebaja en el 94,5% de los casos. Para las mujeres, si han comprado en el 41% de los casos. Ademas, para mujeres en familias numerosas (3, 4, 5, 6 hijos o mas), se utilizo la promoción en el 71,4% de los casos.

Una vez ajustado el modelo previsible, podremos realizar un analisis de previsión de ingresos de la campaña utilizando en informes (en forma de tabla o gráficos) los indicadores previsibles creados. Podremos de estar manera hacer una predicción de respuesta haciendo simulaciones con los datos de ventas anteriores, con estimaciónes según la predicción de respuesta o ver de forma gráfica el aumento de predictor de respuesta.

Arbol Decision - Grafico Aumento Respuesta

Los analisis nos permitiran realizar un analisis de los resultados de la campaña  en un escenario basado en la respuesta prevista de un cliente a una campaña.

Conclusiones.

He intentado en estos ejemplos entender y transmitiros los conceptos básicos, la metodologia de aplicación y algunas técnicas de las que se utilizan en datamining con ejemplos prácticos que hacen mas fácil su comprensión. Como desconocedor del datamining y sus técnicas, siempre encontraba la carencia de no encontrar ejemplos prácticos que me hiciesen entender un poco mas a fondo y sin un enfoque técnico o estadístico, como es su aplicación, como se desarrollan las técnicas y como se sacan conclusiones de los resultados obtenidos. Espero haber conseguido con esta serie de ejemplos este objetivo.

Por otro lado, a nivel de Microstrategy 9, he constatado algunas ventajas e incovenientes, que os enumero:

Ventajas

  • Total integración de los servicios de Data Mining con la plataforma. Se utilizan informes para generar los modelos predictivos a traves de los indicadores de formación. Los resultados obtenidos se analizan y ajustan con el visor de modelos y se pueden validar y explotar las conclusiones utilizando los indicadores previsibles como un elemento mas de los informes (o como parte de otros objetos, como filtros, grupos personalizados, nuevos indicadores, etc). Esto ultimo nos da gran potencia para realizar simulaciones o analisis de posibles resultados siempre trabajando en el entorno de nuestro DW o de los subconjutos de datos extraidos y preparados para el análisis (a través de la creación, por ejemplo, de los Datamarts).
  • El uso del estandar XML para exportacion/importación de modelos (PMML), nos permite tanto exportar desde Microstrategy los analisis a otras herramientas de data mining que soporten el estandar para utilizar los modelos en ellas, o bien importar en nuestro sistema modelos desarrollados en otras herramientas (y poder validar los resultados de los análisis, pues al importar los modelos también creamos los indicadores previsibles, que podremos incluir en los informes para verificar resultados o previsiones).

Inconvenientes

  • Microstrategy no es una herramienta especifica de Data Mining. Tiene limitaciones respecto al tipo de analisis que se pueden realizar y no es una herramienta diseñada especificamente para dicho proposito, con lo que en muchos aspectos no podrá competir con herramientas especificas.
Anuncios

Posted in Business Intelligence, Data Mining, Microstrategy | Leave a Comment »

14.9.1. DataMining en Microstrategy 9 (I).

Posted by Roberto Espinosa en 2 marzo 2010


La orientación de Microstrategy 9 con el Data Mining es integrarlo totalmente en su plataforma de Business Intelligence y que no sea un producto aparte como en muchos otros fabricantes (lo que nos obliga a realizar los análisis en un sistema paralelo). Esta integración se realiza a traves de las métricas predictivas, que estaran disponibles en el sistema como un elemento mas del sistema de BI.

Ademas, soporta el estandar de la industria PMML (Predictive Model Markup Language), lo que nos permite importar modelos de data mining desde otras plataformas y crear de forma automatica en el repositorio de metadatos las metricas predictivas. Recordemos que PMML es un estandar de la industria en XML desarrollado por el Data Mining Group(DMG) para describir los modelos predictivos. En su desarrollo han participado los principales fabricantes de software de datamining, incluyendo Microstrategy. Este estandar soporta un gran numero de algoritmos de data mining, como son las Redes Neuronales, Clustering, Regresion, Arboles de Decision y Asociacion. PMML se puede generar en las principales aplicaciones de DM como son SAS®, SPSS®, Microsoft®, Oracle®, IBM®, KXEN™, ANGOSS y otros. Microstrategy es la primera plataforma BI que soporta el estandar, y su plataforma incluye, de forma integrada con el resto de elementos, la creación de modelos y la distribución de los resultados a los usuarios a traves del visor de modelos previsibles, que presenta unas características e información gráfica diferente según el tipo de análisis que estemos realizando. Los resultados de los estudios se pueden incluir como un elemento mas en los Dashboards de analisis.

Los tipos de algoritmos soportados por Microstrategy 9 son los siguientes: Regresión lineal , Regresión Exponencial, Regresión Logistica, Agrupación (Clustering), Arbol de Decisiones, Series Temporales y Asociacion.

Tipos de analisis de Datamining soportados por Microstrategy 9

Ademas de estas características DataMining puras, Microstategy va mas alla y enumera otros elementos de la plataforma BI que también son utiles y necesarios para un analisis avanzado (como parte incluida dentro de la preparación del modelado de DataMining o como analisis previos o especificos). Estas caracteristicas las hemos visto en diferentes entradas del Blog cuando hemos analizado las principales componentes de la Suite ( Reporting en Microstrategy 9  I y II, Navegación Dimensional y cubos OLAP en Microstrategy 9). Resumiendo, serían las siguientes:

Funcionalidad de Reporting Guiada por Parámetros.

Partiendo de los informes construidos, y mediante el uso de parametros, podemos construir analisis de una forma variable y sencilla. Esos parametros podrán interactuar contra los valores de los indicadores para hacer analisis interactivos, permitiendons crear informes sofisticados. Por ejemplo, podemos pedir un valor en tiempo de ejecución que se utilizara dinamicamente en la formula de calculo de un indicador, pudiendo realizar analisis de suposiciones y predictivos utilizando diferentes variables, algunas de las funciones proporcionadas por la suite y los valores de indicadores de nuestro modelo. Mediante las selecciones dinamicas de valor y la utilización de estos valores en las formulas de los indicadores dispondremos de una forma sencilla de esta funcionalidad.

Capacidades de Navegación Drill-Anywhere.

Mediante estas capacidades de navegación, los usuarios pueden visualizar tanto información sumarizada como detallada y tienen acceso a la totalidad de los datos contenidos en el data warehouse en cualquier lugar de estos. Esta navegación nos permite navegar en los detalles tal como aparecen en el modelo de negocio y detectar tendencias, desviaciones o aspectos que sera interesante analizar mas a fondo. No es necesario que los usuarios comprendan en profundidad la base de datos, las estructuras de las tablas, ni el lenguaje de las consultas. Simplemente deben saber dónde posicionarse y cómo hacer clic.

Análisis de Conjuntos y Segmentación de Datos

Los usuarios pueden potenciar los análisis de conjuntos que trae MicroStrategy para realizar una fácil segmentación de los datos. Los usuarios pueden manipular y combinar los sets de datos definidos para obtener un set de datos más refinado para llevar adelante análisis más profundos. Para ello podemos utilizar los filtros, las selecciones dinámicas, los filtros de visualización, los filtros sobre los indicadores, la navegación a través de grupos de atributos, etc. Las herramientas de reporting pueden ser el punto de partida para los analísis mas profundos utilizando todas las posibilidades que nos proporciona.

Grupos de Datos Definidos por Usuarios

Cuando construimos el data warehouse, definimos en el una estructura que refleja el modelo de negocio de la empresa, pero dicha estructura no siempre refleja los requerimientos de negocio de los departamentos individuales, ni de los equipos de trabajo ni de los decisores. Con los Grupos Personalizados y Consolidaciones, podemos cambiar el enfoque del modelo de negocio y construir nuevos atributos o agrupaciones mas acordes con el tipo de analisis que queremos realizar. No pueden ayudar a realizar analisis previos antes de la realización de estudios de data mining. Con ellos podemos perfeccionar el modelo de negocios hasta alcanzar los requerimientos departamentales o individuales, sin impactar en la estructura del modelo de datos de la empresa. Podemos realizar simulaciones de segmentación que luego analizaremos en profundidad utilizando las técnicas de Data Mining.

Tratamiento Analítico de los Datos

MicroStrategy nos proporciona un amplio conjunto de funciones analíticas para interactuar sobre los datos.  MicroStrategy contiene una libreria de mas de 270 funciones, incluyendo las básicas, funciones Olap, funciones matematicas, financieras, estadísticas y de data mining, que pueden ser utilizadas para crear metricas e indicadores de rendimiento (pki).

Microstrategy - Funciones estadísticas

Las funciones disponibles, de forma resumida, son las siguientes:

  • Funciones básicas: suma, promedio, media aritmetica, contadores, minimo, maximo, varianza, media geometrica, moda, desviación estandar, etc.
  • Funciones de cadena: concatenacion, longitud de cadenas, tratamiento de subcadenas, paso a mayusculas o minusculas, eliminación espacios, etc.
  • Funciones de fecha y hora: operaciones sobre fechas; hora, minuto, segundo, dia, mes, año, dia de la semana, dia del mes, dia del año de una fecha, etc.
  • Funciones de orden y NTile: funciones ntile, percetiles o rankings.
  • Funciones Olap: funciones relacionadas con el procesamiento Olap.
  • Funciones de extraccion de datos: funciones para data mining como modelo asociacion, modelo regresion, arbol de decision, clustering, etc.
  • Funciones estadisticas: distribucion beta, distribucion binomial, confianza, correlacion, covarianza, distribucion chi cuadrado, distribucion gamma, permutaciones, distribución de poisson, etc.
  • Funciones financieras: funciones financieras para el calculo de interes, rentabilidad, prestamos, etc.
  • Funciones matematicas: valor absoluto, seno, coseno, tangente, redondeo, truncate, logaritmos, raiz cuadrada, etc.

Ademas, como características avanzadas, y en las que no habiamos entrado todavia, podemos destacar las siguientes:

Plug-ins para Funciones a Medida

Microstrategy permite incorporar a la plataforma de BI nuestras propias funciones, desarrolladas mediante DLL´s.  Por medio de un asistente plug-in para funciones a medida, los usuarios de MicroStrategy pueden incorporar dichas funciones para usarlas en la creación de informes. Una vez importadas, se ponen a disposición de todos los usuarios de manera automática para que se definan las métricas y las medidas.

Creación de Datamarts utilizando informes de Microstrategy.

Esta es una funcionalidad muy interesante, que nos puede servir tanto para la preparación de los datos sobre los que luego aplicar nuestros analisis de Data Mining o como para la construcción de Datamarts departamentales o de un area especifica (que incluyen solo un conjunto de datos de todos los que disponemos en nuestro sistema). Los datos extraidos son almacenados en una tabla de base de datos en el lugar que nosotros indiquemos. Los datos estaran en ese momento disponibles para analizarlos en el mismo Microstrategy o para utilizarlos con otras aplicaciones externas.

La idea es muy sencilla. Construimos un informe donde incluimos la información necesaria (el conjunto de atributos e indicadores que queremos “extraer” de nuestro sistema), con los correspondientes filtros o selecciones dinámicas para restringir o calificar el proceso de extracción a nuestras necesidades. Una vez definido el informe, en la seccion Datos –> Configurar Datamart indicamos el destino donde se guardarán los datos (tal y como vemos en la imagen):

Microstrategy - Creación de Datamart

Indicaremos la instancia de la base de datos donde queremos guardar los datos (que podrá ser cualquier base de datos de las soportadas), la tabla, pudiendo además indicar una serie de opciones avanzadas, como número máximo de filas, sentencia sql a ejecutar antes y despues de crear la tabla o sentencia a ejecutar antes de insertar los datos. Además, en el nombre de la tabla podemos insertar calificadores que pueden ser utiles para crear tablas diferentes según algún criterio (usuario, fecha, nombre de informe). Para ello, marcamos la opción “El nombre de esta tabla contine marcadores” e indicamos alguno de los siguientes valores:

  • !U – Nombre de usuario.
  • !D – Fecha.
  • !O – Nombre de informe.

Una vez indicados los parametros correctos en la sección, ejecutaremos el informe, momento en el cual se creara la tabla en el destino indicado y se llenara con los datos recuperados por el informe. La ejecución del informe no devuelve ningún resultado. Igualmente, podremos configurar la ejecución automatica de este tipo de informes para que se llene el Datamart de una forma desasistida (al igual que cuando vimos los cubos inteligentes).

Microstrategy - Ejemplo de Datamart

En la imagen podeis ver la vinculación desde Access a una tabla del tipo Datamart creada con un informe. En el informe utilizamos los grupos personalizados de zonas geografícas (que agrupan los valores de varias regiones, por ejemplo, Zona Levante agrupa Murcia, Valencia y Cataluña) para extraer los datos de ingresos, unidades y margen por mes para cada zona geográfica. Podemos ver como, aunque los grupos personalizados no son algo que exista en nuestro modelo, al realizar la exportación de datos al Datamart si se ha creado su correspondiente columna en la tabla creada (campos F_ID y F_NAME en el ejemplo ). Los primeros registros del ejemplo tienen los datos totales de la zona geográfica LEVANTE por mes y los 9 registros siguiente el desglose de la zona por cada una de las regiones).

Con esta funcionalidad, junto con el uso de las multiples funciones que proporciona Microstrategy, podremos realizar la extracción de datos adaptada a nuestras necesidades para realizar los analisis de data mining sobre los datos o cualquier otro tipo de operativa.

Construcción de Analisis de DataMining en Microstrategy.

Para llevar a cabo la construcción del análisis, tendremos que determinar primero un objetivo. Es objetivo incluira los resultados deseados para mejorar un aspecto determinado en una organización. Por ejemplo, objetivos pueden ser mejorar la respuesta en una campaña de marketing, evitar la perdida de clientes, previsión de tendencias o segmentación de clientes. Este objetivo ha de ser especifico, pues a a ver determinar que analisis se puede utilizar y que datos nos haran falta.

Una vez definido el objetivo, comenzaremos a explorar en los datos para conocer mas de ellos y preparar el camino para el análisis. En nuestro caso, en Microstrategy, construiremos unos reports de ejemplo que nos permitiran ir observando los datos. Con el conjunto de datos que nos va a hacer falta para el analisis (dependeran del tipo de este), podemos construir un Datamart de la forma vista anteriormente (al que podremos atacar incluyendolo la definición de atributos e indicadores  en el metadata)  y a partir de el comenzar el análisis o continuar trabajando directamente con los datos mediante los informes. De ese conjunto de datos podremos ir eliminando componentes mediante filtrados (materiales que no son relevantes, clientes que no consideramos en el análisis, lineas de producto o zonas geograficas fuera del ambito, periodos de tiempo fuera de campaña, etc). Podremos igualmente ir navegando en los datos para observar comportamientos, variaciones, peculiaridades, patrones. Podremos crear nuevos indicadores que nos faciliten este analisis utilizando las funciones analiticas de Microstrategy (por ejemplo, funciones estadisticas, de ranking, de orden, etc). Todo este analisis previo nos permitira ir haciendo la depuración de datos y concretando los aspectos del análisis. Igualmente, podremos ir preparando para que solo se seleccione un conjunto determinado de los datos (un muestreo), utilizando igualmente funciones de las que disponemos en Microstrategy.

Una vez tenemos disponible el conjunto de datos, podremos seguir explorandolo para descubrir patrones o definir transformaciones que habra que realizar sobre ellos, con el objetivo final de identificar las variables con las que construiremos el modelo de análisis.

Pasos en un analisis de Datamining con Microstrategy

Con esas variables identificadas, construiremos el modelo previsible a traves de lo que en Microstrategy se llaman indicadores de formación. El indicador de formación es un tipo de indicador especial que va a contener información sobre el tipo de analisis que queremos realizar, que variables intervienen en el análisis y parametros concretos que determinaran la forma de realizar el analisis (que dependen del tipo de modelo a utilizar). Microstrategy dispone de un asistente de creación de indicadores de formación. En el caso de que vayamos a desarrollar un modelo que incluya el analisis de atributos (como por ejemplo número de pedido, material o datos de clientes), habrá que crear indicadores para estos atributos, pues en el indicador de formación solo se pueden utilizar indicadores. Los indicadores que se utilizan en la creación del indicador de formación se llaman indicadores de entrada previsibles.

Al crear el indicador de formación, seleccionamos en primer lugar el tipo de analisis, de los posibles en Microstrategy, que son, como ya vimos: Regresión lineal , Regresión Exponencial, Regresión Logistica, Agrupación (Clustering), Arbol de Decisiones, Series Temporales y Asociacion.

A continuación, el asistente nos pedira las variables implicadas en el análisis, según el tipo de este. Por ejemplo, para una analisis de asociación, las variables serán el indicador de transacción (el número de pedido, por ejemplo, que es el elemento para agrupar los elementos) y el indicador de elemento (los elementos que se van a analizar, en este caso, el material o producto). Ademas se nos pediran diferentes valores según el tipo de analisis a construir, valores que concretaran la forma en realizar en analisis.

Microstrategy - Definición de indicador de formación

El indicador de formación tiene el objetivo de construir los indicadores previsibles y de realizar al generación del modelo de análisis. Una vez definido el indicador de formación, crearemos un informe de Microstrategy donde tendremos las variables (atributos o indicadores) necesarias para el tipo de analisis y donde ademas incluiremos el indicador de formación. Al incluir este, cuando ejecutemos el informe, se crearan los indicadores previsibles. Los indicadores previsibles guardan los resultados del análisis y pueden ser analizados mediante el visor que proporciona Microstrategy.

El visor de modelos previsibles (según vemos en la imagen siguiente), tiene un aspecto diferente según el tipo de analisis que estemos realizando. Basicamente, nos proporciona información sobre el modelo ( incluyendo información grafica en algunos casos y los datos para exportar el modelo en el estandar PMML), las variables que intervienen en el, una pestaña de simulación donde podemos analizar como cambia el modelo si cambiamos el valor de las variables de entrada y la herramienta de verificación del modelo (una lista de registros de verificación del modelo con su puntuación).

Microstrategy - Visor Modelos Previsibles en Analisis Serie Temporal

Podriamos ir modificando la muestra de datos sobre la que aplicamos el indicador de formación, y con los indicadores previsibles generados y el visor, ir validando y ajustando el modelo de análisis o ir realizando cambio en las variables, parametros del indicador de formación o en el conjunto de datos. Estos pasos los repetiremos hasta obtener los resultados deseados y concretar y validar el modelo de análisis.

Los indicadores previsibles se pueden, ademas de visualizar, utilizar como resultado en cualquier informe de Microstrategy. Esto puede ser util para validar los resultados, para analizar tendencias o para presentar los resultados del analisis.

Una vez concluido el análisis, podremos seguir utilizandolo para validar resultados a futuro o exportarlo en formato PMML para utilizarlo  en otras herramientas de Data Mining que incluyan el trabajo con dichol estandar.

Para ver mas en detalle todos estos pasos seguidos, vamos a realizar un ejemplo práctico de analisis de Reglas de Asociación.

Ejemplo 1. Analisis de cesta de la compra (Asociacion).

Vamos a ver los pasos seguidos para la construcción de un modelo de analisis de la cesta de la compra, utilizando reglas de Asociación. Utilizamos para ello el proyecto Tutorial que se incluye en la instalación de Microstrategy (que muestra ejemplos de todas las funcionalidades incluidas en la suite, incluyendo el Data Mining).

Vamos a analizar una tabla que incluye los datos de ventas de peliculas de DVD. En primer lugar, construimos un informe para realizar un primer vistazo a los datos. En este informe podremos ir incluyendo restricciones sobre los datos, como excluir determinados materiales (o solo incluir una familia de producto determinada, como en este caso, las peliculas de DVD), seleccionar un periodo de tiempo o una zona geográfica concreta o realizar un muestreo aleatorio de datos utilizando indicadores de orden, para reducir el tamaño del conjunto de datos..

Como el tipo de analisis a realizar es el de asociación, que trata de ver como estan relacionadas las ventas de productos diferentes entre si en las mismas transacciones, nos vamos a centrar en los atributos Pedido y Articulo.

Informe inicial en analisis de asociacion

Una vez delimitado y acotado el conjunto de datos sobre el que realizaremos el analisis, realizamos la definición de los indicadores para los atributos Pedido y Articulo (aunque son indicadores normales, los llamamos Indicadores de Entrada Previsibles). Ellos nos van a permitir construir el indicador de formación, base del analisis. Veamos como definimos los indicadores para los atributos:

:

Definicion de indicador de entrada previsible para atributo

A continuación, realizamos la creación del indicador de formación, seleccionando el tipo de analisis Asociación. Al crear un indicador de formación de este tipo, las especificaciones del modelo son las siguientes:

  • Numero maximo de elementos por conjunto: este parametro determina el número máximo de artículos que pueden aparecer en el conjunto de elementos anterior o posterior. Por ejemplo, si se establece en tres, los articulos se agruparán en conjuntos de elementos que  contendrán uno, dos o tres artículos. En nuestro ejemplo, indicamos 3.
  • Confianza minima: probabilidad mínima que deben tener las reglas de calificación. Por ejemplo, si se establece en 10%, una regla de asociación debe tener una confianza del 10% o superior para que se incluya en el modelo. El valor por defecto es 10% y aumentar su valor puede llevar a generar menos reglas. En nuestro ejemplo indicamos un 0,1%.
  • Soporte minimo: el número mínimo de transacciones en las que se debe producir un conjunto de elementos para que una regla de asociación lo tenga en cuenta. Por ejemplo, si se establece en 1%, los conjuntos de elementos deben aparecer, en promedio, en una transacción cada 100. En nuestro ejemplo indicamos un 0,1%.

A continuación indicamos las variables que intervienen en el análisis, por una lado el indicador de transacción (el indicador para los numeros de pedido que hemos definido) y el indicador de elemento (el indicador para el material). Finalmente, indicamos las opciones de los diferentes indicadores previsibles que se generaran cuando ejecutemos el indicador de formación dentro de un informe. En este caso, indicaremos que reglas de asociación se van a devolver en los indicadores previsibles que se creen. En nuestro ejemplo, devolveremos dos indicadores, la regla de asociación (la tupla grupo peliculas anterior –> grupo peliculas posterior) y la recomendación (grupo peliculas posterior). Y cada indicador lo devolveremos 3 veces, por cada una de las 3 reglas que mas porcentaje de confianza tenga:

Opciones de indicadores previsibles a generar

El modelo ya esta preparado para empezar a trabajar con el. A continuación, incluimos el indicador de formación en un informe, junto con los atributos necesarios para el analisis (cada fila será un pedido, material y el indicador). El informe sería algo asi:

Asociacion - Informe Creacion Indicadores Previsibles

Podeis observar como hemos incluido en las filas los atributos pedido y articulo (al fin y al cabo, los indicadores se construyen sobre dichos atributos) y en las columnas el indicador de formación creado anteriormente. Cuando ejecutamos el informe, se realiza el proceso de analisis y se crean en el lugar indicado los indicadores previsibles (uno o varios según como hayamos definido el indicador de formación). En cada  indicador previsible de los creados podremos visualizar el modelo que se ha creado con el visor de modelos previsibles (aunque hay varios indicadores previsibles, hay un unico modelo). El hecho de que haya varios indicadores previsibles es para tener información diferente que luego poder utilizar en un informe para presentar los resultados del análisis. Podremos ir realizando ajustes al modelo, cambiando el volumen del muestreo o las condiciones indicadas para la obtención de datos, o modificando los porcentajes de confianza y soporte del indicador de formación y generando diferentes indicadores previsibles que analizaremos con el visor correspondiente (tal y como vemos a continuación). También podremos validar el modelo aplicandolo sobre un conjunto de datos o muestreo diferente para confirmar los resultados que hemos obtenido en las diferentes tandas.

Visor de indicadores previsibles

En la imagen, podeis ver el visor de indicadores previsibles, donde tenemos la información del análisis realizado. Podemos ver la tabla de resultados (en otro tipo de analisis, la información que aparecerá será diferente). Podemos ver que Microstrategy ha construido la tabla de conjuntos, estando en las filas las reglas que representan a los grupos anteriores y en las columnas los grupos posteriores. El valor que aparece en cada casilla varia según el tipo de elemento elegido para visualizar ( casilla selección en la parte inferior izquierda):

  • Confidence (confianza o fiabilidad): un estimacion de la probabilidad de que una transacción tenga el elemento posterior en el caso de que contenga el antecesor. La formula sería la siguiente:
    • Confianza = Soporte (Anterior + Posterior en la misma transac ) / Soporte (Anterior)
  • Support (soporte): frecuencia relativa de que una transaccion contenga el anterior y el posterior.
  • Lift (aumento): Una relación que describe si la regla es más o menos significativa que el azar. Valores lift superiores a 1,0 indican que las transacciones con el anterior tienden a contener el posterior más a menudo que las transacciones que no contienen el antecedente.

La leyenda en la parte inferior de la tabla muestra el minimo y el maximo valor de la estadistica seleccionada para visualizar (con la correspondiente graduación de colores según los valores).

Despues de ajustar el modelo, realizar la verificación y las reejecuciones que se estime necesario, podemos comprobar los resultados incluyendo los indicadores previsibles en un informe estandar de Microstrategy. Para nuestro ejemplo, el informe final con los resultados podría ser algo así:

Modelo asociacion - Informe resultados con Indicadores Previsibles

A partir de los resultados, se podrían completar otro tipo de analisis que nos llevasen a establecer determinadas promociones con las peliculas, como colocarlas conjuntamente en los lugares de venta o en las zonas de paso, realizar packs que incluyan las dos, promociones de segunda unidad a un menor precio, etc. Las posibles acciones a realizar se podrian verificar a posteriori utilizando los grupos personalizados, de forma que podamos ver el historico de ventas anteriores de los materiales por separado y como han evolucionado las ventas despues de realizar las correspondientes acciones y venderlos conjuntamente. Incluso podriamos utilizar el indicador de formación que utilizamos en el estudio para verificar que los porcentajes de confianza han aumentado.

Si quereis ampliar información sobre el datamining con Microstrategy, os recomiendo la lectura del white paper elaborado por ellos.

En la siguiente entrada del blog realizaremos el diseño completo de 2 ejemplos mas de Data Mining con Microstrategy 9.

Posted in Business Intelligence, Data Mining, Microstrategy | Leave a Comment »

Teoria de Data Mining.

Posted by Roberto Espinosa en 26 febrero 2010


En una entrada anterior del Blog (2.4. DataMining o Mineria de Datos.) intentamos hacer una aproximación inicial a la teoria del Data Mining. Los procesos de data mining tratan de extraer información oculta en los datos mediante el uso de diferentes técnicas (la mayoría relacionadas con la estadística y los modelos matemáticos, en combinación con aplicaciones informáticas).

Dada la complejidad de estas técnicas, y no siendo el cometido de esta blog entrar en profundidad en esta materia (por cuestiones de tiempo y de conocimientos), nos limitaremos a ver un par de metodologias de datamining, enumerar las técnicas mas habituales y a recordar los conceptos de tres de estas técnicas mediante ejemplos prácticos. Esos mismos ejemplos nos permitirán la posterior utilización de las herramientas de DataMining que proporciona Microstrategy 9 (también incluidas en la Microstrategy Reporting Suite) y explicar que visión tiene el producto de las técnicas de Data Mining.

Antes de comenzar, os recomiendo ver la presentación Data Mining.Extracción de Conocimiento en Grandes Bases de Datos, realizada por José M. Gutiérrez, del Dpto. de Matemática Aplicada de la Universidad de Cantabria, Santander.

Para quien quiera o necesite profundizar en la teoria de data mining, sus técnicas y posibilidades, os dejo la lista de referencias a algunos de los libros mas importantes en este ámbito:

  1. Data mining: practical machine learning tools and techniques.
  2. Data Mining Techniques: For Marketing, Sales, and Customer Relationship.
    Management, 2nd Edition
  3. The elements of statistical learning : data mining, inference, and prediction.
  4. Advanced Data Mining Techniques.
  5. Data Mining: Concepts and Techniques.
  6. Data Preparation for Data Mining.

Pasos a seguir en un proyecto de Data Mining

Existen varias metodologias estandar para desarrollar los analisis DataMining de una forma sistematica. Algunas de las mas conocidas son el CRISP, que es un estandar de la industria que consiste en una secuencia de pasos que son habitualmente utilizados en un estudio de data mining. El otro metodo es el SEMMA, especifico de SAS. Este metodo enumera los pasos a seguir de una forma mas detallada. Veamos un poco en que consiste cada uno.

CRISP-DM (Cross-Industry Standard Process for Data Mining).

El modelo consiste en 6 fases relacionadas entre si de una forma cíclica (con retroalimentación). Podeis ampliar información de la metodologia en la sección de manuales de Dataprix.com. Igualmente, podeis acceder la web del proyecto Crisp aquí. Las fases son las siguientes:

  • Business Understanding: comprensión del negocio incluyendo sus objetivos, evaluación de la situación actual, estableciendo unos objetivos que habran de cumplir los estudios de data mining y desarrollando un plan de proyecto. En esta fase definiremos cual es el objeto del estudio y porque se plantea. Por ejemplo, un portal de ventas de viajes via web quiere analizar sus clientes y habitos de compra para hacer segmentación de ellos y lanzar campañas de marketing especificas sobre cada target con el objetivo de aumentar las ventas. Ese sera el punto de partida de un proyecto de datamining. Información detallada de la fase en Dataprix.com.
  • Data Understanding: una vez establecidos los objetivos del proyecto, es necesario la comprensión de los datos y la determinación de los requerimientos de información necesarios para poder llevar a cabo nuestro proyecto. En esta fase se pueden incluir la recogida de datos, descripción de ellos, exploración y la verificación de la calidad de estos. En esta fase podemos utilizar técnicas como resumen de estadísticas (con visualización de variables) o realizar analisis de cluster con la intención de identificar patrones o modelos dentro de los datos. Es importante en esta fase que este definido claramente lo que se quiere analizar, para poder identificar la información necesaria para describir el proceso y poder analizarlo. Luego habrá que ver que información es relavante para el analisis (pues hay aspectos que se podrán desestimar) y finalmente habrá que verificar que las variables identificadas son independientes entre si. Por ejemplo, estamos en un proyecto de data mining de analisis de clientes para segmentación. De toda la información disponible en nuestros sistemas o de fuentes externas, habrá que identificar cual esta relacionada con el problema (datos de clientes, edad, hijos, ingresos, zona de residencia), de toda esa información, cual es relevante (no nos interesan, para el ejemplo, las aficiones de los clientes) y finalmente, de las variables seleccionadas, verificar que no estan relacionadas entre si (el nivel de ingresos y la zona de residencia no son variables independientes, por ejemplo). La información normalmente se suele clasificar en Demografica (ingresos, educación, numero de hijos, edad), sociografica (hobbys, pertenencia a clubs o instituciones), transaccional (ventas, gastos en tarjeta de credito, cheques emitidos), etc. Ademas, los datos pueden ser del tipo Cuantitativo (datos medidos usando valores numericos) o Cualitativo (datos que determinan categorias, usando nominales u ordinales). Los datos Cuantitativos pueden ser representados normalmente por alguna clase de distribución de probabilidad (que nos determinara como los datos se dispersan y agrupan). Para los Cualitativos, habrá que previamente codificarlos a numeros que nos describiran las distribuciones de frecuencia. Información detallada de la fase en Dataprix.com.
  • Data Preparation: una vez los recursos de datos estan identificados, es necesario que sean seleccionados, limpiados, tranformados a la forma deseada y formateados. En esta fase se llevara a cabo los procesos de Data Cleaning y Data Transformation, necesarios para el posterior modelado. En esta fase se puede realizar exploración por los datos  a mayor profundidad para encontrar igualmente patrones dentro de los datos. En el caso de estar utilizando un Data Warehouse como origen de datos, ya se habran realizado estas tareas al cargar los datos en el. También puede darse el caso de que necesitemos información agregada (por ejemplo, acumulación de ventas de un periodo), información que podremos extraer de nuestro DW con las herramientas tipicas de un sistema BI. Otro tipo de transformaciónes pueden ser convertir rangos de valores a un valor identificativo (ingresos desde/hasta determinan la categoria de ingresos n), o relizar operaciones sobre los datos (para determinar la edad de un cliente utilizamos la fecha actual y su fecha de nacimiento), etc. Ademas, cada herramienta software de Data Mining puede tener unos requerimientos especificos que nos obliguen a preparar la información en un formato determinado (por ejemplo, Clementine o PolyAnalyst tienen diferentes tipos de datos). Información detallada de la fase en Dataprix.com.

Esquema del Metodo CRISP

  • Modeling: en la fase de modelización, utilizaremos software especifico de data mining como herramientas de visualización (formateo de datos para establecer relaciones entre ellos) o analisis de cluster (para identificar que variables se combinan bien). Estas herramientas pueden ser utiles para un analisis inicial, que se podran complementar  con reglas de inducción para desarrollar las reglas de asociación iniciales y profundizar en ellas. Una vez se profundiza en el conocimiento de los datos (a menudo a traves de patrones de reconocimiento obtenidos al visualizar la salida de un modelo), se pueden aplicar otros modelos apropiados de analisis sobre los datos (como por ejemplo arboles de decisión). En esta fase dividiremos los conjuntos de datos entre de aprendizaje y de test. Las herramientas utilizadas nos permitiran generar resultados para varias situaciones. Ademas, el uso interactivo de multiples modelos nos permitira profundizar en el descubrimiento de los datos. Información detallada de la fase en Dataprix.com.
  • Evaluation: el modelo resultante debera de ser evaluado en el contexto de los objetivos de negocio establecidos en la primera fase. Esto nos puede llevar a la identificación de otras necesidades que pueden llevarnos a volver a fases anteriores para profundizar (si encontramos por ejemplo, una variable que afecta al analisis pero que no hemos tenido en cuenta al definir los datos). Esto sera un proceso interactivo, en el que ganaremos comprensión de los procesos de negocio como resultado de las tecnicas de visualización, tecnicas estadísticas y de inteligencia artificial, que mostraran al usuario nuevas relaciones entre los datos, y que permitiran conocer mas a fondo los procesos de la organización. Es la fase mas critica, pues estamos haciendo una interpretacion de los resultados. Información detallada de la fase en Dataprix.com.
  • Deployment: la mineria de datos puede ser utilizada tanto para verificar hipotesis previamente definidas (pensamos que si hacemos un descuento de un 5% aumentaran las ventas, pero no lo hemos comprobado con un modelo antes de aplicar la medida), o para descubrir conocimiento (identificar relaciones utiles y no esperadas). Este conocimiento descubierto nos puede servir para aplicarlo a los diferentes procesos de negocio y aplicar cambios en la organización donde sea necesario. Por ejemplo, pensar en el tipico ejemplo de la compañia de telefonos moviles que detecta que hay fuga de clientes de larga duración por un mal servicio de atención al cliente. Ese aspecto detectado hará que se realicen cambios en la organización, para mejorar ese aspecto. Los cambios aplicados se podrán monitorizar, para verificar en un tiempo determinado su corrección o no, o si tienen que ser ajustados para incluir nuevas variables. Tambien será importante documentarlos para ser utilizados como base en futuros estudios. Información detallada de la fase en Dataprix.com.

El proceso de seis fases no es un modelo rígido, donde usualmente hay mucha retroalimentación y vuelta a fases anteriores. Ademas, los analistas experimentados no tendran la necesidad de aplicar cada fase en todos los estudios.

SEMMA (Sample, Explore, Modify, Model and Assess).

Con el objetivo de ser aplicadas correctamente, una solución de datamining debe de ser vista como un proceso mas que como un conjunto de herramientas o técnicas. Esto es lo que pretende la metodologia desarrollada por el instituto SAS, llamada SEMMA, que significa sample=muestreo, explore=explora, modify=modifica, model=modeliza y assess=evalua. Este metodo pretende hacer mas facil la realización de exploración estadistica y las tecnicas de visualización, seleccionar y transformar las variables predictivas mas significantes, modelizar las variables para predecir resultados y finalmente confirmar la fiabilidad de un modelo. Al igual que el modelo Crisp, es posible la retroalimentación y el volver a fases anteriores durante el proceso. La representación grafica es la siguiente:

Esquema del Metodo SEMMALas fases serían las siguientes:

  • Sample: de un gran volumen de información, extraemos una muestra lo suficientemente significativa y con el tamaño apropiado para poder manipularla con agilidad. Esta reducción del tamaño de los datos nos permite realizar los analisis de una forma mas rapida y conseguimos también obtener información crucial de los datos de una forma mas inmediata. Las muestras de datos las podemos clasificar en tres grupos, segun el objeto para el que se usan: Training (usadas para la construcción del modelo), Validation( usadas para la evaluación del modelo) y Test (usadas para confirmar como se generalizan los resultados de un modelo).
  • Explore: en esta fase de exploración el usuario busca tendencias imprevistas o anomalias para obtener una mejor comprensión del conjunto de datos. En esta fase se explora visualmente y numericamente buscando tendencias o agrupaciones. Esta exploracion ayuda a refinar y a redirigir el proceso. En el caso de que los analisis visuales no den resultados, se exploraran los datos con tecnicas estadisticas como analisis de factor, analisis de correspondencia o clustering.
  • Modify: aqui es donde el usuario, crea, selecciona y transforma las variables con el objetivo puesto en la construcción del modelo. Basandonos en los descubrimientos de la fase de exploración, modificaremos los datos para incluir información de las agrupaciones  o para introducir nuevas variables que pueden ser relevantes, o eliminar aquellas que realmente no lo son.
  • Model: cuando encontramos una combinación de variables que predice de forma fiable un resultado deseado. En este momento estamos preparados para construir un modelo que explique los patrones en los datos. Las tecnicas de modelado incluyen las redes neuronales, arboles de decision,  modelos logisticos o modelos estadisticos como series de tiempo, razonamientos basados en memoria, etc.
  • Assess: en esta fase el usuario evalua la utilidad y fiabilidad de los descubrimientos realizados en el proceso de datamining. Verificaremos aqui lo bien que funciona un modelo. Para ello, podremos aplicarlo sobre muestreos de datos diferentes (de test) o sobre otros datos conocidos, y asi confirmar su vaildez.

Tecnicas de DataMining

Análisis estadístico:

Utilizando las siguientes herramientas:
1.ANOVA: o Análisis de la Varianza, contrasta si existen diferencias significativas entre las medidas de una o más variables continuas en grupo de población distintos.

2.Regresión: define la relación entre una o más variables y un conjunto de variables predictoras de las primeras.

3.Ji cuadrado: contrasta la hipótesis de independencia entre variables. Componentes principales: permite reducir el número de variables observadas a un menor número de variables artificiales, conservando la mayor parte de la información sobre la varianza de las variables.

4.Análisis cluster: permite clasificar una población en un número determinado de grupos, en base a semejanzas y desemejanzas de perfiles existentes entre los diferentes componentes de dicha población.

5.Análisis discriminante: método de clasificación de individuos en grupos que previamente se han establecido, y que permite encontrar la regla de clasificación de los elementos de estos grupos, y por tanto identificar cuáles son las variables que mejor definan la pertenencia al grupo.

Métodos basados en árboles de decisión:

El método Chaid (Chi Squared Automatic Interaction Detector) es un análisis que genera un árbol de decisión para predecir el comportamiento de una variable, a partir de una o más variables predictoras, de forma que los conjuntos de una misma rama y un mismo nivel son disjuntos. Es útil en aquellas situaciones en las que el objetivo es dividir una población en distintos segmentos basándose en algún criterio de decisión.

El árbol de decisión se construye partiendo el conjunto de datos en dos o más subconjuntos de observaciones a partir de los valores que toman las variables predictoras. Cada uno de estos subconjuntos vuelve después a ser particionado utilizando el mismo algoritmo. Este proceso continúa hasta que no se encuentran diferencias significativas en la influencia de las variables de predicción de uno de estos grupos hacia el valor de la variable de respuesta.

La raíz del árbol es el conjunto de datos íntegro, los subconjuntos y los subsubconjuntos conforman las ramas del árbol. Un conjunto en el que se hace una partición se llama nodo.

El número de subconjuntos en una partición puede ir de dos hasta el número de valores distintos que puede tomar la variable usada para hacer la separación. La variable de predicción usada para crear una partición es aquella más significativamente relacionada con la variable de respuesta de acuerdo con test de independencia de la Chi cuadrado sobre una tabla de contingencia.

Algoritmos genéticos:

Son métodos numéricos de optimización, en los que aquella variable o variables que se pretenden optimizar junto con las variables de estudio constituyen un segmento de información. Aquellas configuraciones de las variables de análisis que obtengan mejores valores para la variable de respuesta, corresponderán a segmentos con mayor capacidad reproductiva. A través de la reproducción, los mejores segmentos perduran y su proporción crece de generación en generación. Se puede además introducir elementos aleatorios para la modificación de las variables (mutaciones). Al cabo de cierto número de iteraciones, la población estará constituida por buenas soluciones al problema de optimización.

Redes neuronales:

Genéricamente son métodos de proceso numérico en paralelo, en el que las variables interactúan mediante transformaciones lineales o no lineales, hasta obtener unas salidas. Estas salidas se contrastan con los que tenían que haber salido, basándose en unos datos de prueba, dando lugar a un proceso de retroalimentación mediante el cual la red se reconfigura, hasta obtener un modelo adecuado.

Red Neuronal en Microstrategy

Lógica difusa:

Es una generalización del concepto de estadística. La estadística clásica se basa en la teoría de probabilidades, a su vez ésta en la técnica conjuntista, en la que la relación de pertenencia a un conjunto es dicotómica (el 2 es par o no lo es). Si establecemos la noción de conjunto borroso como aquel en el que la pertenencia tiene una cierta graduación (¿un día a 20ºC es caluroso?), dispondremos de una estadística más amplia y con resultados  más cercanos al modo de razonamiento humano.

Series temporales:

Es el conocimiento de una variable a través del tiempo para, a partir de ese conocimiento, y bajo el supuesto de que no van a producirse cambios estructurales, poder realizar predicciones. Suelen basarse en un estudio de la serie en ciclos, tendencias y estacionalidades, que se diferencian por el ámbito de tiempo abarcado, para por composición obtener la serie original. Se pueden aplicar enfoques híbridos con los métodos anteriores, en los que la serie se puede explicar no sólo en función del tiempo sino como combinación de otras variables de entorno más estables y, por lo tanto, más fácilmente predecibles.

Clasificación de las técnicas de Data Mining

Las tecnicas de Data Mining las podemos clasificar en Association, Classification, Clustering, Predictions y Series Temporales.

  • Association (asociacion):  la relacion entre un item de una transaccion y otro item en la misma transacción es utilizado para predecir patrones. Por ejemplo, un cliente compra un ordenador (X) y a la vez compra un raton(Y) en un 60% de los casos. Este patron ocurre en un 5,6% de las compras de ordenadores. La regla de asociación en esta situación es que “X implica Y, donde 60% es el factor de confianza y 5,6% el factor de soporte. Cuando el factor de confianza y al factor de soporte estan representados por las variables linguisticas alto y bajo, la regla de asociacion se puede escribir en forma de logica difusa, como: “cuando el factor de suporte es bajo, X implica Y es alto”. Este seria el tipico ejemplo de datamining de estudio realizado en supermercados con la asociación entre la venta de pañales de bebe y cerveza (ver entrada del blog Bifacil). Usan los algoritmos de reglas de asociación y arboles de decisión.

Modelo Asociacion en Microstrategy - Compra de Peliculas de DVD

  • Classification (clasificacion): en la clasificación, los metodos tienen la intención de aprender diferentes funciones que clasifiquen los datos dentro de un conjunto predefinido de clases. Dado un nuevo de clases predefinidas, un numero de atributos y un conjunto de datos de aprendizaje o entrenamiento, los metodos de clasificación pueden automaticamente predecir la clase de los datos previamente no clasificados. Las claves mas problematicas relacionadas con la clasificación son las evaluacion de los errores de clasificación y la potencia de predicción.  Las tecnicas matematicas mas usadas para la clasificación son los arboles de decisión binarios, las redes neuronales, programación lineal y estadistica. Utilizando un arbol de decisión binario, con un modelo de inducción de arbol en el formato Si-No, podremos posicionar los datos en las diferentes clases según el valor de sus atributos. Sin embargo, esta clasificación puede no ser optima si la potencia de predicción es baja. Con el uso de redes neuronales, se puede construir un modelo de inducción neuronal.  En este modelo, los atributos son capas de entrada y las clases asociadas con los datos son las capas de salida. Entre las capas de entrada y de salida hay un gran numero de conexiones ocultas que aseguran la fiabilidad de la clasificación (como si fuesen las conexiones de una neurona con las de su alrededor).El modelo de induccion neuronal ofrece buenos resultados en muchos analisis de data mining, cuando hay un gran numero de relaciones se complica la implementación del metodo por el gran numero de atributos. Usando tecnicas de programación lineal, el problema de la clasificación es visto como un caso especial de programación lineal.  La programación lineal optimiza la clasificación de los datos, pero puede dar lugar a modelos complejos que requieran gran tiempo de computación. Otros metodos estadisticos, como la regresión lineal, regresion discriminante o regresión logistica tambien son populares y usados con frecuencia en las procesos de clasificación.

Arbol Decision en Microstrategy

  • Clustering (segmentación): el analisis de cluster toma datos sin agrupar y mediante el uso de tecnicas automaticas realiza la agrupación de estos. El clustering no esta supevisado y no requiere un set de datos de aprendizaje. Comparte un conjunto de metodologias con la clasificación. Es decir, muchos de los modelos matematicos utilizados en la clasificación pueden ser aplicados al analisis cluster tambien. Usan los algoritmos de clustering y de sequence clustering.
  • Prediction (predicción)/Estimación: el analisis de predicción esta relacionado con la tecnicas de regresión. La idea principal del analisis de predicción es descubrir las relaciones entre variables dependientes e independientes y las relaciones entre variables independientes. Por ejemplo, si las ventas es una variable independientes, el benefición puede ser una variable dependiente.
  • Series Temporales (pronostico): utilizando datos historicos junto con tecnicas de regresión lineal o no lineal, podemos producir curvas de regresión que se utilizaran para establecer predicciones a futuro. Usan los algoritmos de series de tiempo.

Ejemplo 1. Analisis de cesta de la compra (Asociacion).

Es el tipico ejemplo que se utiliza para explicar los ambitos de utilización del datamining ( con la asociación entre la venta de pañales de bebe y cerveza ). En nuestro caso, utilizando los ejemplos que proporciona Microstrategy en su plataforma, en el proyecto de aprendizaje que llaman Microstrategy Tutorial, veremos un ejemplo de utilización de técnicas de analisis de asociacion.

En el ejemplo, se analizan las ventas de DVD´s de unos grandes almacenes y se trata de encontrar la asociación entre la venta de diferentes peliculas. Es decir, intentamos encontrar que títulos se venden conjuntamente con el objetivo de establecer posteriormente promociones comerciales de esas peliculas (por ejemplo, venta de packs, ubicación de las peliculas juntas en los pasillos, promoción de descuento por la compra de la segunda unidad, etc), con el objetivo de aumentar las ventas. Para este tipo de analisis utilizaremos analisis de reglas de asociación.

Ejemplo 2. Segmentación de clientes (Analisis de cluster).

Con este analisis pretendemos analizar nuestros clientes y utilizando información demográfica de ellos (edad, educación, numero de hijos, estado civil o tipo de hogar), realizar una segmentación de mercado para preparar el lanzamiento de determinados productos o la realización de ofertas promocionales.

En este caso, realizaremos un analisis de cluster, utilizando el algoritmo k-means, que es el que soporta Microstrategy.

Ejemplo 3. Predicción de ventas en una campaña (Arbol de decisión).

En este analisis utilizaremos un arbol de decisión para determinar la respuesta de un determinado grupo de clientes a rebajas en determinados productos en la epoca de vuelta al colegio. Para ello, utilizaremos arboles de decisión del tipo binario (recordemos que los arboles de decisión se pueden utilizar tanto para clasificación como para analisis de regresión, como en este caso). Intentaremos determinar como influyen factores como la edad, el sexo o el numero de hijos en la probabilidad de realizar compras en esa campaña de rebajas.

En la proxima entrada del blog detallaremos estos ejemplos utilizando las herramientas de Data Mining de Microstrategy.

Posted in Business Intelligence, Data Mining, Formacion | Leave a Comment »

2.4. DataMining o Mineria de Datos.

Posted by Roberto Espinosa en 24 noviembre 2009


Introducción

(Definiciones extraidas del Consejo Superior de Informatica, del documento Manual para la adquisición de un sistema de Data Warehouse, en http://www.csi.map.es/csi/silice/Elogicos.html ).

El Data Mining es un proceso que, a través del descubrimiento y cuantificacion de relaciones predictivas en los datos, permite transformar la información disponible en conocimiento útil de negocio.Esto es debido a que no es suficiente “navegar” por los datos para resolver los problemas de negocio, sino que se hace necesario seguir una metodología ordenada que permita obtener rendimientos tangibles de este conjunto de herramientas y técnicas de las que dispone el usuario.

Constituye por tanto una de las vías clave de explotación del Data Warehouse, dado que es este su entorno natural de trabajo.

Se trata de un concepto de explotación de naturaleza radicalmente distinta a la de los sistemas de información de gestión, dado que no se basa en coeficientes de gestión o en información altamente agregada, sino en la información de detalle contenida en el almacén.

Adicionalmente, el usuario no se conforma con la mera visualización de datos, sino que trata de obtener una relación entre los mismos que tenga repercusiones en su negocio.

Técnicas de Data Mining

Para soportar el proceso de Data Mining, el usuario dispone de una extensa gama de técnicas que le pueden ayudar en cada una de las fases de dicho proceso, las cuales pasamos a describir:

Análisis estadístico:

Utilizando las siguientes herramientas:
1.ANOVA: o Análisis de la Varianza, contrasta si existen diferencias significativas entre las medidas de una o más variables continuas en grupo de población distintos.

2.Regresión: define la relación entre una o más variables y un conjunto de variables predictoras de las primeras.

3.Ji cuadrado: contrasta la hipótesis de independencia entre variables. Componentes principales: permite reducir el número de variables observadas a un menor número de variables artificiales, conservando la mayor parte de la información sobre la varianza de las variables.

4.Análisis cluster: permite clasificar una población en un número determinado de grupos, en base a semejanzas y desemejanzas de perfiles existentes entre los diferentes componentes de dicha población.

5.Análisis discriminante: método de clasificación de individuos en grupos que previamente se han establecido, y que permite encontrar la regla de clasificación de los elementos de estos grupos, y por tanto identificar cuáles son las variables que mejor definan la pertenencia al grupo.

Métodos basados en árboles de decisión:

El método Chaid (Chi Squared Automatic Interaction Detector) es un análisis que genera un árbol de decisión para predecir el comportamiento de una variable, a partir de una o más variables predictoras, de forma que los conjuntos de una misma rama y un mismo nivel son disjuntos. Es útil en aquellas situaciones en las que el objetivo es dividir una población en distintos segmentos basándose en algún criterio de decisión.

El árbol de decisión se construye partiendo el conjunto de datos en dos o más subconjuntos de observaciones a partir de los valores que toman las variables predictoras. Cada uno de estos subconjuntos vuelve después a ser particionado utilizando el mismo algoritmo. Este proceso continúa hasta que no se encuentran diferencias significativas en la influencia de las variables de predicción de uno de estos grupos hacia el valor de la variable de respuesta.

La raíz del árbol es el conjunto de datos íntegro, los subconjuntos y los subsubconjuntos conforman las ramas del árbol. Un conjunto en el que se hace una partición se llama nodo.

El número de subconjuntos en una partición puede ir de dos hasta el número de valores distintos que puede tomar la variable usada para hacer la separación. La variable de predicción usada para crear una partición es aquella más significativamente relacionada con la variable de respuesta de acuerdo con test de independencia de la Chi cuadrado sobre una tabla de contingencia.

Algoritmos genéticos:

Son métodos numéricos de optimización, en los que aquella variable o variables que se pretenden optimizar junto con las variables de estudio constituyen un segmento de información. Aquellas configuraciones de las variables de análisis que obtengan mejores valores para la variable de respuesta, corresponderán a segmentos con mayor capacidad reproductiva. A través de la reproducción, los mejores segmentos perduran y su proporción crece de generación en generación. Se puede además introducir elementos aleatorios para la modificación de las variables (mutaciones). Al cabo de cierto número de iteraciones, la población estará constituida por buenas soluciones al problema de optimización.

Redes neuronales:

Genéricamente son métodos de proceso numérico en paralelo, en el que las variables interactúan mediante transformaciones lineales o no lineales, hasta obtener unas salidas. Estas salidas se contrastan con los que tenían que haber salido, basándose en unos datos de prueba, dando lugar a un proceso de retroalimentación mediante el cual la red se reconfigura, hasta obtener un modelo adecuado.

Lógica difusa:

Es una generalización del concepto de estadística. La estadística clásica se basa en la teoría de probabilidades, a su vez ésta en la técnica conjuntista, en la que la relación de pertenencia a un conjunto es dicotómica (el 2 es par o no lo es). Si establecemos la noción de conjunto borroso como aquel en el que la pertenencia tiene una cierta graduación (¿un día a 20ºC es caluroso?), dispondremos de una estadística más amplia y con resultados  más cercanos al modo de razonamiento humano.

Series temporales:

Es el conocimiento de una variable a través del tiempo para, a partir de ese conocimiento, y bajo el supuesto de que no van a producirse cambios estructurales, poder realizar predicciones. Suelen basarse en un estudio de la serie en ciclos, tendencias y estacionalidades, que se diferencian por el ámbito de tiempo abarcado, para por composición obtener la serie original. Se pueden aplicar enfoques híbridos con los métodos anteriores, en los que la serie se puede explicar no sólo en función del tiempo sino como combinación de otras variables de entorno más estables y, por lo tanto, más fácilmente predecibles.

Metodología de aplicación:

Para utilizar estas técnicas de forma eficiente y ordenada es preciso aplicar una metodología estructurada, al proceso de Data Mining. A este respecto proponemos la siguiente metodología, siempre adaptable a la situación de negocio particular a la que se aplique:

Muestreo

Extracción de la población muestral sobre la que se va a aplicar el análisis. En ocasiones se trata de una muestra aleatoria, pero puede ser también un subconjunto de datos del Data Warehouse que cumplan unas condiciones determinadas. El objeto de trabajar con una muestra de la población en lugar de toda ella, es la simplificación del estudio y la disminución de la carga de proceso. La muestra más óptima será aquella que teniendo un error asumible contenga el número mínimo de observaciones.

En el caso de que se recurra a un muestreo aleatorio, se debería tener la opción de elegir El nivel de confianza de la muestra (usualmente • el 95% o el 99%).

El tamaño máximo de la muestra (número máximo de registros), en cuyo caso el sistema deberá informar del el error cometido y la representatividad de la muestra sobre la población original.

•El error muestral que está dispuesto a cometer, en cuyo caso el sistema informará del número de observaciones que debe contener la muestra y su representatividad sobre la población original.

•Para facilitar este paso s debe disponer de herramientas de extracción dinámica de información con o sin muestreo (simple o estratificado). En el caso del muestreo, dichas herramientas deben tener la opción de, dado un nivel de confianza, fijar el tamaño de la muestra y obtener el error o bien fijar el error y obtener el tamaño mínimo de la muestra que nos proporcione este grado de error.

Exploración

Una vez determinada la población que sirve para la obtención del modelo se deberá determinar cuales son las variables explicativas que van a servir como “inputs” al modelo. Para ello es importante hacer una exploración por la información disponible de la población que nos permita eliminar variables que no influyen y agrupar aquellas que repercuten en la misma dirección.

El objetivo es simplificar en lo posible el problema con el fin de optimizar la eficiencia del modelo. En este paso se pueden emplear herramientas que nos permitan visualizar de forma gráfica la información utilizando las variables explicativas como dimensiones.

También se pueden emplear técnicas estadísticas que nos ayuden a poner de manifiesto relaciones entre variables. A este respecto resultará ideal una herramienta que permita la visualización y el análisis estadístico integrados.

Manipulación

Tratamiento realizado sobre los datos de forma previa a la modelización, en base a la exploración realizada, de forma que se definan claramente los inputs del modelo a realizar (selección de variables explicativas, agrupación de variables similares, etc.).

Modelización

Permite establecer una relación entre las variables explicativas y las variables objeto del estudio, que posibilitan inferir el valor de las mismas con un nivel de confianza determinado.

Valoración

Análisis de la bondad del modelo contrastando con otros métodos estadísticos o con nuevas poblaciones muestrales.

___________________________________________________________________________________________________

En el artículo de Luis Carlos Molina, coordinador del programa de Data Mining de la UOC, también se dan definiciones interesantes desde otro punto de vista (..”torturando a los datos hasta que confiesen” ).

http://www.uoc.edu/web/esp/art/uoc/molina1102/molina1102.html

En este artículo se da una vision global de todo lo relacionado con DataMining, así como ejemplos prácticos de su utilización.

___________________________________________________________________________________________________

Mas información, igualmente, en la monografía elaborada por Cynthia Presser Carne

http://www.monografias.com/trabajos/datamining/datamining.shtml

___________________________________________________________________________________________________

Algunas herramientas de DataMining serían las siguientes (obtenidas de las páginas www.datati.es y www.dataprix.com):

· Aqua BAS 2008 / Aqua eSolutions

· IBM / SPSS: Herramienta de data mining que permite desarrollar modelos predictivos y desplegarlos para mejorar la toma de decisiones. Está diseñada teniendo en cuenta a los usuarios empresariales, de manera que no es preciso ser un experto en data mining.

· dVelox 2.5/ Apara: Plataforma analítica para la toma de decisiones en tiempo real que predice los escenarios futuros más probables para optimizar los procesos críticos de cualquier empresa, Está orientada a los sectores de banca, finanzas y márketing.

· IBM / Cognos.

· Microsoft SQL Server 2008 Datamining: Solución que ofrece un entorno integrado para crear modelos de minería de datos (Data Mining) y trabajar con ellos. La solución SQL Server Data Mining permite el acceso a la información necesaria para tomar decisiones inteligentes sobre problemas empresariales complejos. Data Mining es la tecnología de BI que ayuda a construir modelos analíticos complejos e integrar esos modelos con sus operaciones comerciales.

· MicroStrategy Data Mining Services /Microstrategy: Componente de la plataforma de BI de MicroStrategy que proporciona a los usuarios, modelos predictivos de data mining. Permite realizar tareas de data mining mediante el uso de métricas construidas con funciones predictivas o importadas de modelos de datos de herramientas de data mining de terceros.

· SAS Enterprise Miner / SAS: Solución de minería de datos que proporciona gran cantidad de modelos y de alternativas. Permite determinar pautas y tendencias, explica resultados conocidos e identifica factores que permiten asegurar efectos deseados. Además, compara los resultados de las distintas técnicas de modelización, tanto en términos estadísticos como de negocio, dentro de un marco sencillo y fácil de interpretar.

· Oracle DataMining: Función de Oracle 11g Enterprise Edition que permite diseñar aplicaciones de BI que más tarde realizan funciones de «minería» en las bases de datos corporativas para descubrir nueva información e integrarla con las aplicaciones de negocio.

· MIS Delta Miner / MIS: Herramienta concebida para efectuar análisis de alto nivel, detección de desviaciones y análisis interactivo sobre múltiples fuentes, tanto transaccionales (SQL Server, Oracle, DB2, etc) como multidimensionales (Hyperion Essbase, SAP BW, MS Analysis Services y Oracle Express).

· Teradata Warehouse Miner / Teradata: Solución que facilita la construcción de modelos analíticos directamente sobre la base de datos, eliminando así la necesidad de extraer muestras a sistemas del exterior. Además permite analizar datos sin cambiarlos de sitio y es capaz de visualizar la información para representar regresiones lineales o logísticas.

Dentro de las herramientas OpenSource:

· Weka: Solución de minería de datos OpenSource desarrollada en la Universidad de Waikato, que consiste en una collecion de algoritmos implementados en Java para realizar minería de datos. En la actualidad esta asociado al proyecto pentaho.

· R: proyecto OpenSource de DataMining de la Universidad de Auckland.

· RapidMiner: proyecto OpenSource de DataMining.

Una lista mas completa de herramientas datamining la encontramos en la comunidad KDNUGGETS.COM (Data Mining Community’s ) en el siguiente link.

Para terminar,os recomiendo la lectura de la serie de articulos que hablan de Data Mining publicados en dataminingarticles.com (gracias a bifacil.com).

Si quereis entrar un poco mas en profundidad, podeis ver la presentación Data Mining.Extracción de Conocimiento en Grandes Bases de Datos, realizada por José M. Gutiérrez, del Dpto. de Matemática Aplicada de la Universidad de Cantabria, Santander.

En la presentación se da una visión de la Teoria de Data Mining y se hace un repaso de las diferentes tecnicas existentes, incluyendo ejemplos prácticos. Igualmente, se habla de los programas comerciales mas importantes.

Tambien os puede ser util la documentación y materiales del curso Aprendizaje Automatico y Dataming, realizado en la Universidad Miguel Hernandez de Elche por Cesar Fernandez.

Posted in Business Intelligence, Data Mining | Leave a Comment »

 
A %d blogueros les gusta esto: