lunes, 31 de enero de 2011

1.5 Minería de Datos Aplicada, para la Pequeña y Mediana Empresa



DCC. Dafne Rosso Pelayo

La inteligencia de negocio en la empresa, sólo puede lograrse mediante la adopción de medidas para alcanzarla.

Como comentamos al inicio de este blog, es necesario un cambio de paradigma que nos permita llevar los beneficios que ofrecen las técnicas avanzadas de computación inteligente,  como  data mining  (minería de datos), text mining (minerías de texto), ontologías, técnicas de optimización y aprendizaje dirigido a las PYMES.
En este blog iremos proporcionando paso a paso, las herramientas y técnicas que usted necesita para construir soluciones de inteligencia que pueda aplicar en su negocio, sin necesidad de invertir grandes sumas de dinero.
Hemos estado trabajando en los últimos artículos en obtener patrones de comportamiento que indiquen una dependencia entre los datos que se analizan. Dependencias que muestran que si sucede un evento A lo acompaña un evento B, estas dependencias las obtuvimos mediante la generación de un conjunto de reglas de asociación.
Por ejemplo en el caso (art 1.3) en el cual estábamos buscando estrategias de venta ¿Es suficiente para la empresa saber que  los artículos del tipo 1 los prefieren en piel y los consumen en su mayoría hombres?, estos resultados pueden ayudar a planificar inventarios, mejorar las estrategias de compra y venta de productos, pero probablemente sea necesario incrementar el tipo de datos involucrados para poder obtener resultados en otras áreas, como pueden ser: finanzas, recursos humanos, relaciones con el cliente, etc.
Conforme aumentan los datos en número y en tipo, la complejidad del análisis aumenta, por lo tanto es indispensable ubicar el conjunto de datos que se encuentre involucrado con las metas y objetivos de negocio que usted quiere alcanzar.
Supongamos el siguiente conjunto de datos que es procedente de una tienda de juguetes. El Nombre del atribuido se encuentra en las cajas azules y los diferentes valores que puede obtener en las cajas blancas.

El dueño de una juguetería o distribuidor de juguetes seguramente podrá complementar este cuadro con muchas más características propias de los juguetes. Un tipo de análisis como el del ejemplo anterior arroja elementos que nos apoyan a tomar decisiones basadas en las características propias de los juguetes más vendidos, esto permite, mejorar nuestras ventas. El siguiente paso  ahora es incorporar otros tipos de variables a este análisis.
Supongamos que a este conjunto previo de datos añadimos el siguiente conjunto

Este nuevo conjunto de datos, bajo el mismo algoritmo de reglas de asociación arroja resultados mucho más interesantes que los obtenidos en nuestro primer ejemplo. El “tipo de pago” permitirá tomar decisiones sobre el tipo de venta o descuentos que se debe aplicar a los productos, las fechas darán origen a temporadas de promociones “planificadas”, los horarios permitirán ver si conviene abrir sólo por la tarde o extender los horarios nocturnos una o dos horas, etc.
Sin embargo, el conjunto de datos conforme crece en atributos: tipo, edad, rango de precios, tipo de crédito, etc., y en número de registros, se hace un tanto complicado manejarlo como lo hicimos en el ejemplo del art 1.3, por lo tanto, se vuelve entonces necesario manejar una herramienta que nos facilite el cálculo. Conociendo el algoritmo usted o algún miembro del equipo de TI podría implementarlo en algún lenguaje de programación, o bien si manejan una hoja de cálculo, podrían controlarlo con macros y tablas pivote, sin embargo existen en el mercado, herramientas libres que nos pueden proporcionar el resultado del análisis en segundos. Los reportes bonitos los podrá hacer después a mano en la herramienta que usted prefiera y conozca, lo primordial es tener los resultados del análisis. A mi criterio no es necesario para una PYME comprar una herramienta muy costosa de minería de datos si lo único que estamos buscando es un análisis de reglas de asociación y no los otros 100 tipos de análisis que las herramientas  más robustas poseen.
En mi opinión, las mayoría de las herramientas de minería de datos están ampliamente sobradas para el tipo de análisis y analíticos avanzados que requiere una PYME. Por eso es MUY importante ir conociendo paso a paso que tipo de análisis realmente necesita su empresa y como lo puede conseguir.
La herramienta que a continuación vamos a usar se llama WEKA. WEKA es un software de minería de datos desarrollado por la Universidad de Waikato. WEKA contiene una amplia colección de algoritmos de aprendizaje para emplearse en análisis de minería de datos, y contiene dentro de otros, una buena gama de algoritmos de asociación.
Basta una búsqueda en la WEB para ubicar la página de la Universidad de Waikato y descargar WEKA, una vez instalado el software, el siguiente paso será proporcionar el archivo que contiene los datos a analizar. Le doy un ejemplo con la siguiente tabla.

