Activo Simulador de Datos
¿Cuál es el objetivo de este activo?
Es muy frecuente en el desarrollo de modelos algorítmicos dentro de los productos Onesait, encontrarnos con falta de datos o datasets incompletos y con muchos campos no informados La creación de este activo pretende dar solución a esta problemática, permitiendo generar datos simulados en base a métodos probabilísticos que proporcionen resultados, para informar esos campos, que resulten coherentes con la naturaleza del resto de datos del dataset.
¿Cómo funciona este activo?
Partiendo de una dataset informado y otro no informado, la estrategia de este activo, pasa por la identificación de asociaciones entre valores de diferentes campos dentro del dataset en que el campo problema venga informado, que se empleará como “molde”, con el objetivo de trasladar los resultados de dicha asociación a los datasets donde el valor problema no esté informado.
Esta estrategia la podemos ver de forma más gráfica en la siguiente figura:
El esquema general de la estrategia para la simulación de valores de campos no informados. El método parte de un dataset en el que el valor del campo viene informado, denominado “molde”, sobre el que se buscará asociación con un patrón de valores para otros campos que sean comunes con el dataset no informado (panel superior). Se asocian los registros del dataset en que no viene informado el campo problema con los registros del molde que mayor similitud presenten en los valores de los campos de asociación (panel central). Por último, se asignan a los registros del dataset problema los valores observados en los registros asignados desde el molde (panel inferior).
En función de las características de los datos, pueden seguirse diferentes aproximaciones para la búsqueda de patrones de similitud y asignación de los valores de los campos problema. En los siguientes apartados se explican las tentativas que se han llevado a cabo para afrontar este parte del trabajo.
Métodos utilizados para la simulación de datos
Algoritmo de los k-vecinos más próximos.
Este algoritmo proporciona un método para estimar la posición de una muestra problema dentro de un esquema de clasificación definido por un conjunto amplio de muestras, en base a criterios de similitud con el perfil de muestras próximas a ésta. El resultado final es que la muestra problema se asigna a la categoría dominante en el conjunto de muestras más similares, cuyo tamaño (k) se designa arbitrariamente en función de las características del problema.
En el ejemplo que se muestra a continuación, el método se ha aplicado para la simulación del valor del campo donde se persiste el Estado Civil de los clientes, empleando como molde un dataset público del Banco Santander, sobre datos de un dataset sin información en ese campo como problema. Se ha asociado el valor de estado civil con la edad del cliente, reportándose tres posibles valores de estado civil: soltero, casado y divorciado. En la figura puede observarse las densidades de probabilidad para cada uno de los valores del campo en función de la edad.
Distribución de densidad de ocurrencia de estado civil por edad.
No obstante, durante el análisis preliminar de los datos se ha observado que la distribución de edades de los clientes del Banco Santander que se pretendía emplear como molde no es paramétrica y se aleja de la normalidad generando una estructura bimodal con dos máximos, en torno a los 20 y los 45 años de edad, que al no reproducirse en el dataset problema (Figura) inhabilita la aplicación de esta aproximación, puesto que el vecino más próximo a registros problema puede establecerse en un individuo de edad excesivamente diferente.
Distribución por edades de los clientes en la entidad del dataset problema (izquierda) y en la entidad del dataset molde (derecha). La entidad emisora de los datos del molde mantiene una línea de convenios con universidades públicas en España, lo que podría explicar el sesgo por edad de sus clientes.
Así, en los casos en que se encuentren diferencias en la distribución de datos, como la que se ha explicado, este método no sería directamente aplicable y sería necesario completar con aproximaciones más complejas.
Métodos de Montecarlo
Los métodos de Montecarlo son sistemas estocásticos que se basan en la observación de los resultados procedentes de procesos reales que tienen lugar de forma repetitiva o bien en un amplio número de muestras de características equiparables. El fundamento consiste en tratar de generalizar lo observado y trasladar sus resultados al problema.
En el ejemplo anteriormente descrito, se trata de asignar un valor de estado civil por comparación de registros que presenten valor similar en el campo asociado, en este caso la edad. Una aproximación para simular el estado civil a partir de la edad basada en métodos de Montecarlo podría llevarse a cabo mediante el siguiente planteamiento:
1.- Determinar la proporción de ocurrencias de cada valor de estado civil, para cada valor de edad, en el dataset molde. Se estimará que esta proporción da cuenta directamente de la probabilidad de un registro reporte un valor de estado civil, dado el valor del campo de edad. Así, por ejemplo, si se han identificado 80 clientes de 30 años de edad, 40 de los cuales eran casados, 20 solteros y 20 divorciados, se establecerá una probabilidad, para esta edad, del 50% de estar casado, 25% de estar soltero y 25% de estar divorciado.
2.- Para cada registro en el dataset problema se creará una distribución de probabilidades de que reporte cada uno de los tres posibles valores de estado civil, en función de su edad y los datos concluidos en la anterior etapa.
3.- Se lanza un generador de valores aleatorios, cuyo resultado determinará, en función de la distribución de probabilidades, el valor de asignación del campo problema. Trasladando esta idea al ejemplo propuesto, un registro en el problema será asignado como casado si el valor aleatorio resultante pertenece al rango [0.00, 0.50), soltero si pertenece al rango [0.50, 0.75) y divorciado si pertenece a [0.75, 1.00].
Si quieres usar el Activo ponte en contacto con el buzón de Soporte Onesait Platform Intelligence