Nos encontramos inmersos en una época donde el volumen de datos generados está creciendo en volumen y a un ritmo relevante, de ahí la importancia que cobra la minería de datos.
Y es que, la evolución de la tecnología y la capacidad de computación nos permite adquirir conocimiento y ventajas competitivas mediante su explotación a través de la minería.
Los antiguos sistemas de almacenamiento no son capaces de proporcionar la capacidad suficiente para su gestión dando paso a sistemas capaces de atender las funciones de escritura y lectura con mayor capacidad y rapidez.
La evolución de la tecnología e infraestructuras permiten acceder y generar mayor cantidad de datos procedentes de las transacciones bancarias, comercio online, robotización o interacción entre dispositivos entre otros.
La interpretación de los mismos mediante su manipulación, para encontrar asociaciones, relaciones, tendencias o patrones, permite convertirlos en información interpretable por los seres humanos.
La capacidad de conseguir información ofrece una ventaja competitiva facilitando la toma de decisiones en cualquier ámbito o sector de una forma objetiva.
Por último, la posesión de información unido a la experiencia y estudio a lo largo del tiempo permite conseguir el conocimiento que fomenta las acciones necesarias para conseguir el objetivo, pudiendo ser un aumento de ventas o una mejora de la eficiencia.
Hoy en día la explotación de los datos puede dirigirse a cualquier sector, ya sea para mejorar nuestra tasa de captación de clientes, el volumen de ventas o la mejora de la eficiencia de nuestras operaciones para la reducción de costes.
Todo hace pensar que ninguna compañía puede permitirse no plantearse aumentar sus capacidades analíticas ya sea tanto para mantener su posición en el mercado como para crecer.
¿Qué es la minería de datos?
La minería de datos es la ciencia o metodología que permite explotar los datos con el objetivo de generar modelos que posibiliten describir, encontrar patrones, establecer agrupaciones, clasificar, segmentar o asociar productos, clientes o cualquier otra entidad objeto de obtener conocimiento y ser aplicados a otros nuevos obteniendo respuestas de acción inmediata.
Repaso a ciertos conceptos
En el mundo analítico existe la necesidad de realizar algunas diferenciaciones sobre ciertos términos donde hoy en día existe cierta confusión.
Cada uno de ellos ofrece y requiere cosas diferentes o responde a necesidades distintas.
-
Business Intelligence
Por Inteligencia de negocio se pueden entender el conjunto de metodologías, prácticas o capacidades orientadas a la generación y gestión de la información que permite la toma de decisiones a los usuarios de una organización.
Con la siguiente cita podemos interpretar la idea que la inteligencia de negocio pretende promover:
“Lo que no se define no se puede medir. Lo que no se puede medir, no se puede mejorar. Lo que no se mejora, se degrada siempre”
Algunas tecnologías que forman parte del business intelligence son:
- Data warehouse.
- Reporting.
- Análisis OLAP.
- Cuadros de Mando.
Se puede entender que la inteligencia de negocio permite responder a preguntas tales como:
- ¿Qué paso?
- ¿Cómo pasó?
- ¿Con qué frecuencia?
- ¿Cuál es el problema?
- ¿Qué debemos hacer?
Por lo tanto, nos permite entender la situación pasada y presente de la organización.
Existen procesos previos de tratamiento que permiten dotarlos de mayor estructura y que sean aptos para su explotación.
Esta es una diferencia con las bases de datos de los sistemas operacionales donde estos pueden presentar una forma menos estructurada.
Es por ello, que los procesos ETL (Extract, Transform and Load) se encargan de organizarlos desde los sistemas operacionales hasta su almacenamiento en el Almacén de Datos (Datawarehouse).
Hoy en día, existen organizaciones que no los tratan y que carecen de la capacidad de analizar lo que está pasando en su organización y, por lo tanto, qué medidas implementar.
-
Business Analytics
En este caso, podemos entender el análisis de negocio como la metodología, técnica o sistemas que a partir del pasado permiten predecir conductas o eventos futuros mediante el descubrimiento de patrones.
Los datos utilizados pueden ser estructurados o semiestructurados con una complejidad mayor y el tratamiento previo a su explotación requerirá mayor atención.
-
Big Data
Finalmente, el Big Data proporciona un entorno adaptado para hacer frente a las 3 "Vs":
- Volumen.
- Velocidad.
- Variedad.
Vemos cada uno de ellos.
1.- Volumen
Nos encontramos con tecnologías de almacenamiento con capacidad de sharding o gestión de almacenamiento distribuido para poder dar cabida a un gran volumen, o con sistemas de ficheros como HDFS (Hadoop Distributed File System) para la clusterización y aplicación del método MapReduce.
2.- Velocidad
Como hemos comentado anteriormente, las tasas de generación de datos son cada vez más elevadas y, por lo tanto, debemos disponer de un entorno con gran velocidad de carga y procesamiento.
3.- Variedad
Por último, nuestros "protagonistas" pueden presentarse de forma estructurada, donde muestran formas atómicas elementales; no estructurada, tales como texto, imágenes, audios o vídeos; o finalmente, encontrarse a medio camino presentando formas semiestructuradas.
Existe cierto consenso acerca de la existencia de una cuarta V, de Veracidad, que consistiría en comprobar y asegurar la verdad y la confianza de los datos que estamos consumiendo y que se considera una exigencia para obtener información adecuada.
Modelo de madurez de una empresa respecto al dato
Existen diversos modelos para evaluar la situación de una empresa referente a sus competencias analíticas.
En caso de centrarnos más en la Inteligencia de negocio tenemos el modelo BIMM definido en el framework COBIT.
También tenemos el modelo DELTA de Thomas Davenport donde pueden encontrarse numerosas referencias.
El modelo menciona tres capacidades que toda organización debe considerar:
- Organización de los procesos para la consecución de los objetivos e implantación de los procesos.
- Capacidades humanas en búsqueda de habilidades para la promoción de las actividades y la cultura analítica.
- Y tecnología que permita obtener datos de calidad y aplicaciones integradas.
En el modelo se distinguen los siguientes tipos de empresas:
-
Organizaciones que no consideran el análisis
En este caso, no existe organización de procesos analíticos y los conocimientos de los clientes, mercados y competidores es limitado.
Referente a la tecnología, carecen de procesos integrados y los datos son de poca calidad.
Por último, no disponen de factor humano con capacidades o aspiraciones analíticas tanto a nivel de diseño como a nivel de dirección y la toma de decisiones se hace basándose en la intuición y la experiencia.
-
Organizaciones con actividad analítica aislada
En este caso, existen silos de información donde se disponen de procesos analíticos pero desconocidos por el resto de la organización.
Existe cierta tecnología poco desarrollada basada en bases de datos relacionales, pero con un modelo inconexo y con ausencia de información relevante.
Existen personas con curiosidades analíticas que adquieren conocimientos y experiencia a medida que se implementan algunos procesos.
En ocasiones, los resultados de algunas iniciativas despiertan el interés de otras áreas de la organización.
-
Aspirantes analíticos
Existe una coordinación de la organización y se han empezado a definir métricas de interés y procesos de análisis de la calidad del dato.
Los procesos analíticos muestran cierta separación respecto a otras áreas, pero la conciencia a nivel empresarial es completa.
Tecnológicamente, se invierte en la expansión y desarrollo de almacenes de datos.
A nivel personal, existen habilidades analíticas en la mayoría de los departamentos, pero con cierta falta de integración.
Los mandos intermedios empiezan a explotarlos y su toma de decisiones empieza a estar fundamentada en los hechos.
A nivel general, existe personal con ciertas reticencias a aceptar el cambio en la toma de decisiones con menor peso de la intuición.
-
Organización analítica
Existe una integración de muchos de los procesos y de las capacidades analíticas.
Además son de gran calidad y existe una hoja de ruta para la evolución de los sistemas de almacenamiento.
Existe un "Gobierno del dato" en búsqueda del control del ciclo de vida del mismo.
Nos encontramos en una organización comprometida y existen capacidades analíticas y procesos de mejora continua.
-
Competidor analítico
Nos encontramos con un conocimiento estratégico profundo.
Existe un desarrollo y renovaciones continuas, los procesos están completamente integrados, y la tecnología representa un soporte para el completo de la organización para la práctica de la inteligencia de negocio y del análisis de negocio.
Cuentan con perfiles profesionales dentro de la organización con grandes capacidades analíticas, la dirección está plenamente involucrada, existiendo incluso un comité de gestión.
Es una cultura de toma de decisiones basadas en hechos y aprendizaje continuo.
Ciclo de vida del dato
Vemos de forma breve pero visual el ciclo de vida y sus correspondientes fases.
Metodología de implantación CRISP-DM
Analizamos ahora en profundidad esta metodología y todo lo que conlleva.
-
Comprensión del negocio
Como todo proyecto es importante conocer el objetivo que se trata de alcanzar para la culminación de este.
Para ello, debemos establecer los objetivos del negocio, evaluar la situación actual, detectar los objetivos buscados en la minería de datos y los hitos del proyecto.
-
Compresión de los datos
Esta fase se centra en conocer y analizar la captura de los mismos y sus fuentes, conocer la información que los describe y las relaciones establecidas entre los diferentes atributos.
En el análisis exploratorio se utilizarán gráficas y cálculos para determinar la necesidad de transformaciones de los datos capturados.
Así mismo, evaluaremos la calidad asegurando su idoneidad para el correcto modelado.
En la comprensión, deberemos verificar los objetivos planteados en la fase anterior.
-
Preparación
Esta fase requiere del mayor consumo de tiempo en el proyecto.
Tras las dos fases anteriores realizaremos las tareas necesarias para seleccionar, limpiar, integrar y construir nuestros juegos de datos para su modelado.
Algunas actividades de esta fase son:
- Escalados de variables numéricas para desplazar dichas variables a rangos equivalentes.
- Balanceado de registros de la variable objetivo en el caso de algoritmos de clasificación.
- Eliminación de outliers o valores atípicos de una observación por distorsionar el modelo.
- Eliminación o rellanado de valores nulos o vacíos.
- Llegado el caso, eliminado de variables de entrada por presentar correlaciones con otras variables o con aquellos de baja calidad.
- Agrupación, creación de intervalos u otras transformaciones de las variables de entrada.
-
Modelado
Tomaremos decisiones sobre la técnica de modelado buscando que su comportamiento sea el más eficiente.
Para ello, definiremos las métricas convenientes que permitan comparar la calidad entre los diferentes algoritmos, siendo habitualmente la tasa de acierto, de error o de matrices de confusión.
Cada modelo permite ajustar un conjunto de parámetros para modular su comportamiento.
La evaluación reiterada de los resultados permitirá definir el valor de dichos parámetros para encontrar el comportamiento óptimo.
Pudiera ser necesario volver a la fase anterior para realizar transformaciones adicionales en la fase de preparación.
-
Evaluación
Tras el modelado realizaremos una evaluación de los objetivos de negocio, preferiblemente de manera cuantificada, contrastando las diferentes opciones.
Se pueden obtener descubrimientos adicionales a los planteados inicialmente y pueden abrir nuevas líneas de exploración.
Se realizarán revisiones globales del proceso introduciendo cambios en las fases relacionadas, documentando las conclusiones y resultados obtenidos.
-
Despliegue
Llegados a este punto, la organización dispone del modelado apto para su explotación y procederá al despliegue de la solución.
Para conseguirlo, deberá realizarse un plan de puesta en producción, realizar el seguimiento y mantenimiento, así como documentarlo apropiadamente.
Descubriendo el conocimiento oculto
Para el modelado es necesario combinar diferentes técnicas y tecnologías.
La elección de un determinado lenguaje de programación, un determinado algoritmo o fuentes determinarán el resultado final.
El proceso de obtención de conocimiento se basa en la elección como variable objetivo de una variable categórica o numérica de nuestro juego de datos.
El resto serán nuestras variables de entrada y a partir de la cuales trataremos de determinar el valor de nuestra variable objetivo para futuros registros de nuestras fuentes.
A continuación, realizaremos una clasificación de los algoritmos y mostraremos algunas funcionalidades.
-
Supervisados, no supervisados…
Los algoritmos supervisados disponen de datos cuyo valor de la variable objetivo es conocido.
Esto nos permite entrenar y comprobar nuestro modelo para realizar los ajustes necesarios para su correcto funcionamiento.
De esta forma, podemos decir que el algoritmo aprende de situaciones anteriores.
Por el contrario, existen ocasiones donde no se disponen de juegos de datos cuya variable objetivo esté debidamente etiquetada o cuantificada y utilizamos los de entrada para clasificar, segmentar o agrupar nuestros registros.
Actualmente, se han definido los algoritmos de aprendizaje por refuerzo o Reinforcement Learning donde además de los de entrada se evalúa el estado presente para el cálculo de la acción a tomar, buscando la mayor recompensa del procesado.
-
Algoritmos según el objetivo
La minería de datos puede buscar diferentes objetivos con clientes, productos, personas o cualquier otro elemento con interés de ser analizado.
Para ello, empleará algoritmos distintos según la necesidad, pudiendo ser estos supervisados o no supervisados.
El abanico de opciones es extenso, así como los algoritmos derivados buscando contrarrestar algunos de sus efectos adversos.
A continuación, se hace una breve pincelada.
Problemas de regresión
En ocasiones, nos encontramos con variables objetivo numéricas para las cuales queremos predecir o determinar valores futuros.
Para ellos, establecemos funciones de regresión de la variable de entrada con la variable objetivo.
Por ejemplo, podríamos querer predecir la venta futura del año de un determinado cliente a partir de sus atributos.
Clusterización o segmentación
Existen situaciones donde es necesario segmentar o agrupar un conjunto de elementos, como por ejemplo clientes, en función de sus atributos.
De este modo, se pueden definir estrategias comerciales en función del segmento en el que un determinado cliente se ubica.
Sus atributos pueden ser tanto de carácter personal (como la edad) o, según la relación con la organización (como el volumen de compras o el tipo de productos consumidos).
Ejemplos de este tipo de algortimos son Kmeans o agrupaciones jerárquicas.
El objetivo en este caso es obtener clústeres donde los elementos de un mismo clúster tengan la mínima distancia posible y la máxima distancia respecto a elementos de los que sean distintos.
Clasificación
Comúnmente los algoritmos de clasificación funcionan entrenando el modelo previamente, es por ello, que estaríamos hablando de algoritmos supervisados.
Ejemplos de este tipo de algoritmos serían las la Maquinas de Soporte Vectorial (SVM, Support Vector Machine) o los Árboles de Decisión (como, por ejemplo, módulo Rpart del código Ro clasificación por árboles múltiples Random Forest).
Los algoritmos de clasificación nos permiten clasificar en un determinado grupo nuevas entradas en función del modelo entrenado previamente.
A continuación, podemos ver la clasificación mediante árboles de decisión de tres comerciales de una empresa en función de los kilómetros realizados, las visitas, los ingresos y el margen y la comparación de aciertos con los datos de test.
Asociación
En ocasiones buscamos encontrar la existencia de asociaciones entre elementos.
Por ejemplo, en un supermercado se puede observar qué productos son comprados conjuntamente con otros, buscando reubicar los productos para favorecer un incremento de las ventas aprovechando la palanca que algunos productos o grupo de ellos ofrecen respecto a los "afines".
Como ejemplo de estos algoritmos tenemos apriori y eclat.
Estos algoritmos hacen uso de la probabilidad condicionada mediante su soporte, confianza y su elevación (lift) mostrando si un producto o productos son comprados conjuntamente con uno o varios productos con una mayor probabilidad de la que cabría esperar.
Otros
Existen multitud de aplicaciones adicionales donde aplicar la minería de datos.
A veces, únicamente queremos reducir la dimensionalidad de las variables de entrada para estimar, clasificar o segmentar una variable objetivo mediante el estudio de la variabilidad o la ganancia de información que estas variables de entrada ofrecen.
A nivel numérico podemos nombrar los algoritmos ANOVA y PCA.
Otras veces, podemos utilizar algoritmos con un rendimiento mayor cuyo volumen de variables de entrada y registros es elevado.
En este caso, podemos utilizar redes neuronales (Deep Learning) para clasificar o establecer una regresión.
También podemos utilizar redes convolucionales para la clasificación de textos manuscritos e interpretación de imágenes, interpretación del lenguaje humano o NLP.
El campo de las redes neuronales ofrece un salto en un campo de aplicación más complejo.
Existen aplicaciones donde nos gustaría clasificar textos en función de una temática para poder favorecer los motores de búsqueda o abrir nuevos sectores.
Mediante la minería de texto se puede aprender la frecuencia de ciertas palabras en función de su temática y clasificar texto según su contenido.
Conclusión
La minería de datos ofrece un salto cualitativo para cualquier organización que busque incrementar su capacidad competitiva.
Como hemos descrito en apartados anteriores, disponer de aquellos que sean de calidad y de una gobernanza de los mismos para generarlos, requiere de cambios organizativos integrales.
El dominio de la minería de datos permite obtener conocimiento y facilita la toma de decisiones de una manera más rápida y certera.
No obstante, también pueden ser motivo de conclusiones erróneas si se comenten errores de concepto en su utilización.
Se trata de un cambio de mentalidad en la forma de entender el negocio adoptando un cambio de filosofía fundamentado en el dato y cuya actividad subyace de manera paralela a los procesos productivos de forma continuada.