Tabla 1. Ejemplo de un conjunto tabular de datos

En el siguiente articulo realizaremos el análisis con WEKA por lo que es recomendable realice su instalación y consiga los datos en forma tabular (columnas y registros) que vamos a analizar.

 
Copyright © 2011 Dafne Rosso Pelayo. Todos los derechos reservados.





viernes, 21 de enero de 2011

1.4 Ventajas Competitivas para las Pymes aplicando Inteligencia de Negocio

DCC. Dafne Rosso Pelayo


La inteligencia de negocio en la empresa, sólo puede lograrse mediante la adopción de medidas para alcanzarla.


¿Qué ventajas competitivas puede obtener una Pyme de aplicar un análisis de minería como el que efectuamos en el artículo anterior (artículo 1.3)?.  Por simple que se vea el análisis efectuado, este permite obtener varias ventajas competitivas a través de la identificación de patrones de comportamiento y dependencias en los datos.  Por medio de la obtención de las reglas finales usted puede, por citar algunos ejemplos:

*      Implementar estrategias de venta de acuerdo a que se consume y quien lo consume.
*      Generar promociones relacionando lo que se vende más o promociones sobre lo que se vende menos, según sea la estrategia más adecuada para su empresa.
*      Mejorar la distribución de la mercancía apegándose a los productos que se consumen, adquieren o venden, o bien a los clientes que los adquieren.
*      Priorizar sus estrategias de venta, mercadotecnia, presupuesto, etc.
*      Contratar personal adecuado y más afín a las características de quien consume sus productos.
*      Cambiar o modificar su inventario o su publicidad, de acuerdo a los patrones de consumo de su empresa.

Supongamos que usted pretende mejorar sus ventas. En el ejemplo anterior concluimos que los clientes en su mayoría hombres prefieren los artículos de piel, y no solo eso, sino que el artículo que buscan en piel, es del tipo 1, dicho de otra manera, no vale la pena tener un inventario alto de artículos tipo 1 que no sean de piel, por qué se venden mejor los de piel y si valdría la pena adquirir quizá una mayor variedad en piel de este articulo, así como orientar la venta al tipo de cliente.
En el mismo ejemplo la última instancia generada “Importado & (1000 – 3000) -> Algodón” permite considerar algunas opciones en la toma de decisiones de esta empresa, los artículos de algodón deben de estar en un rango de precios entre mil y tres mil pesos que es lo que la mayoría de sus clientes prefiere pagar y además los clientes prefiere los artículos importados.
Estos ejemplos nos sirven para que usted se pueda dar cuenta del tipo de información que se puede encontrar en sus datos, información valiosa que apoya a la toma de decisiones. El algoritmo presentado se basa simplemente en combinaciones y conteos, la hoja de cálculo tiene varias funcionalidades como tablas pivote, macros, formulas que lo pueden ayudar en la generación de los conjuntos.
El primer paso para que usted pueda aplicar sistemas inteligentes en su empresa ya sea minería de datos, inteligencia de negocio o sistemas de aprendizaje, como puede ver - y este punto es válido incluso para la última y más robusta solución de Inteligencia de Negocios en el mercado -, el  primer punto y más importante es determinar ¿Qué es lo que desea obtener de este tipo de análisis? ¿Mejorar sus ventas? ¿Ahorros? ¿Mejorar su producción? ¿Mejorar su calidad de servicio? ¿Mayor satisfacción de sus clientes?, dependiendo de que busque, será el tipo de información que se maneje, y como se vio en el ejemplo 1.3, si usted busca relacionar atributos de un “ente” sean productos, coches, bienes, clientes, etc. debe buscar colocar la información en una tabla acomodada en columnas donde cada columna es un atributo propio del “ente” que vamos a analizar.
Puede ver otro caso de ejemplo de información usando otro algoritmo, en donde las  reglas que se obtienen en el artículo presentado en http://sg.com.mx/content/view/725  permiten mejorar la toma de decisiones.
Le recomiendo tomar un par de horas para buscar la información que desea analizar. En los siguientes artículos, presentaremos aparte de otro tipo de enfoques y algoritmos, algunas herramientas de uso libre en donde usted en segundos puede obtener información valiosa para su empresa.

