Los datos sintéticos han surgido como una alternativa inteligente y versátil para aquellas organizaciones que buscan métodos para gestionar y utilizar la información de manera respetuosa con la privacidad. A lo largo de este artículo, desglosaremos detalladamente la naturaleza de estos datos, explicando la utilidad que tienen y los procesos mediante los cuales se crean. Analizaremos su relación con la inteligencia artificial, sus aplicaciones prácticas en diversos sectores y las herramientas disponibles para su generación.
- Explicación
- Métodos de Generación
- Herramientas para Generar Datos Sintéticos en Python
- Ejemplo Con Python
- Tipos de Datos Sintéticos
- Evaluación de la Calidad de los Datos Sintéticos
- Utilidad De Estos Datos
- Aplicaciones Prácticas por Sectores
- Ventajas De Usarlos
- Problemas Asociados
- Relación Con La Inteligencia Artificial
- Conclusión
Explicación
Los datos sintéticos son datos generados artificialmente, mediante técnicas computacionales, que imitan las propiedades de los datos del mundo real. Desempeñan un papel de importancia en diversas aplicaciones, desde el entrenamiento de modelos de lenguaje generativos hasta la mejora de medidas de ciberseguridad.
Estos datos han cobrado relevancia debido a las constantes preocupaciones sobre la privacidad de los datos y la necesidad de datasets de gran volumen. Representando una alternativa viable que aborda tres preocupaciones comunes: escasez, costes y protección de datos.
Mientras que los datos reales se recogen o miden en el mundo real cuando una persona utiliza un smartphone, un portátil, visita un sitio web o realiza compras en línea, los datos sintéticos se fabrican en entornos digitales e imitan con éxito las propiedades básicas de los datos reales, con la diferencia de no haberse obtenido de ningún evento del mundo real.
Según proyecciones de expertos, para 2025 se espera que los datos sintéticos se conviertan en una tendencia crucial en el análisis de datos e inteligencia artificial, particularmente para la protección de la privacidad, destacándose como una de las técnicas emergentes más relevantes en la ciencia de datos.
Métodos de Generación
Se pueden crear mediante:
I. Métodos Estadísticos
Estos métodos utilizan modelos estadísticos para generar datos. Entre ellos encontramos simulaciones de Montecarlo, distribuciones de probabilidad y modelos paramétricos.
II. Modelos De Machine Learning
Los algoritmos de machine learning, como árboles de decisión o redes neuronales, se pueden entrenar con datos reales para generar datos sintéticos. Estos modelos aprenden los patrones y distribuciones de los datos originales y los replican sintéticamente.
III. Redes Generativas Adversarias (GANs)
Constan de dos redes neuronales, un generador y un discriminador, que trabajan juntas para crear datos sintéticos. El generador crea datos, mientras que el discriminador evalúa su autenticidad, lo que lleva a la generación de datos sintéticos de alta calidad. Son particularmente efectivas para generar imágenes, audio y texto realistas.
IV. Privacidad Diferencial
Garantiza que los datos sintéticos protejan la privacidad individual mediante la introducción de ruido controlado. Añaden aleatoriedad al proceso de generación de datos, impidiendo a partir de los datos sintéticos la identificación de individuos reales. Esta técnica es comúnmente utilizada en escenarios donde la privacidad de los datos es primordial.
Herramientas para Generar Datos Sintéticos en Python
Python ofrece diversas bibliotecas y frameworks para la generación de datos sintéticos, cada una con características específicas dependiendo del tipo de datos a generar:
- SK-learn: esta biblioteca popular permite generar conjuntos de datos sintéticos para clasificación o regresión utilizando funciones como “make_classification” o “make_regression”. Es fácil de usar y configurar, aunque la generación de datos no siempre se ajusta exactamente a la distribución de los datos reales.
- Faker: es una biblioteca de Python que facilita la generación de datos sintéticos como nombres, direcciones, números de teléfono y otros tipos de información personal. Resulta particularmente útil para crear datos de prueba para aplicaciones.
- PiOD: permite generar conjuntos de datos sintéticos sin valores atípicos a través de la detección y eliminación de los mismos, resultando útil cuando se necesitan datos “limpios” para entrenar modelos.
- CTGAN: especializada en la generación de datos tabulares, utiliza redes generativas adversarias condicionales para producir datos sintéticos de alta calidad que preservan las relaciones entre variables.
- TensorFlow: facilita la generación de datos sintéticos de imágenes, particularmente útil para entrenar modelos de visión por computadora cuando los datos reales son escasos o difíciles de obtener.
Ejemplo Con Python
Para visualizar mejor en qué consisten estos datos, presentamos un ejemplo práctico que se centra en la creación de un conjunto de transacciones bancarias sintéticas, una tarea común en proyectos de modelado de datos y análisis financiero.
!pip install faker
from faker import Faker
import pandas as pd
import numpy as np
def generar_transacciones_bancarias(n_transacciones=1000):
"""
Genera un df de pandas con datos de transacciones bancarias sintéticos
Parámetros:
n_transacciones (int): transacciones a generar.
Devuelve:
DataFrame: datos de transacciones como ID del usuario, cantidad, tipo y fecha.
"""
fake = Faker()
Faker.seed(42)
datos_transacciones = []
for _ in range(n_transacciones):
tipo = np.random.choice(['Depósito', 'Retiro', 'Pago'])
cantidad_base = round(fake.random_number(digits=4), 2)
if tipo == 'Retiro':
cantidad = -cantidad_base
else:
cantidad = cantidad_base
transaccion = {
'ID Usuario': fake.random_int(min=1, max=100),
'Cantidad': cantidad,
'Tipo': tipo,
'Fecha': fake.date_time_this_year(before_now=True, after_now=False)
}
datos_transacciones.append(transaccion)
return pd.DataFrame(datos_transacciones)
datos_transacciones = generar_transacciones_bancarias(2000)
datos_transacciones['Cantidad (€)'] = datos_transacciones['Cantidad'].apply(lambda x: f"{x} €")
print(datos_transacciones[['ID Usuario', 'Cantidad (€)', 'Tipo', 'Fecha']].head())
Al ejecutar este código obtendremos unos valores similares a estos (pero no iguales, los datos sintéticos son siempre ficticios y aleatorios):
ID Usuario Cantidad (€) Tipo Fecha
0 4 1824 € Depósito 2024-05-23 23:52:32
1 32 4506 € Depósito 2024-02-13 08:14:14
2 95 2286 € Pago 2024-01-20 21:39:43
3 12 8935 € Depósito 2024-04-24 15:53:40
4 5 6912 € Pago 2024-01-06 18:51:54
El resultado son 2000 registros que pueden ser utilizados para análisis y pruebas, sin el riesgo de exponer información sensible.
Tipos de Datos Sintéticos
Los datos sintéticos se clasifican según su proceso de generación:
A) Algorítmicos
Lo que implica el uso de algoritmos estadísticos o matemáticos para crear datos que sigan una distribución o ruleset específico. Estos algoritmos producen datasets sintéticos de gran volumen.
Un ejemplo de esto sería la generación de datos aleatorios utilizando distribuciones de probabilidad predefinidas.
B) Aumentados
Este método consiste en aumentar los datos del mundo real ya existentes para crear ejemplos nuevos y sintéticos. Se utilizan comúnmente técnicas como la perturbación de datos, la adición de ruido y la transformación.
Por ejemplo, los datasets de imágenes se pueden aumentar rotando o alterando el color de las imágenes para crear nuevas muestras.
C) Autónomos
Se crean desde cero utilizando técnicas avanzadas como redes adversativas generativas u otros modelos de machine learning. No dependen de datos existentes del mundo real y pueden adaptarse a necesidades específicas.
Son particularmente útiles en escenarios donde los datos reales no están disponibles o son muy delicados. Como en la generación de conversaciones de servicio al cliente para entrenar modelos de lenguaje generativos que serán empleados como agente de soporte.
Evaluación de la Calidad de los Datos Sintéticos
La eficacia de los datos sintéticos depende fundamentalmente de su calidad, lo que requiere el desarrollo y la utilización de métricas adecuadas para su evaluación. Las métricas para datos sintéticos juegan un papel crucial en la evaluación de:
1. Puntuación de Fidelidad
Agrega varias métricas que reflejan la similitud entre datos reales y datos sintéticos de distribuciones para columnas individuales, junto con la similitud de correlaciones para todos los pares de columnas.
2. Distinción de Datos
Captura la capacidad de un clasificador binario para separar los datos reales de los datos sintéticos. Cuanto más difícil sea entrenar a un clasificador de este tipo, mejor será la calidad de los datos sintéticos.
3. Otros Criterios de Evaluación
- Fiabilidad de los datos: la calidad de los datos sintéticos está significativamente asociada a la calidad de los datos de entrada y del modelo utilizado para generarlos.
- Replicación de valores atípicos: los datos sintéticos podrían no cubrir algunos valores atípicos que existen en los datos auténticos, lo cual puede ser crucial en ciertos análisis.
- Comprobación de calidad: para conjuntos de datos complejos generados automáticamente mediante algoritmos, es imperativo garantizar la corrección de los datos antes de implementarlos en modelos de aprendizaje.
Utilidad De Estos Datos
Sirven para lo siguiente:
1. Entrenar Modelos
Los datos sintéticos se utilizan ampliamente para entrenar modelos de machine learning, especialmente cuando los datos reales son escasos o sensibles. Ayuda a crear modelos robustos sin comprometer la privacidad.
Un estudio realizado en 2025 sobre perfiles de consumidores sintéticos mostró que los modelos de IA alcanzan un 85% de precisión en predicciones de consumo utilizando datos sintéticos, comparado con un 92% obtenido con datos reales, lo que demuestra su viabilidad como alternativa.
2. Aumentar el Volumen de Datos
En escenarios donde se necesita diversidad de datos, los datos sintéticos aumentan el volumen de los datasets existentes, proporcionando más ejemplos para entrenar y mejorar el rendimiento del modelo. Particularmente útil, entre otros contextos, en tareas de reconocimiento de imágenes y voz, donde diversos datos de entrenamiento son determinantes para la precisión del modelo.
3. Probar & Validar Sistemas
Permite realizar testeos rigurosos sin los riesgos asociados a el uso de datos reales. Los procesos de prueba de software y control de calidad suelen utilizar datos sintéticos para simular las interacciones del usuario y detectar errores.
4. Proteger Datasets Confidenciales
Al utilizar datos sintéticos, las organizaciones pueden compartir y analizar información confidencial sin exponer datos reales, manteniendo así la privacidad y el cumplimiento de las regulaciones.
5. Mejorar la Ciberseguridad
Se utilizan para simular escenarios de ciberataques realistas y desarrollar y probar mecanismos de defensa sin poner en peligro a la organización.
Aplicaciones Prácticas por Sectores
Los datos sintéticos tienen aplicaciones en múltiples sectores:
- Medicina: se utilizan para la generación de datos de imágenes médicas sintéticas para entrenar modelos de detección de enfermedades, permitiendo avances en diagnóstico sin comprometer la privacidad de pacientes reales.
- Automoción: facilitan la creación de escenarios de conducción para entrenar sistemas de conducción autónoma. Cada usuario de internet genera en promedio 1,7 MB de datos por segundo, según la firma DOMO, datos que pueden ser aprovechados mediante técnicas sintéticas para entrenar vehículos autónomos.
- Finanzas: permiten la generación de datos de transacciones financieras para detectar fraudes sin utilizar datos reales de clientes. Los datos sintéticos también facilitan a las instituciones financieras realizar simulaciones y probar estrategias en condiciones extremas.
- Marketing: posibilitan la simulación de datos de clientes para personalizar campañas de marketing sin comprometer la privacidad. Los perfiles sintéticos han demostrado un 90% de efectividad en estrategias de marketing, evidenciando su potencial como herramienta de análisis de mercado.
Ventajas De Usarlos
Destacamos las siguientes:
- Privacidad: mitigan los problemas de privacidad al garantizar que las personas reales no sean identificables, lo que los convierte en una opción segura para manejar información confidencial.
- Rentabilidad: suele ser menos caro que recopilar y etiquetar datos del mundo real, especialmente en escenarios donde la recopilación de datos es costosa y logísticamente problemática – como en experimentos a gran escala.
- Escalabilidad: se adaptan a requisitos específicos, garantizando disponibilidad y escalabilidad para diversas aplicaciones. Esto es particularmente útil en el machine learning, donde se requieren de datasets de gran tamaño para entrenar modelos de alta complejidad.
- Flexibilidad: se pueden personalizar para incluir características o anomalías específicas que no están suficientemente representadas en los datos reales. Maximizando su utilidad para diferentes casos de uso.
Problemas Asociados
La desventaja principal de los datos sintéticos son las incoherencias que se producen al intentar reproducir la complejidad de los datos originales y su incapacidad para sustituir directamente a los datos auténticos, ya que se siguen necesitando datos precisos para obtener resultados útiles. Pueden ser un punto de partida formidable para las pruebas de conceptos de los algoritmos, aunque no hay que olvidar su naturaleza “irreal”. Los científicos de datos tienen que proceder con cautela y evitar extraer conclusiones precipitadas para prevenir sesgos de “muestreo”.
Lo principal que se debe considerar es la calidad y representatividad de los datos, requiriendo de una calibración cuidadosa para integrar correctamente los datos sintéticos con los reales y evitar resultados poco precisos.
Otros retos específicos incluyen:
- Requieren un esfuerzo: aunque los datos sintéticos pueden ser más fáciles y baratos de producir que los datos reales, requieren un cierto nivel de experiencia, tiempo y esfuerzo.
- Aceptación por parte de los usuarios: los datos sintéticos son una noción relativamente nueva, y las personas que no han visto sus ventajas pueden no estar dispuestas a confiar en las predicciones basadas en ellos.
Relación Con La Inteligencia Artificial
La inteligencia artificial ha mejorado la generación de datos sintéticos mediante algoritmos avanzados como las redes generativas adversativas y modelos de machine learning. Estos permiten crear datasets que no solo replican las características estadísticas de los datos reales, sino que también capturan detalles complejos (variabilidad en datos sensibles, detalles sociodemográficos…).
Lo anterior permite el entrenamiento efectivo de modelos de IA en condiciones restringidas y con datos reales limitados, algo común en campos como la medicina o las finanzas. También se usan para industrias como la automoción, en específico los vehículos autónomos, dado que los datos sintéticos permiten simular la infinidad de contextos que pueden darse durante la conducción.
La IA Generativa, particularmente, juega un papel crucial en la creación de estos datos sintéticos, ya que los modelos generativos son capaces de aprender patrones y estructuras a partir de grandes conjuntos de datos reales y luego generar nuevas instancias de datos que reflejan esas características. De este modo, se crean datos completamente nuevos que pueden ser utilizados para entrenar otros modelos de IA sin necesidad de acceder a información real y sensible.
A medida que los modelos generativos continúan avanzando, los datos sintéticos se convertirán en un recurso clave para mejorar la precisión, reducir costes y garantizar la privacidad en múltiples sectores, consolidándose como una tendencia emergente para 2025 en la ciencia de datos.
Conclusión
Los datos sintéticos son de gran utilidad para el data science, ya que permiten crear datos que imitan los reales – y respetan la privacidad. Facilitando el entrenamiento de modelos, la prueba de sistemas en entornos controlados y la ampliación de tamaño de datasets. Sin dejar de lado la calidad y representatividad de los datos, así como los desafíos técnicos y éticos, para maximizar su utilidad sin comprometer la integridad de los resultados.