Predicciones sobre el futuro, parte 3: Cree una solución predictiva

Este es el tercer artículo de una serie de cuatro partes que se enfoca en los aspectos más importantes de la analítica predictiva. La parte 1 ofrece una visión general sobre la analítica predictiva. La parte 2 se enfoca en las técnicas de modelo predictivo, los algoritmos matemáticos que forman el análisis predictivo principal. Este artículo describe cómo utilizar esas técnicas y crear una solución predictiva.

Alex Guazzelli, VP de Analítica, Zementis, Inc.

Alex GuazzelliDr. Alex Guazzelli es el VP de Analítica en Zementis Inc., donde es responsable de desarrollar tecnología principal y soluciones predictivas bajo el nombre ADAPA, una plataforma de decisiones basada en PMML. Con más de 20 años de experiencia en analítica predictiva, el Dr. Guazzelli tiene un doctorado en Ciencia de la Computación de la Universidad de California del Sur y es coautor del libro PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics, ahora en su segunda edición.



24-12-2012

Introducción

La predicción del futuro ha recorrido un largo camino desde que comenzó con la lectura de manos. Involucra grandes cantidades de datos históricos que necesitan ser analizados y preprocesados antes de ser presentados ante una técnica predictiva para la capacitación. Un modelo predictivo conlleva juntar los datos y la matemática inteligente para resolver un problema específico. Dado un problema bien definido y un modelo desarrollado para resolverlo, cualquier error de predicción necesita ser medido y evaluado a la perfección Por ello se utiliza la evaluación de modelos para determinar la exactitud de éstos. Los resultados de la evaluación se utilizan luego para seleccionar el mejor modelo y luego elegir el mejor umbral de discriminación. Una vez que se empareja con las reglas de los negocios, los modelos predictivos tienen el potencial para afectar verdaderamente la línea de fondo en su negocio. Una solución predictiva representa a los datos juntos, matemática inteligente y reglas de negocios que, en conjunto, entregan capacidad de decisión mejorada sobre negocios.

La analítica predictiva permite que las compañías y los individuos desarrollen soluciones que sean capaces de utilizar los datos históricos para predecir el futuro. En muchas ocasiones, no se usan nunca ni siquiera los modelos extraordinariamente predictivos, ya que el problema que tratan de resolver fue definido en forma insuficiente.

Todos asumen que el desarrollo de una solución predictiva comienza con el análisis de datos y el preprocesamiento, seguidos del modelo de desarrollo y así continúa. De hecho, comienza antes de eso. Una solución predictiva significa juntar los datos y la matemática inteligente para resolver un problema específico. Este problema necesita estar bien definido si se quiere que la solución sea exitosa. Si el problema no está bien definido, los resultados obtenidos cuando se evalúa la solución serán difíciles de medir y, en consecuencia, puede que nunca sea operacionalmente desplegable. Por otro lado, un problema bien definido permite una clara evaluación de cuán buena es la solución propuesta. Esto hace que sea más fácil para las partes involucradas entender y confiar en los resultados.

Dado un problema específico y bien definido, los científicos de datos pueden ver los datos históricos para asegurarse de que soporten el desarrollo de una solución. Aunque no sean perfectos, los datos disponibles pueden brindar suficiente información para desarrollar una solución predictiva exitosa. Siempre que los análisis de datos se completan, lo que sigue es el preprocesamiento. Esta fase está seguida de un modelo de desarrollo, que resultará en un modelo predictivo. Una vez que el modelo es evaluado (¿funciona?), se coloca en un contexto empresarial y finalmente se usa. Este artículo se focaliza en todas las fases que están involucradas en la creación de una solución predictiva, desde datos pre procesados hasta su despliegue operacional. A continuación utilizaré estadísticas SPSS de IBM para ilustrar muchas de estas fases.


Fecha de preprocesado: desde datos primarios hasta características