Copyright © 2011 Dafne Rosso Pelayo. Todos los derechos reservados

sábado, 15 de enero de 2011

1.3 Encontrando relaciones ocultas en los datos


Aplicación de reglas de asociación.
DCC. Dafne Rosso Pelayo
La inteligencia de negocio en la empresa, sólo puede lograrse mediante la adopción de medidas para alcanzarla.


Cuando buscamos información sobre inteligencia de negocios o minería de datos, solemos encontrarnos el ejemplo clásico de la cerveza y los pañales, el cuál comenta como una cadena de supermercado a través de la aplicación de minería de datos pudo encontrar ese patrón en su información de consumo, particular al género masculino y a esa cadena de supermercados.  
Es posible encontrar este tipo  de correlaciones o dependencias en los datos, empleando más de una técnica de minería de datos. En este artículo vamos a trabajar con una técnica  conocida como reglas de asociación.  Las reglas de asociación permiten descubrir patrones de comportamiento, indicando qué tipo de dependencias o  “reglas”  existen en nuestro caso  particular.  
Las reglas de asociación como decíamos, indican patrones de comportamiento, y son aplicables a cualquier tipo de dato de preferencia nominal (datos textuales). Para el tratamiento de datos numéricos es preferible otro tipo de algoritmos. Las reglas tanto del lado izquierdo o derecho pueden contener cualquier número de atributos o elementos. La siguiente tabla, muestra la estructura que presentan estas reglas.

Regla
Interpretación
Atributo 1  -> Atibuto 2

Cuando pasa el atributo 1 ocurre el atributo 2
Atributo 1  &  Atributo 2 - > Atributo 3
Cuando pasa el atributo 1 junto con el atributo 2  ocurre el atributo 3 (ej. cerveza & masculino -> pañales)

Atributo 3  & atributo x  &  Atributo z - > Atributo g
Cuando pasa el atributo 3 junto con el atributo x,  y junto con el atributo z  ocurre el atributo g


Tabla 1. Estructura de las reglas de asociación

Para determinar que tan exactas son las reglas generadas con algoritmos de minería de datos es necesario calcular una medida de cobertura y precisión. Estas medidas indican el grado con el que las reglas  soportan o representan a los datos. La cobertura se refiere al número de instancias del conjunto total de datos para los cuales la regla predice correctamente y la precisión o confianza es expresada como una proporción de las instancias a las que aplica. Por ejemplo para la regla (tipo 1 & tipo 2 -> tipo 3) tenemos 10 registros o instancias de un total de 25, que incluyen el producto Tipo 1 y el producto Tipo 2 y solo se encuentran 3 instancias en estas 10, que incluyen el producto Tipo 3 (además del Tipo 1 y Tipo 2). Entonces su cobertura es de 3 o bien (12 % = 3 / 25) y la precisión o confianza es de 3 / 10.
Para que podamos afirmar que la regla es válida debe de contar con una precisión y cobertura alta. Esto es, si y solo si la regla tiene una precisión y cobertura alta es una regla valida y puede ser aplicada al conjunto de datos.
Veamos cómo podemos obtener este tipo de reglas.  
Por dónde empezar
Para aplicar los algoritmos de minería de datos, es recomendable que el volumen de datos sobre el que se aplique sea grande. En proporción al giro y tamaño de la empresa deberá escoger un volumen de información que considere represente de manera adecuada el caso que va a analizar con la minería de datos. Debido a que los volúmenes de información tienden a ser muy grandes (imagínese el volumen de operación anual de cualquier cadena de supermercados, gasolineras, franquicia de hamburguesas  u otro comercio “global”),  se emplean herramientas de minería de datos que facilitan el proceso ya que sin ellas, sería prácticamente imposible realizarlo.
Pero no estamos hablando en este blog de esos casos, recordemos que en este blog en primer lugar estamos orientando las técnicas de sistemas inteligentes a las pymes y en segundo lugar hablamos de que no contamos con los recursos para pagar un licenciamiento de una suite de inteligencia de negocio. Procedamos con nuestro primer ejemplo paso a paso, posteriormente, en los siguientes artículos, trataremos el mismo caso y otros más complejos con herramientas de uso libre que podemos encontrar en la WEB.

