Evaluación de la utilidad y la semejanza en generadores de datos sintéticos: una inmersión técnica profunda y un análisis comparativo

Publicado:
Febrero 27, 2024

Introducción

En la era digital actual, la conciencia sobre la privacidad de los datos ha aumentado significativamente. Los usuarios reconocen cada vez más sus datos como una huella digital única, lo que supone un riesgo para su privacidad en caso de vulneración de datos. Esta preocupación se ve amplificada aún más por regulaciones como GDPR, que permiten a los usuarios solicitar la eliminación de sus datos. Si bien es muy necesaria, esta legislación puede resultar muy costosa para las empresas, ya que se minimiza el acceso a los datos; restricciones que a menudo requieren mucho tiempo y recursos para superarlas. 

Índice del contenido

¿Qué son los generadores de datos sintéticos?

Ingrese datos sintéticos, una solución a este enigma. Los generadores de datos sintéticos crean conjuntos de datos que imitan los datos reales de los usuarios preservando al mismo tiempo el anonimato y la confidencialidad. Este enfoque está ganando terreno en todas las industrias, desde la atención médica hasta las finanzas, donde la privacidad es primordial.  

Esta publicación está diseñada para entusiastas y profesionales de los datos y se centra en la evaluación de generadores de datos sintéticos. Profundizaremos en métricas clave y realizaremos un análisis comparativo entre Syntho's Engine y sus alternativas de código abierto, ofreciendo información sobre cómo evaluar eficazmente la calidad de la solución de generación de datos sintéticos. Además, también evaluaremos el costo de tiempo de cada uno de estos modelos para proporcionar más información sobre el funcionamiento de los modelos. 

¿Cómo elegir el método adecuado de generación de datos sintéticos?

En el diverso panorama de la generación de datos sintéticos, hay una gran cantidad de métodos disponibles, cada uno de los cuales compite por llamar la atención con sus capacidades únicas. Elegir el método más adecuado para una aplicación particular requiere una comprensión profunda de las características de rendimiento de cada opción. Esto requiere una evaluación exhaustiva de varios generadores de datos sintéticos basada en un conjunto de métricas bien definidas para tomar una decisión informada. 

Lo que sigue es un análisis comparativo riguroso de Syntho Engine junto con un conocido marco de código abierto, Synthetic Data Vault (SDV). En este análisis, utilizamos muchas métricas de uso común, como la fidelidad estadística, la precisión predictiva y la relación entre variables. 

Métricas de evaluación de datos sintéticos