¿Debería desarrollarse un modelo predictivo directamente desde los datos primarios? ¿O deberían preprocesarse los datos antes del desarrollo del modelo? Como ocurre usualmente, la respuesta es "depende". A pesar de que ciertos campos de datos pueden ser utilizados como son, la gran mayoría requiere cierto tipo de manipulación.

Los datos históricos vienen en todas las formas y estructuras. Por ejemplo, los datos pueden contener información estructurada y no estructurada acerca de un cliente en particular. En este escenario, los datos estructurados comprenden campos como los de edad del cliente, género y número de compras durante el último mes. Esta información se obtiene del registro de cuenta del cliente y de las transacciones anteriores. Los datos no estructurados pueden estar representados por una observación que el mismo cliente ha brindado como comentario para los productos o servicios comprados. En la parte 1 y 2 de esta serie, he utilizado campos similares para ilustrar una aplicación de analítica predictiva: La predicción de la cancelación del cliente o la deserción basada en el desgaste. Si se encuentra leyendo los artículos en secuencia, probablemente ahora ya esté familiarizado con este problema.

Para desarrollar un modelo predictivo del riesgo de cancelación de salida, podemos decidir colocar los valores juntos para ciertos campos de ingreso. Por ejemplo, todas las edades menores que 21 pueden ser colocadas juntas en una categoría de estudiante. De modo similar, todas las edades mayores que 55 pueden ser colocadas juntas en una categoría de retirados. La categoría de trabajador se le puede asignar a todos las personas de entre 21 y 55 años. Esto es obviamente una simplificación del campo etario original, pero podría aumentar su poder predictivo cuando se presenta ante una técnica predictiva para capacitación. De hecho, aumentar el poder predictivo en los campos de entrada es el objetivo último del preprocesamiento de datos. Al derivar características de datos primarios, estamos, en realidad, resaltando la verdadera importancia. Al hacer esto, le facilitamos el aprendizaje de los patrones escondidos más importantes en los datos a una técnica predictiva.

Otro objetivo del preprocesamiento es alternar los datos para que sean adecuados para la capacitación. Por ejemplo, dependiendo de la técnica utilizada para el modelo de desarrollo, posiblemente habría que separar las tres categorías relacionadas con la edad que se encuentran más arriba. En este caso, si una clienta A tiene 25 años, su edad sería entonces representada por tres campos distintivos: estudiante, trabajadora y retirada, que sería correlacionado a 0, 1 y 0 respectivamente. Por esa misma razón, cualquier campo continuo necesita ser normalizado. En este caso, el número de compras durante el último mes, se transformaría en un número entre el 0 y el 1. Note que el campo original en sí mismo ya es el resultado del pre procesamiento ya que representa un agregado. El número total de compras para todas las transacciones que han ocurrido durante un cierto periodo.

Además, podemos decidir utilizar datos y textos para identificar el desgaste de entrada en los comentarios y crear una medida de desgaste que puede también estar representada por un valor entre 0 y 1. La idea es, entonces, representar a cada clienta por su lista de características y combinarlas en un registro. Si se seleccionan 100 características y existen 100 mil clientes, terminaremos con una serie de datos que contienen 100 mil filas de registros y 100 columnas.

Para facilitar la manipulación de datos, además de permitir a los usuarios la manipulación de datos como se ha descrito arriba, algunos paquetes estadísticos permiten a los usuarios seleccionar una opción para preprocesar los datos en forma automática. Las estadísticas SPSS de IBM, por ejemplo, permiten el desarrollo automática de características. Simplemente seleccione el menú Transform > Prepare Data for Modeling y haga clic en Automatic. Luego se le preguntará acerca de su objetivo. Es posible elegir de una lista de cuatro opciones. Estas son: 1) balance de velocidad y exactitud, 2) optimización para velocidad, 3) optimización para exactitud y 4) análisis de personalización. Esta última opción se recomienda para usuarios experimentados solamente. Las estadísticas de SPSS para IBM también permiten una variedad de transformaciones para ser aplicadas a los datos. Se puede acceder a esto en forma sencilla a través del menú Transform.