Ejemplo de reglas de asociación.
Paso número uno
·         Prepare los datos que vamos a analizar.
Es sumamente importante antes de realizar un análisis de minería de datos, tener claras las siguientes preguntas ¿Qué tipo de datos tiene su empresa? y ¿Qué tipo de resultados quiere encontrar con la minería de datos? .  Ambas preguntas son muy importantes porque de eso depende el tipo de técnica,  algoritmo o método que deba de ser empleado en sus datos. Más adelante publicare un artículo con un compendio de tipos de datos vs.  tipos de análisis que se pueden realizar.
En este caso de ejemplo sobre reglas de asociación estamos buscando un patrón de consumo en una empresa que se dedica a la venta de artículos. Ud. puede fácilmente sustituir los campos por los que considere adecuados a su giro.
La siguiente tabla contiene un ejemplo de los productos vendidos en un periodo de tiempo y sus características.
Origen
Sexo
Precio
Tela
Producto
Importado
Hombre
 1000 - 3000
Algodón
Tipo 1
Nacional
Hombre
> 3000
Piel
Tipo 1
Importado
Hombre
> 3000
Piel
Tipo 1
Importado
Mujer
 1000 - 3000
Algodón
Tipo 1
Importado
Mujer
> 3000
Lino
Tipo 1
Nacional
Hombre
 1000 - 3000
Algodón
Tipo 2
Nacional
Mujer
> 3000
Lino
Tipo 2
Nacional
Mujer
 1000 - 3000
Piel
Tipo 2
                                                                Tabla 2. Ejemplo de conjunto de datos.
Paso número dos
·         Efectuamos el conteo de cada una de las instancias en donde aparece cada atributo.
Esto es un conteo simple de los elementos que tenemos en la base de datos que contienen al atributo en cuestión.
Conjunto de atributos
Origen
Sexo
Precio
Nacional
4
Hombre
4
> 3000
4
Importado
4
Mujer
4
1000 - 3000
4
Tela
Producto
Algodón
3
Tipo 1
5
Lino
2
Tipo 2
3
Piel
3

Paso número tres
·         Empezamos a combinar los atributos y verificar el número de instancias para las que son validas, se combinan los atributos de dos en dos, de tres en tres, hasta n-1 en n-1 atributos, donde n es el número de atributos, para este ejemplo n = 5, así que generaremos 4 conjuntos y verificaremos para cuantas instancias es válida la regla generada. Aquellas reglas que tengan una cobertura menor a 2 (< 2)  se eliminan.
Combinamos en pares los atributos del primer conjunto y verificamos  su cobertura, se muestra en rojo los menores de 2.

Conjunto de datos
Cobertura
Cobertura
Nacional
Hombre
2
Importado
Hombre
2
Nacional
Mujer
2
Importado
Mujer
2
Nacional
> 3000
2
Importado
> 3000
2
Nacional
1000 - 3000
2
Importado
1000 - 3000
2
Nacional
Algodón
1
Importado
Algodón
2
Nacional
Lino
1
Importado
Lino
1
Nacional
Piel
2
Importado
Piel
1
Nacional
Tipo 1
1
Importado
Tipo 1
4
Nacional
Tipo 2
3
Importado
Tipo 2
0
Hombre
> 3000
2
Mujer
> 3000
2
Hombre
1000 - 3000
2
Mujer
1000 - 3000
2
Hombre
Algodón
2
Mujer
Algodón
1
Hombre
Lino
0
Mujer
Lino
2
Hombre
Piel
2
Mujer
Piel
1
Hombre
Tipo 1
3
Mujer
Tipo 1
2
Hombre
Tipo 2
1
Mujer
Tipo 2
2
> 3000
Algodón
0
1000 - 3000
Algodón
3
> 3000
Lino
2
1000 - 3000
Lino
0
> 3000
Piel
2
1000 - 3000
Piel
1
> 3000
Tipo 1
3
1000 - 3000
Tipo 1
2
> 3000
Tipo 2
1
1000 - 3000
Tipo 2
2
Algodón
Tipo 1
2
Lino
Tipo 1
1
Algodón
Tipo 2
1
Lino
Tipo 2
1
Piel
Tipo 1
2
Piel
Tipo 2
1