Antes de introducir cualquier métrica específica, debemos reconocer que existen numerosas ideologías sobre la evaluación de datos sintéticos, cada una de las cuales brinda información sobre un determinado aspecto de los datos. Teniendo esto en cuenta, las tres categorías siguientes destacan por ser importantes y completas. Estas métricas proporcionan información sobre varios aspectos de la calidad de los datos. Estas categorías son: 

      1. Métricas estadísticas de fidelidad: Examinar las características estadísticas básicas de los datos, como medias y varianzas, para garantizar que los datos sintéticos se alineen con el perfil estadístico del conjunto de datos original. 

        1. Precisión predictiva: Examinar el rendimiento del modelo de generación de datos sintéticos, entrenado con datos originales y evaluado con datos sintéticos (Train Real – Test Synthetic, TRTS) y viceversa (Train Synthetic – Test Real, TSTR) 

          1. Relaciones entre variables: Esta categoría combinada incluye: 

            • Correlación de características: Evaluamos qué tan bien los datos sintéticos mantienen las relaciones entre variables utilizando coeficientes de correlación. Una métrica muy conocida como el error cuadrático medio de la propensión (PMSE) sería de este tipo. 

            • Información mutua: Medimos las dependencias mutuas entre variables para comprender la profundidad de estas relaciones más allá de las simples correlaciones. 

          Análisis comparativo: Syntho Engine frente a alternativas de código abierto

          El análisis comparativo se realizó utilizando un marco de evaluación estandarizado y técnicas de prueba idénticas en todos los modelos, incluidos los modelos Syntho Engine y SDV. Al sintetizar conjuntos de datos de fuentes idénticas y someterlos a las mismas pruebas estadísticas y evaluaciones de modelos de aprendizaje automático, garantizamos una comparación justa e imparcial. La sección siguiente detalla el rendimiento de cada generador de datos sintéticos en toda la gama de métricas presentadas anteriormente.  

           

          En cuanto al conjunto de datos utilizado para la evaluación, utilizamos el Conjunto de datos del censo de adultos de la UCI que es un conjunto de datos muy conocido en la comunidad de aprendizaje automático. Limpiamos los datos antes de todo el entrenamiento y luego dividimos el conjunto de datos en dos conjuntos (un conjunto de entrenamiento y un conjunto de reserva para pruebas). Utilizamos el conjunto de entrenamiento para generar 1 millón de nuevos puntos de datos con cada uno de los modelos y evaluamos varias métricas en estos conjuntos de datos generados. Para evaluaciones adicionales de aprendizaje automático, utilizamos el conjunto de reservas para evaluar métricas como las relacionadas con TSTR y TRTS.  

           

          Cada generador se ejecutó con parámetros predeterminados. Como algunos de los modelos, como Syntho, pueden funcionar de inmediato con cualquier dato tabular, no se realizó ningún ajuste fino. Buscar los hiperparámetros correctos para cada modelo llevaría una cantidad significativa de tiempo, y la Tabla 2 ya muestra una gran diferencia de tiempo entre el modelo de Syntho y los probados. 

           

          Es de destacar que, a diferencia del resto de modelos de SDV, el sintetizador de cópula gaussiana se basa en métodos estadísticos. Por el contrario, el resto se basa en redes neuronales como los modelos de Redes Generativas Adversariales (GAN) y codificadores automáticos variacionales. Es por eso que la cópula gaussiana puede verse como una base para todos los modelos discutidos. 

          Resultados

          Calidad de los Datos

          Figura 1. Visualización de resultados de calidad básicos para todos los modelos.

          Las adherencias a las tendencias y representaciones en los datos discutidas anteriormente se pueden encontrar en la Figura 1 y la Tabla 1. Aquí, cada una de las métricas en uso se puede interpretar de la siguiente manera:

          • Puntuación de calidad general: evaluación general de la calidad de los datos sintéticos, combinando varios aspectos como la similitud estadística y las características de los datos. 
          • Formas de columna: evalúa si los datos sintéticos mantienen la misma forma de distribución que los datos reales para cada columna. 
          • Tendencias de pares de columnas: evalúa la relación o correlaciones entre pares de columnas en datos sintéticos en comparación con datos reales. 
          •  

          En general, se puede observar que Syntho logra puntuaciones muy altas en todos los ámbitos. Para empezar, cuando se analiza la calidad general de los datos (evaluada con la biblioteca de métricas SDV), Syntho puede lograr un resultado superior al 99 % (con una adherencia a la forma de la columna del 99.92 % y una adherencia a la forma del par de columnas del 99.31 %). Esto es mientras que SDV obtiene un resultado máximo de 90.84% (con cópula gaussiana, que tiene una adherencia a la forma de la columna del 93.82% y una adherencia a la forma del par de columnas del 87.86%). 

          Una representación tabular de los puntajes de calidad de cada conjunto de datos generado por modelo.

          Tabla 1. Una representación tabular de los puntajes de calidad de cada conjunto de datos generado por modelo 

          Cobertura de datos

          El módulo Informe de diagnóstico de SDV nos llama la atención sobre que a los datos generados por SDV (en todos los casos) les falta más del 10% de los rangos numéricos; En el caso del codificador automático variacional basado en tripletes (TVAE), también falta la misma cantidad de datos categóricos en comparación con el conjunto de datos original. No se generaron tales advertencias con los resultados obtenidos al utilizar Syntho.  

          visualización de métricas de rendimiento promedio por columnas para todos los modelos
           
           

          Figura 2. visualización de métricas de rendimiento promedio por columnas para todos los modelos 

          En el análisis comparativo, el gráfico de la Figura 2 ilustra que SDV registra resultados marginalmente mejores en la cobertura de categorías con algunos de sus modelos (es decir, con GaussianCopula, CopulaGAN y Conditional Tabular GAN – CTGAN). Sin embargo, es importante resaltar que la confiabilidad de los datos de Syntho supera la de los modelos SDV, ya que la discrepancia en la cobertura entre categorías y rangos es mínima, exhibiendo una variación de apenas 1.1%. Por el contrario, los modelos SDV demuestran una variación considerable, que oscila entre el 14.6% y el 29.2%. 

           

          Las métricas aquí representadas se pueden interpretar de la siguiente manera: 

          • Cobertura de categorías: Mide la presencia de todas las categorías en datos sintéticos en comparación con datos reales.
          • Cobertura de rango: evalúa qué tan bien el rango de valores en datos sintéticos coincide con el de los datos reales. 
          Una representación tabular de la cobertura promedio de un tipo de atributo determinado por modelo.

          Tabla 2. Representación tabular de la cobertura promedio de un tipo de atributo determinado por modelo 

          Utilidad

          Pasando al tema de la utilidad de los datos sintéticos, la cuestión de entrenar modelos a partir de los datos adquiere relevancia. Para tener una comparación equilibrada y justa entre todos los marcos, hemos elegido el clasificador de aumento de gradiente predeterminado de la biblioteca SciKit Learn, ya que es bastante aceptado como un modelo de buen rendimiento con configuraciones listas para usar.  

           

          Se entrenan dos modelos diferentes, uno con datos sintéticos (para TSTR) y otro con datos originales (para TRTS). El modelo entrenado con datos sintéticos se evalúa utilizando un conjunto de pruebas de reserva (que no se usó durante la generación de datos sintéticos) y el modelo entrenado con datos originales se prueba en el conjunto de datos sintéticos.  

          visualización de puntuaciones del área bajo la curva (AUC) por método por modelo

          Figura 3. Visualización de las puntuaciones del área bajo la curva (AUC) por método y modelo 

           Los resultados visualizados anteriormente demuestran la superioridad de la generación de datos sintéticos mediante el motor Syntho en comparación con otros métodos, ya que no hay diferencia entre los resultados obtenidos por los diferentes métodos (lo que apunta hacia una alta similitud entre los datos sintéticos y reales). Además, la línea de puntos roja presente en el gráfico es el resultado obtenido al evaluar el rendimiento base de una prueba Train Real, Test Real (TRTR) para proporcionar una línea de base para las métricas observadas. Esta línea representa el valor 0.92, que es la puntuación del área bajo la curva (puntuación AUC) lograda por el modelo entrenado con datos reales y probado con datos reales. 

          Una representación tabular de las puntuaciones AUC logradas por TRTS y TSTR respectivamente por modelo.

          Tabla 3. Una representación tabular de las puntuaciones AUC logradas por TRTS y TSTR respectivamente por modelo. 

          Comparación temporal

          Naturalmente, es crucial considerar el tiempo invertido en generar estos resultados. La siguiente visualización ilustra precisamente esto.

          visualización del tiempo necesario para entrenar y realizar la generación de datos sintéticos de un millón de puntos de datos con un modelo con y sin GPU.

          Figura 5. Visualización del tiempo necesario para entrenar y realizar generación de datos sintéticos de un millón de puntos de datos con un modelo con y sin GPU. 

          La Figura 5 ilustra el tiempo necesario para generar datos sintéticos en dos entornos diferentes. La primera de las cuales (aquí denominada Sin GPU) fueron pruebas ejecutadas en un sistema con una CPU Intel Xeon con 16 núcleos funcionando a 2.20 GHz. Las pruebas marcadas como "ejecutadas con una GPU" se realizaron en un sistema con una CPU AMD Ryzen 9 7945HX con 16 núcleos funcionando a 2.5 GHz y una GPU para computadora portátil NVIDIA GeForce RTX 4070. Como se observa en la Figura 2 y en la Tabla 2 a continuación, se puede observar que Syntho es significativamente más rápido a la hora de generar datos sintéticos (en ambos escenarios), lo cual es fundamental en un flujo de trabajo dinámico. 

          una tabla que ilustra el tiempo necesario para generar datos sintéticos de 1 millón de puntos de datos con cada modelo con y sin GPU

          Tabla 5. Representación tabular del tiempo necesario para generación de datos sintéticos de un millón de puntos de datos con cada modelo con y sin GPU 

          Comentarios finales y direcciones futuras 

          Los hallazgos subrayan la importancia de una evaluación exhaustiva de la calidad al elegir el método correcto de generación de datos sintéticos. El motor de Syntho, con su enfoque basado en IA, demuestra fortalezas notables en ciertas métricas, mientras que las herramientas de código abierto como SDV brillan por su versatilidad y mejoras impulsadas por la comunidad. 

          A medida que el campo de los datos sintéticos continúa evolucionando, lo alentamos a aplicar estas métricas en sus proyectos, explorar sus complejidades y compartir sus experiencias. Estén atentos a publicaciones futuras en las que profundizaremos en otras métricas y destacaremos ejemplos del mundo real de su aplicación. 

          Al final del día, para aquellos que buscan probar el terreno con datos sintéticos, la alternativa de código abierto presentada puede ser una opción justificable dada la accesibilidad; sin embargo, para los profesionales que incorporan esta tecnología moderna en su proceso de desarrollo, se debe aprovechar cualquier posibilidad de mejora y evitar todos los obstáculos. Por eso es importante elegir la mejor opción disponible. Con los análisis proporcionados anteriormente, se vuelve bastante evidente que Syntho y con ello Syntho Engine es una herramienta muy capaz para los profesionales. 

          Sobre Syntho

          sintetizador proporciona una plataforma inteligente de generación de datos sintéticos, que aprovecha múltiples formas de datos sintéticos y métodos de generación, lo que permite a las organizaciones transformar los datos de forma inteligente en una ventaja competitiva. Nuestros datos sintéticos generados por IA imitan patrones estadísticos de los datos originales, lo que garantiza precisión, privacidad y velocidad, según la evaluación de expertos externos como SAS. Con funciones inteligentes de desidentificación y mapeo consistente, la información confidencial está protegida y al mismo tiempo se preserva la integridad referencial. Nuestra plataforma permite la creación, gestión y control de datos de prueba para entornos que no son de producción, utilizando métodos de generación de datos sintéticos basados ​​en reglas para escenarios específicos. Además, los usuarios pueden generar datos sintéticos mediante programación y obtener datos de prueba realistas para desarrollar escenarios de desarrollo y pruebas integrales con facilidad.  

          ¿Quieres aprender más aplicaciones prácticas de datos sintéticos? No dude en programar demostración!

          Sobre los autores

          Pasante de Ingeniería de Software

          Roham es estudiante de licenciatura en la Universidad Tecnológica de Delft y es pasante de ingeniería de software en sintetizador 

          Ingeniero de Aprendizaje de Máquinas

          Mihai obtuvo su doctorado en la Universidad de Bristol sobre el tema del Aprendizaje por Refuerzo Jerárquico aplicado a la Robótica y es un Ingeniero de Aprendizaje Automáticot sintetizador. 

          cubierta de guía de sintetizador

          ¡Guarde su guía de datos sintéticos ahora!