Una vez que los datos han sido manipulados, es hora del modelo de capacitación.


Modelo de capacitación: cómo aprender los patrones a través de los datos

A lo largo de la capacitación, todos los registros de datos son presentados ante una técnica predictiva que es la responsable de aprender los patrones desde los datos. En caso de cancelación del cliente, que consistirá de patrones, que diferenciarán aquellos que han cancelado (churners) de los que no (non-churners). Note que el objetivo aquí es crear una función de correlación entre los datos de entrada (edad, género, número de productos comprados durante el último mes, etc.) y la variable dependiente o de destino (churn vs. non-churn o canceladores vs quienes no han cancelado). Las técnicas predictivas se presentan en diferentes variedades. Algunas, como las redes neuronales (NN) y las máquinas de vectores de soporte, son muy poderosas y exultan la capacidad de aprender tareas complejas. Estas técnicas son también genéricas y pueden ser aplicadas a una variedad de problemas. Otros, como los árboles de decisión y las tarjetas de puntuación, también son capaces de explicar el razonamiento detrás de sus predicciones. Dado que las técnicas predictivas han sido cubiertas en la parte 2 de esta serie, me concentraré en este artículo sobre las NN. Tenga en cuenta que los mismos principios de desarrollo de modelos se aplican a todas estas otras técnicas. También asumiré por ahora que usted será el científico especializado en datos a cargo de la tarea de modelado.

Para desarrollar una NN en las estadísticas SPSS de IBM, seleccione el menú Analyze > Neural Networks y haga clic en Multilayer Perceptron. Una vez que ha hecho esto, una ventana separada en pestañas aparecerá y le permitirá configurar todos los parámetros necesarios para el desarrollo de su modelo predictivo.

En la pestaña "Variables", seleccione la variable de destino o la dependiente y todas las variables de entrada que quiera presentar a la red para capacitación. Las estadísticas SPSS de IBM requieren que usted separe las entradas entre factores y covariables. Los factores representan a un campo de entrada categórico como edad, que hemos transformado anteriormente en valores de contención: estudiante, trabajador y retirado. Las estadísticas SPSS de IBM diferenciarán en forma automática esto antes de que la capacitación comience. Las covariables representan a variables continuas. Estas también serán reescaladas en forma automática para mejorar la capacitación sobre la red. Dado que se aplican por defecto la diferenciación de variables categóricas y la reescalación de variables continuas, no hay necesidad de que usted lo haga antes de la capacitación sobre el modelo.

Es una práctica común la de dividir la serie de datos que contiene la manipulación de datos en dos: una se reserva para la capacitación del modelo y la otra para la prueba. La primera serie de datos usualmente consiste de 70 por ciento del total de los datos. La segunda serie de datos, que contiene los datos restantes, se utilizan luego para la validación del modelo (ver más abajo). Esta es la separación que usted obtiene por defecto con las estadísticas SPSS de IBM. Es posible cambiarla, seleccionando la pestaña Partitions.

Así como en cualquier técnica predictiva, las NN están acompañadas de parámetros que pueden ser alterados según los datos y el problema que usted está tratando de resolver. En la pestaña sobre arquitectura, es posible seleccionar seguir adelante con la opción para selección de arquitectura automática o decidir, dependiendo de su nivel de especialidad, personalizar la red para obtener un número específico de capas y nodos por capas. Para más información sobre la arquitectura de una NN y su importancia para la capacitación, refiérase a la parte 2 de esta serie de artículos. En la pestaña sobre entrenamiento, encontrará otros parámetros que incluyen la tasa de aprendizaje (¿cuál es la rapidez en la que la red debe de aprender?) y la optimización del algoritmo. Tenga en cuenta que una mala selección de parámetros puede impedir el aprendizaje. Note además, que así como con cualquier clase de medicina (de venta libre o no), elegir una serie de parámetros de una forma u otra para una técnica predictiva siempre trae efectos secundarios. Por ejemplo, si configura la tasa de aprendizaje muy baja para una NN, esta se atascará. Si la configura muy alta, no será convergente. Tenga en cuenta que los parámetros por defecto ofrecidos por las estadísticas SPSS de IBM siempre son buenas para comenzar.

