Generación de Datos Sintéticos

Cómo aumentar datos tabulares sin escribir una sola línea de código

En plena era de la inteligencia artificial, la cantidad de datos que tenemos a disposición es un factor clave para el rendimiento de los modelos. Tanto el aprendizaje automático tradicional como las redes neuronales tienden a mejorar conforme aumenta el volumen de datos de entrenamiento. Sin embargo, muchas veces nos enfrentamos a conjuntos de datos limitados. Ahí es donde entra en juego la generación de datos sintéticos, una técnica que permite crear registros ficticios pero realistas, manteniendo patrones y relaciones presentes en los datos originales.

Además de ampliar el tamaño de un dataset, los datos sintéticos pueden proteger la privacidad en escenarios donde no se pueden compartir datos reales. Esto es especialmente útil en investigación o en proyectos que requieren cumplir regulaciones de protección de datos. También resultan valiosos para análisis estadísticos avanzados y para entrenar modelos en áreas donde los datos reales son escasos.

Cuando se trata de datos tabulares, existen varias técnicas, como las redes generativas antagónicas (GANs) y las copulas. Las GANs utilizan dos redes neuronales que compiten entre sí para producir datos cada vez más realistas, mientras que las copulas son funciones matemáticas que capturan las dependencias entre variables y permiten generar nuevas observaciones preservando dichas correlaciones.

El reto es que, aunque existen librerías en Python y R para implementar estas técnicas, no todo el mundo tiene conocimientos de programación. La buena noticia es que hay herramientas que eliminan la necesidad de escribir código, como la plataforma KNIME junto con su componente Synthetic Data (Copulas).

Preparación del entorno

Para trabajar con este componente, es necesario instalar KNIME y algunas extensiones específicas, además de configurar Python, R y las librerías correspondientes. Este proceso incluye la creación de un entorno en Anaconda, la instalación de la librería copulas y el paquete de R corrplot, así como la vinculación de estas herramientas dentro de las preferencias de KNIME.

Flujo de trabajo y configuración

El flujo de trabajo se basa en cargar un conjunto de datos, preprocesarlo y, posteriormente, configurar el componente para generar datos sintéticos. Entre las opciones disponibles, se pueden seleccionar distintos tipos de copulas (Gaussian o Vine) y distribuciones univariadas, definir el tamaño de la muestra sintética y elegir qué columnas numéricas se incluirán en la generación.

La elección de parámetros depende del conjunto de datos y del objetivo del análisis, por lo que lo ideal es experimentar con distintas combinaciones y evaluar los resultados. También se puede activar o desactivar la visualización de correlaciones para optimizar el tiempo de ejecución.

Salida de datos

El componente ofrece dos salidas:

  • Datos sintéticos sin procesar, generados directamente por el modelo, que pueden contener valores fuera de los rangos originales.
  • Datos sintéticos postprocesados, en los que se reemplazan los valores anómalos por otros más cercanos a los originales, garantizando coherencia y realismo.

Junto con las tablas, se generan matrices de correlación y visualizaciones comparativas entre datos reales y sintéticos, lo que facilita la evaluación de la calidad del resultado.

Evaluación de la calidad

La comparación entre las métricas estadísticas de los datos reales y sintéticos es clave. Por ejemplo, analizar correlaciones de Pearson y Spearman o la desviación estándar permite comprobar que las relaciones entre variables se han mantenido. Existen pruebas más avanzadas, como el test de Kolmogórov–Smirnov o la divergencia de Jensen–Shannon, que ofrecen análisis más profundos.

Un aspecto importante es controlar la cantidad de duplicados en los datos sintéticos. Si el porcentaje supera al de los datos originales, puede ser conveniente reducir el tamaño de la muestra generada.

Recomendaciones finales
  • Verificar que no haya coincidencias exactas entre datos reales y sintéticos antes de usarlos.
  • Ajustar parámetros y repetir el proceso hasta lograr el balance adecuado entre realismo y variabilidad.
  • Utilizar esta técnica no solo para ampliar datos, sino también para preservar la privacidad o facilitar pruebas de modelos.

La generación de datos sintéticos tabulares sin código ya no es un reto exclusivo para expertos en programación. Herramientas como KNIME permiten a más personas experimentar con este enfoque y aprovechar sus beneficios en proyectos de análisis y modelado.

Scroll to Top
💬
```