Conjunto de atributos (eliminando los que tienen cobertura <2)
Nacional
Hombre
2
Importado
Hombre
2
Nacional
Mujer
2
Importado
Mujer
2
Nacional
> 3000
2
Importado
> 3000
2
Nacional
1000 - 3000
2
Importado
1000 - 3000
2
Nacional
Piel
2
Importado
Algodón
2
Nacional
Tipo 2
3
Importado
Tipo 1
4
Hombre
> 3000
2
Mujer
> 3000
2
Hombre
1000 - 3000
2
Mujer
1000 - 3000
2
Hombre
Algodón
2
Mujer
Lino
2
Hombre
Piel
2
Mujer
Tipo 1
2
Hombre
Tipo 1
3
Mujer
Tipo 2
2
> 3000
Lino
2
1000 - 3000
Algodón
3
> 3000
Piel
2
1000 - 3000
Tipo 1
2
> 3000
Tipo 1
3
1000 - 3000
Tipo 2
2
Algodón
Tipo 1
2
Piel
Tipo 1
2


Para combinar los siguientes conjuntos, se toma cada conjunto de atributos anterior y se combina con los atributos restantes que no son del mismo tipo. Por ejemplo, para el siguiente conjunto de tres atributos:  Nacional- Hombre no se combina con Mujer porque Hombre y Mujer pertenecen al mismo atributo sexo.

Conjunto de atributos
Nacional-Hombre
> 3000
1
Importado-Hombre
> 3000
1
Nacional-Hombre
1000 - 3000
1
Importado-Hombre
1000 - 3000
1
Nacional-Hombre
Piel
1
Importado-Hombre
Algodón
1
Nacional-Hombre
Tipo 2
1
Importado-Hombre
Tipo 1
2
Nacional-Mujer
> 3000
1
Importado-Mujer
> 3000
1
Nacional-Mujer
1000 - 3000
1
Importado-Mujer
1000 - 3000
1
Nacional-Mujer
Piel
1
Importado-Mujer
Algodón
1
Nacional-Mujer
Tipo 2
0
Importado-Mujer
Tipo 1
2
Nacional-> 3000
Piel
1
Importado-> 3000
Algodón
0
Nacional-> 3000
Tipo 2
1
Importado-> 3000
Tipo 1
2
Nacional-1000 - 3000
Piel
1
Importado-1000 - 3000
Algodón
2
Nacional-1000 - 3000
Tipo 2
2
Importado-1000 - 3000
Tipo 1
2
Nacional-Piel
Tipo 2
1
Importado-Algodón
Tipo 1
2
Hombre-> 3000
Algodón
0
Mujer-> 3000
Lino
2
Hombre-> 3000
Piel
2
Mujer-> 3000
Tipo 1
1
Hombre-> 3000
Tipo 1
2
Mujer-> 3000
Tipo 2
1
Hombre-1000 - 3000
Algodón
2
Mujer-1000 - 3000
Lino
0
Hombre-1000 - 3000
Piel
0
Mujer-1000 - 3000
Tipo 1
1
Hombre-1000 - 3000
Tipo 1
1
Mujer-1000 - 3000
Tipo 2
1
Hombre-Algodón
Tipo 1
1
Mujer-Lino
Tipo 1
1
Hombre-Piel
Tipo 1
2
Mujer-Lino
Tipo 2
1
> 3000-Lino
Tipo 1
1
1000 - 3000-Algodón
Tipo 1
2
> 3000-Piel
Tipo 1
2
1000 - 3000-Algodón
Tipo 2
1