Las estadísticas SPSS de IBM también ofrecen pestañas de configuración que discutiremos en la sección siguiente. Si ya se han configurado todas las pestañas en forma correcta, es finalmente hora de desarrollar el modelo. Para ello, solo haga clic en el botón OK en la parte inferior de la ventana que contiene todas las pestañas de configuración distintas.


Validación del modelo: cómo juzgar la precisión

Es bueno reservar hasta el 30 por ciento de los datos para la validación del modelo. Utilizar las muestras de datos que no han estado involucrados en la capacitación del modelo permite una evaluación imparcial de su precisión.

En la pestaña "salida", seleccione para la salida los "resultados de la clasificación". Cuando se completa la capacitación del modelo, la "tabla de clasificación" le da una copia instantánea de la salud del modelo. Le permite saber rápidamente si fue capaz de aprender la tarea cercana o no. No necesita ser un 100 por ciento preciso. De hecho, los modelos predictivos son conocidos por realizar predicciones incorrectas. Lo que queremos tener por seguro es que cometan la menor cantidad de errores posibles mientras realizan numerosas predicciones correctas. Traducido a la jerga de analítica predictiva, lo que usted quiere es tener una baja tasa de falsos positivos (FP) y de falsos negativos (FN), lo que implica una tasa alta de verdaderos positivos (TP) y de verdaderos negativos (TN). Para el problema de la cancelación del cliente, si el modelo asigna en forma precisa un riesgo de cancelación para alguien que está a punto de desertar, usted obtendrá un TP. Si asigna un riesgo de cancelación bajo, a alguien que de hecho continuará siendo un cliente leal, usted obtendrá un TN. Sin embargo, cada vez que un modelo asigna un riesgo de cancelación alto a un cliente satisfecho, usted obtendrá un FP. Además si asigna en forma incorrecta un riesgo de cancelación bajo a alguien que está a punto de abandonar el barco, usted obtendrá un FN.

La Ilustración 1 muestra el argumento de la prueba de datos luego de que ha sido registrado. El argumento asume que el modelo tiene un riesgo de salida de entre 0 y 1000 y que a medida que crece la puntuación, crece el riesgo. Ya que la prueba de datos está etiquetada, podemos separarla en dos curvas distintivas: Cancelaciones, representadas por la curva roja, y no cancelaciones, representadas por la curva azul. La línea verde, representa al umbral de discriminación al que le asignamos 500. De este modo, si una clienta tienen un registro por debajo de este umbral, se considerará como no cancelada. Además, si esta puntuación es mayor que 500, se considerará como cancelada. Sin embargo, como se puede observar en la Ilustración 1, un umbral que sea igual a 500 produce algunos errores: FP y FN. Al seleccionar un umbral mayor, digamos de 600, minimizamos el FP, pero se dejan algunos FN. Al seleccionar un umbral menor, digamos de 400, minimizamos notablemente el FN, pero se dejan muchos FP. El hecho de dar y tomar introduce la pregunta: Dadas todas las elecciones potenciales de valores de umbral, ¿cuál es la ideal? La respuesta depende de los objetivos empresariales y de los costos asociados con los diferentes tipos de errores.

Figura 1. Prueba de registros de datos que muestran los registros del modelo desde 0 a 1000 para aquellos que cancelan y los que no. Umbral de discriminación = 500
Scored testing data showing model scores from 0 to 1000 for churners and non-churners. Discrimination threshold is set to 500

