|
|
Por qué y cómo administrar sus modelos | SAS EDUCACIÓN ARGENTINA
Buenos Aires, Argentina
(12 Oct. 2011)
– Los modelos predictivos de su empresa son un activo importante que debe administrar. Ya no son un componente de "back office", escaso y compartido por unas pocas personas. Cada vez más, son un componente de "front office" que impacta directamente sobre la performance de su empresa. Descuidar la administración de sus modelos significa, por diversas razones, derrochar un recurso costoso e importante. Atender a su administración, en cambio, puede reducir considerablemente gastos innecesarios e, incluso, aumentar sus ganancias. Una administración apropiada implica utilizar un conjunto de buenas prácticas, pero también es muy conveniente emplear un software adecuado como SAS Model Manager.
¿Alguna vez se detuvo a calcular cuál es el costo de desarrollo de un modelo predictivo en su empresa? Podría creer que este no es demasiado grande. Después de todo, se trata de poner a uno o dos analistas a trabajar algunos días en utilizar una tabla con datos de sus clientes, probar distintos modelos, seleccionar el que tenga mejor potencia predictiva para una aplicación concreta (marketing, detección de fraude, etc.) y ya está. Pero se engaña. La tarea de desarrollo de un modelo es mucho más extensa de lo que parece y no tan fácil de delimitar.
El desarrollo de modelos es una tarea principalmente exploratoria que se realiza mediante un proceso iterativo de refinamiento progresivo. Podría ubicar su inicio en la formulación del problema que desea resolver mediante el desarrollo de un modelo predictivo, pero suele ocurrir que esta "formulación" es, más bien, una reformulación de un problema que ya intentó modelizar o, al menos, ya analizó anteriormente. Muchas veces (cada vez más) un proyecto de data mining surge de un intento de mejorar la aplicación de modelos predictivos previos que, por una razón u otra, perdieron "actualidad". Por lo general, cualquier modelo tiene un ciclo de vida que se cierra sobre sí mismo. Esto dificulta recortar nítidamente el proceso de desarrollo de un modelo particular, pero, además y más importante, aumenta notablemente cualquier estimación del costo de su desarrollo.
Podemos pensar el ciclo de vida de un modelo según la figura de más abajo. Si (un tanto artificialmente, entonces) comenzamos por la Formulación de un problema, luego debemos resolver y realizar las tareas de recolección de datos, validación y corrección de los mismos, transformación y selección de variables, realización y evaluación de modelos, validación, puesta en producción y monitoreo de resultados. Todas estas etapas agregan costo a cualquier modelo que se quiera producir. Por supuesto, usted puede tratar de reducir estos costos de diversas maneras. Por ejemplo, utilizando la capacidad de integración de SAS Data Integration para disminuir los costos de la preparación de datos, o mediante el SAS Rapid Predictive Modeler, para obtener fácilmente modelos que puede perfeccionar con el tiempo, o incluso las Soluciones para telecomunicaciones, bancos, seguros, etc. que le permiten desarrollar y poner en producción sus modelos en el tiempo más corto posible. Pero, más allá de estas estrategias, el punto es que el desarrollo de un modelo conlleva una serie de costos que probablemente usted está subestimando.
Figura 1: Ciclo de vida de un modelo
A los costos mencionados anteriormente debe agregarle el derroche que significa crear nuevos modelos cuando podría reutilizar los que ya posee. Los problemas que debe resolver, las bases de clientes a las que debe alcanzar su empresa suelen ser los mismos o muy parecidos durante un intervalo más o menos prolongado de tiempo. De modo que es muy probable que modelos que haya desarrollado en algún momento puedan ser reutilizables, a lo sumo con pequeños ajustes. Por supuesto, para que pueda reutilizar sus propios modelos, debe tenerlos bajo control, es decir, debe administrarlos: almacenarlos apropiadamente, poder recuperar fácilmente sus características, especialmente a qué conjuntos de datos y para que problemas es aplicable, cuáles son sus características de performance, etc. Esta administración tiene un costo, pero siempre será mucho menor que desarrollar un nuevo modelo cada vez que debe realizar una campaña de marketing o determinar qué clientes son razonablemente riesgosos, entre muchas aplicaciones posibles.
Y, por si lo anterior no fuera suficiente, debe entrar en la ecuación el dinero que ha dejado de ganar o ha perdido debido a factores como reutilizar modelos desajustados o no involucrar al personal relevante de su empresa en el ciclo de vida de sus modelos. Los modelos se realizan sobre una muestra de clientes que puede ser representativa de una población más amplia o directamente sobre todo su universo de clientes. Pero las características de esa muestra o población no son inmutables, cambian en el tiempo, a veces más lentamente otras más rápida o radicalmente. Un modelo desarrollado en un determinado momento probablemente tendrá una performance similar a la esperable durante un tiempo más corto o más largo (dependiendo de diversos factores), pero inevitablemente se desajustará. Cada vez más se aplicará a una población que ya no tiene las mismas características de cuando se desarrolló el modelo. Esto significa que el modelo va lentamente perdiendo performance. Cuando usted reutiliza sus modelos para diversas aplicaciones es importante que monitoree permanentemente la performance de sus modelos: cuando es tiempo de reajustarlo y también cuando es tiempo de "pasarlo a retiro" (y por lo tanto generar un nuevo modelo de cero). Por otro lado, es cada vez más importante que haga participar a un espectro amplio de roles en su empresa, que seguramente tienen cosas importantes que aportar. Para ello necesita coordinar el ciclo de vida de un modelo (o más bien del conjunto de sus modelos) con un workflow eficaz y eficiente que permita la ingerencia de un grupo grande dentro de su empresa.
SAS Model Manager
Mediante SAS Model Manager se pueden organizar los proyectos de modelización, desarrollar y validar modelos candidatos, evaluar y seleccionar un modelo "campeón", publicar y monitorear los modelos seleccionados en un ambiente de producción y reentrenar modelos. Todo el personal involucrado en el desarrollo y mantenimiento de un modelo, incluyendo los modelizadores, los validadores, oficiales de scoring y analistas pueden utilizar el SAS Model Manager.
Las funcionalidades del SAS Model Manager son:
- Una única interfase cliente para acceder a todos los proyectos de modelización.
- Todos los modelos se almacenan en un repositorio central seguro de modelos
- Todos los metadatos de un proyecto o modelo son directamente accesibles por medio del cliente.
- Pueden crearse hitos y tareas para monitorear el desarrollo y puesta en producción de modelos.
- Las tablas de datos registradas en la Consola de Administración pueden usarse directamente en el SAS Model Manager.
- Pueden importarse modelos de SAS Enterprise Miner o desarrollados mediante código SAS. Se pueden crear plantillas de modelos para vincular archivos de datos y metadatos con un modelo.
- Luego de importar modelos candidatos, se puede usar SAS Model Manager para ejecutar tareas de scoring para validar modelos.
- Se pueden usar diversos reportes para comparar y evaluar modelos candidatos.
- Se puede publicar modelos y hacer scoring en una base de datos específica mediante SAS Scoring Accelerator.
- Luego de seleccionar un modelo campeón, se puede cerrar el modelo y sus datos asociados (impedir nuevos cambios) para referencia futura o auditoría.
- SAS Model Manager usa el SAS Integration Technologies Publishing Framework para publicar modelos en un canal.
- Permite monitorear la performance de un modelo campeón en un ambiente de producción.
- Permite reentrenar modelos para que se adecuen a cambios en los datos o en el mercado.
Proceso de administración de modelos
El siguiente diagrama ilustra el proceso de administración de modelos que se puede realizar con SAS Model Manager.
Figura 2- Flujo de administración con SAS Model Manager.
- Crear Repositorio de modelos: creación de un repositorio seguro de modelos en un Servidor de Contenido donde almacenar el código, archivos de entrada y salida, y metadatos asociados con un modelo.
- Registrar Modelos candidatos: registrar archivos de entrada y salida, y luego importar y configurar un modelo.
- Comparar modelos: realizar tests de scoring y crear reportes de comparación de modelos usando las fuentes de datos de prueba.
- Declarar un Modelo campeón: declarar el modelo a usar para las fases de testing y producción del ciclo de vida.
- Validar un modelo: realizar tests de scoring y crear reportes de validación para el modelo campeón usando las fuentes de datos de testeo.
- Congelar versión: cerrar una versión cuando el modelo campeón se aprueba para producción.
- Definir una versión default: definir una versión default antes de exportar un modelo campeón. Una versión default es la versión actual de producción para el proyecto de SAS Model Manager.
- Entregar una función de scoring de modelo o de base de datos: publicar un modelo en un canal de publicación o como función de scoring en una base de datos.
- Monitorear la performance del modelo: producir evaluaciones comparativas de la performance del modelo (benchmarking).
- Reentrenar modelos: seleccionar modelos a reentrenar en respuesta a cambios en los datos o en el mercado.
- Retirar un modelo de producción cuando un reentrenamiento no basta para mejorar su performance.
SAS Workflow
SAS Model Manager usa este componente para seguir el progreso de un proyecto o versión de modelización. Mediante SAS Workflow Studio, un administrador realiza las definiciones de los procesos y los pone en disponibilidad para uso en SAS Model Manager. Las definiciones de procesos contienen el conjunto de actividades, participantes, políticas, estados y objetos de datos que conforman las tareas. Luego de definir los procesos, el administrador usa la Consola de Workflow para crear instancias de workflow. Esta es una versión funcional de una definición de procesos en workflow. Cada instancia de workflow consiste de actividades. Estas pueden contener propiedades definidas por el usuario y comentarios para compartir información con otros usuarios o tomar notas. El estado seleccionado cuando se completa una actividad determina la actividad siguiente en el proceso de workflow.
Desde la aplicación cliente del SAS Model Manager, se pueden examinar las instancias de workflow, crear una nueva instancia de workflow para un proyecto o versión, y ver el diagrama de workflow para trabajar con las actividades, dependiendo de los permisos que tenga un usuario.
Monitoreo de la performance de modelos
Para asegurar que un modelo "campeón" esté funcionando eficientemente en un ambiente de producción, debemos recolectar datos de su performance a intervalos regulares. Se utiliza una tabla de datos de evaluación para determinar la precisión predictiva del modelo. Esta tabla incluye todas las variables predictoras necesarias y una o más variables target. A intervalos de tiempo predefinidos se generan reportes de monitoreo de performance.
SAS Model Manager proporciona los siguientes tipos de reportes;
- Reportes de resúmen: Resúmenes de los tipos de información que se encuentran en las carpetas de proyectos, por ejemplo, número de modelos, distribución de la edad de los modelos, variables predictoras y variables target.
- Reportes de composición de datos: Reportes que detectan y cuantifican cambios en el tiempo de la distribución de los valores de las variables en los datos de entrada (Reportes característicos) y de salida o scoring (Reportes de Estabilidad).
- Reportes de monitoreo del modelo: Reportes que evalúan los valores predichos y reales para un modelo campeón en diversos puntos del tiempo. Crea gráficos de Lift, Gini, ROC, Tendencia y KS.
Cuando se crean reportes de Composición de datos y de Monitoreo de modelos, se pueden definir advertencias y alertas en base a índices de performance. Cuando se superan ciertos valores umbral, SAS Model Manager puede enviar una advertencia o notificación de alerta a direcciones de correo electrónico.
Los Reportes característicos y de Estabilidad usan un índice de desvío para detectar y cuantificar los cambios en la distribución de las variables de entrada y salida respectivamente. Los cambios significativos en la distribución de las variables predictoras pueden indicar cambios significativos en la conducta de los clientes debidos a nuevas tecnologías, competencia, promociones de marketing, nuevas leyes u otras influencias. Los reportes característicos comparan la distribución de las variables en los datos de entrenamiento usados para desarrollar el modelo contra la distribución de las variables de un conjunto actual de datos. Si ocurren cambios suficientemente grandes, el modelo original se encontraría desactualizado. El índice de desvío se calcula para cada variable predictora de la tabla usando la ecuación:
Indice de desvío = Σ (%Actual – %Esperado) *ln (%Actual / %Esperado)
Un índice de desvío demasiado grande en un reporte de estabilidad indica que un modelo debe ser reajustado, reentrenado o reemplazado.
Para mayor información sobre cómo administrar modelos predictivos considere tomar el curso de capacitación
Evaluación y ajuste de modelos predictivos en producción
Acerca de SAS
SAS es una empresa líder en soluciones y servicios de Business Analytics y el mayor proveedor independiente de Business Intelligence del mercado. Con innovadoras aplicaciones, apoyadas por una plataforma de inteligencia empresarial, SAS ayuda a que 45,000 sitios mejoren su desempeño y brinden valor para tomar decisiones de negocio más acertadas con mayor velocidad. Desde 1976, SAS otorga a sus clientes alrededor del mundo THE POWER TO KNOW®.
Más Notas
Copyright © SAS Institute Inc. All Rights Reserved.
|
|