Conjunto de atributos (eliminando los que tienen cobertura < 2)
Nacional- 1000 - 3000-Tipo 2
2
Importado-Hombre-Tipo 1
2
Hombre-> 3000-Piel
2
Importado-Mujer-Tipo 1
2
Hombre-> 3000-Tipo 1
2
Importado-> 3000-Tipo 1
2
Hombre- 1000 - 3000-Algodón
2
Importado- 1000 - 3000-Algodón
2
Hombre-Piel-Tipo 1
2
Importado- 1000 - 3000-Tipo 1
2
> 3000-Piel-Tipo 1
2
Importado-Algodón-Tipo 1
2
Mujer-> 3000-Lino
2
 1000 - 3000-Algodón-Tipo 1
2

Conjunto de atributos
Hombre-> 3000-Piel
Tipo 1
2
Importado- 1000 - 3000-Algodón
Tipo 1
2

Este es el último conjunto posible y se obtiene de combinar las reglas marcadas en verde en el conjunto 3, ya que los otros atributos no se pueden combinar ya que sus conjuntos solo son de un elemento.
Paso número cuatro.

Se generan las reglas posibles del último conjunto de atributos obtenido.
REGLAS DE:   Hombre-> 3000-Piel
Tipo 1
cobertura
1
Sexo = Hombre & Precio = > 3000 & Tela = Piel -> Producto = Tipo 1
2/2
2
Sexo = Hombre & Precio = > 3000 & Producto = Tipo 1 -> Tela = Piel
2/2
3
Sexo = Hombre & Tela = Piel & Producto = Tipo 1 -> Precio = > 3000
2/2
4
Precio = > 3000  & Tela = Piel & Producto = Tipo 1 -> Sexo = Hombre
2/2
5
Sexo = Hombre & Precio = > 3000  -> Producto = Tipo 1 ,Tela = Piel
2/2
6
Sexo = Hombre & Tela = Piel  -> Producto = Tipo 1 , Precio = > 3000
2/2
7
Precio = > 3000 & Tela = Piel  -> Producto = Tipo 1 ,  Sexo = Hombre
2/2
8
Precio = > 3000 & Producto = Tipo 1  -> Tela = Piel ,  Sexo = Hombre
2/3
9
Sexo = Hombre &  Producto = Tipo 1  ->Tela = Piel, Precio = > 3000
2/3
10
Tela = Piel & Producto = Tipo 1  -> Precio = > 3000  ,  Sexo = Hombre
2/2
11
Sexo = Hombre   -> Producto = Tipo 1 ,Tela = Piel, Precio = > 3000
2/4
12
 Precio = > 3000  -> Producto = Tipo 1 ,Tela = Piel, Precio = > 3000,Sexo = Hombre
2/4
13
Tela = Piel  -> Producto = Tipo 1 ,Tela = Piel, Precio = > 3000.Sexo = Hombre 
2/3
14
 Producto = Tipo 1   -> Sexo = Hombre,Tela = Piel, Precio = > 3000
2/5
15
 -> Producto = Tipo 1 ,Tela = Piel, Precio = > 3000,Sexo = Hombre 
2/8

Interpretando un par de las reglas, tenemos que para esta empresa:
1.      Los hombres tienden a gastar más de 3000 en productos de piel y prefieren el producto tipo 1.
2.      Los hombres buscan el producto tipo 1 de piel y con un costo mayor a 3000 pesos.
Conclusiones
En este artículo, vimos como es posible generar patrones de consumo a partir de un conjunto de datos definido. El algoritmo en cuestión es extremadamente sencillo y fácil de implementar, sin embargo existen otros algoritmos para generar reglas de asociación.
Es factible implementar este algoritmo empleando hojas de cálculo, tablas pivote y macros que armen las combinaciones por nosotros, o si se cuenta con una base de datos con algunas consultas predefinidas también es factible su implementación.

El conjunto de reglas detectado, permite tomar decisiones sobre el número de artículos que fabricar, adquirir, tendencias de tipo , gustos del cliente, etc. Este tipo de análisis es útil tanto al fabricante y  al distribuidor, como al vendedor.
En el próximo articulo platicaremos sobre la preparación del conjunto de datos la cuál es completamente independiente de la herramienta que emplee, así cuente con la más poderosa suite de inteligencia de negocios, el paso de preparar la información es indispensable. Presentaremos también herramientas de uso libre con las cuales podemos obtener las reglas de asociación mucho más rápido.
Copyright © 2011 Dafne Rosso Pelayo. Todos los derechos reservados