El costo asociado con un FN es por lo general muy distinto del costo asociado con un FP. Para el ejemplo de la cancelación de cliente, si se falla al identificar al cliente que está por desertar (FN), la compañía multa los ingresos futuros que el cliente pueda haber traído. Al ofrecer regalos y paquetes de retención para clientes satisfechos (FP), se está desperdiciando dinero. Por esta razón, dependiendo del costo asociado con cada tipo de error, usted puede decidirse por un modelo predictivo que produzca menos FN que FP o viceversa. Esta decisión determinará el umbral de discriminación ideal.

Una buena manera de evaluar la precisión de un modelo capacitado para clasificar la entrada de datos en dos clases depende de la inspección de su curva ROC (característica operativa del receptor), que también se puede utilizar para seleccionar el umbral ideal de discriminación. Es posible extraer esta curva en las estadísticas SPSS de IBM al seleccionar la pestaña "Output" y hacer clic en la curva ROC. La curva ROC otorga una representación gráfica de la tasa positiva verdadera (sensibilidad) y la tasa positiva falsa (uno menos la especificidad) para un clasificador binario mientras su umbral de discriminación varía. La Ilustración 2 muestra la curva ROC obtenida de un modelo de riesgo de cancelación, en el que la tasa positiva verdadera se obtiene en un umbral de discriminación diferente, al dividir el número de TP por el número total de cancelaciones (representada por la curva roja en la Ilustración 1). De modo similar, la tasa positiva falsa se obtiene en umbrales de discriminación diferentes, al dividir el número de FP por el número total de no cancelaciones (representados por la curva azul en la Ilustración 1). Como se muestra en la Ilustración 2, una puntuación de 500 identifica un punto de inflexión en la curva, donde todavía obtenemos una tasa falsa positiva relativamente baja y una tasa positiva alta.

Figura 2. El gráfico ROC que muestra la tasa positiva verdadera y la tasa positiva falsa a medida que cambia el umbral de discriminación. Los puntos en la línea representan diferentes umbrales de discriminación. Estos son: 0, 200, 400, 600, 800 y 1000.
ROC graph showing the true positive rate vs. false positive rate as the discrimination threshold changes.

Además, es posible utilizar el área bajo la curva ROC (extraída por las estadísticas SPSS de IBM junto con el gráfico ROC) para comparar los diferentes modelos (en caso de que usted desarrolle varios modelos con diferentes parámetros). Mientras más grande sea el área se cree que el modelo será más preciso. La Ilustración 3 muestra el gráfico ROC para tres modelos diferentes: 1, 2 y 3. Podemos deducir fácilmente que el modelo 2 es más preciso que los modelos 1 y 3.

Figura 3. Tres modelos representados por sus curvas ROC. Dado que el modelo 2 tiene el área más extensa debajo de la curva, se cree que es más preciso que los modelos 1 y 3.
Three models represented by their ROC curves. Given that model 2 has the largest area under the curve, it's believed to be more accurate than models 1 and 3.

Fecha de posprocesado: desde los registros hasta la decisión empresarial

Los datos primarios de salida para un modelo predictivo son por lo general un valor entre 0 y 1 o 1 y 1. Para que sea más agradable para los seres humanos, esta salida muchas veces escala a un valor entre 0 y 1000. La salida de un modelo puede ser escalada también de acuerdo con una función dada, que asegura que cierta puntuación indique un número deseado de TP y de FP.

El posprocesamiento también implica incluir registros en el proceso operacional. En este caso, los registros necesitan ser traducidos en decisiones empresariales. Por ejemplo, para el problema del cliente que cancela, su compañía necesita decidir otorgar un buen paquete de retención para los clientes con gran riesgo de cancelación. De hecho se pueden utilizar diferentes umbrales de discriminación para determinar diferentes decisiones empresariales según la puntuación y lo que representa en términos de TP, FP y su costo.

Las decisiones sobre gestión de soluciones que tradicionalmente han incorporado solo reglas empresariales, ahora incluyen modelos predictivos. Hacen esto envolviendo modelos en reglas. La combinación de reglas empresariales y de analítica predictiva permite a las compañías beneficiarse de dos tipos de conocimiento: experto y basado en datos. En este caso, las decisiones basadas en diferentes umbrales pueden ser implementadas en el momento y hasta expandidas para contener otros importantes factores de decisión. Por ejemplo, para determinar el valor de un cliente en realidad, la puntuación de su riesgo de cancelación puede igualarse con la cantidad de dinero que se ha gastado en el pasado. Si el gasto es alto y el riesgo de derrota es también alto, lo más importante es asegurarse de que el cliente no cancele.

Al combinar el conocimiento experto y el basado en datos, las decisiones sobre gestión de soluciones se hacen más inteligentes, ya que son capaces de ofrecer capacidades de decisión mejoradas.


Conclusión

El desarrollo de una solución predictiva comienza con una clara definición del problema que está tratando de resolver. Con un objetivo bien definido, los científicos especializados en análisis de datos pueden embarcarse en el desarrollo de un modelo predictivo que será preciso y cuyos beneficios serán explicados sencillamente a todas las partes involucradas.

Una vez que definimos el problema que estamos tratando de defender, analizamos y preprocesamos datos históricos en preparación para el modelo de capacitación. El resultado de este proceso es una serie de características que aumentan el valor predictivo de los datos primarios. El preprocesamiento de datos es necesario para hacer que los datos originales sean adecuados para la capacitación del modelo. Dado que existe una variedad de técnicas predictivas, una solución puede beneficiarse de una técnica específica como NN o de un conjunto de técnicas que trabajan juntas para resolver el problema presente.

Una vez que se ha desarrollado un modelo predictivo, necesitamos evaluarlo. Ya que los errores son parte del mundo de la analítica predictiva, podemos utilizar diferentes umbrales de discriminación no solo para minimizar los errores, pero también para reducir su costo asociado. Ya que los distintos umbrales pueden trabajar en conjunto con las reglas empresariales, un sistema de niveles puede ponerse en lugar para optimizar el uso de los registros por un modelo predictivo. Al combinar las reglas empresariales y la analítica predictiva, nace una solución predictiva.

La parte 4, que es el último artículo de esta serie, se concentrará en desplegar analítica predictiva y poner las soluciones predictivas en funcionamiento.

Recursos

Aprender

Obtener los productos y tecnologías

  • IBM SPSS Statistics 20 pone en sus manos el poder del análisis estadístico avanzado. Ya sea que usted sea un estadista principiante o experimentado, la serie de herramientas abarcativas que posee va a cubrir todas sus necesidades.
  • ADAPA es una plataforma de gestión de decisiones analíticas predictivas, disponible como un servicio en la nube para este sitio. Brinda un entorno seguro, rápido y escalable para desplegar sus datos sobre modelos de minería de datos y lógica de negocio, y ponerlos en uso real.
  • Revise la versión de prueba por 90 días de IBM ILOG CPLEX Optimization Studio: Desarrolle rápidamente las aplicaciones soporte basadas en la optimización de decisiones.
  • Evalúe el WebSphere Application Server de IBM: Desarrolle, despliegue y gestione aplicaciones y servicios para negocios SOA que sean robustos, ágiles y reutilizables, de todos los tipos mientras reduce los costos de infraestructura con el WebSphere Application Server de IBM.
  • Software de evaluación: Descargue o explore las versiones de prueba online en el IBM SOA Sandbox y obtenga herramientas de desarrollo de aplicaciones y productos middleware DB2®, Lotus®, Rational®, Tivoli® y WebSphere®.

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Business analytics, Industries
ArticleID=853020
ArticleTitle=Predicciones sobre el futuro, parte 3: Cree una solución predictiva
publish-date=12242012