Mon. Oct 3rd, 2022

Una serie de mecanismos y pruebas que se pueden utilizar para evaluar cualquier conjunto de datos sintéticos tabulares, desde la perspectiva de la semejanza y la utilidad.

Foto de DeepMind en UnsplashAlgunos de los principales beneficios de los datos sintéticos son:Escalabilidad: mientras que los datos de entrenamiento reales se recopilan de forma lineal, los datos sintéticos se pueden generar en cantidades masivas, lo que alivia el problema de tener que adquirir una gran cantidad de datos de entrenamiento de alta calidad para tareas complejas de ML.Privacidad: La disponibilidad de datos sigue siendo un desafío debido a los complejos requisitos de privacidad, especialmente en el cuidado de la salud. A menudo, es difícil para los investigadores de atención médica obtener acceso a datos de nivel individual de alta calidad para fines secundarios (por ejemplo, probar nuevas hipótesis, construir modelos estadísticos y de aprendizaje automático). Este desafío puede potencialmente abordarse utilizando datos sintéticos. Sin embargo, tenga en cuenta que simplemente hacer que los datos sean “sintéticos” no garantiza la privacidad. Se ha demostrado que la generación de datos sintéticos no siempre y por completo preserva la privacidad de cada individuo, especialmente con técnicas de generación de datos privados no diferencialmente. También es extremadamente difícil cuantificar empíricamente el rendimiento de privacidad de un conjunto de datos sintético. Una sola métrica de privacidad solo puede abordar una determinada estrategia de ataque (por ejemplo: ataque de reidentificación, ataque de reconstrucción o ataque de rastreo, etc.). Un conjunto de datos que funciona mejor contra un ataque no significa necesariamente que esté protegido contra un ataque diferente. Además, es difícil estimar el alcance del conocimiento disponible para los atacantes: debemos hacer una suposición de qué información se pone a su disposición, y qué bits secretos están tratando de obtener. Sin mencionar que estas son estrategias conocidas: hay un número ilimitado de estrategias desconocidas que un atacante podría emplear. Esto significa que poder cuantificar empíricamente el rendimiento de una (o incluso varias) métricas de privacidad para un conjunto de datos sintético no es suficiente para decir que el conjunto de datos es completamente privado. Dicho esto, este artículo se centra únicamente en el rendimiento de la utilidad. de un conjunto de datos sintético.

Cópula gaussiana

Gaussian Copula es una técnica de modelado estadístico para la síntesis de datos. Copula nos permite descomponer una distribución de probabilidad conjunta en los marginales de las variables (que por definición no tienen correlación) y una función que “acopla” estos marginales. En otras palabras, Copula es esa función de “acoplamiento”, o una distribución multivariada con información de correlación incrustada. Gaussian Copula es, por lo tanto, una distribución normal multivariada con correlaciones aprendidas. Un proceso de alto nivel de este generador de datos es el siguiente: Aprenda la distribución de probabilidad de cada columna. Aplique una transformación CDF inversa de una normal estándar en ellos (es decir, convierta las distribuciones de las columnas en distribuciones normales) Aprenda las correlaciones de esas variables aleatorias recién generadas para construir un modelo de cópula Muestra de la distribución normal estándar multivariante con las correlaciones aprendidas

CTGAN

La red adversa generativa tabular condicional (CTGAN) es una técnica de síntesis de datos de aprendizaje profundo. Como sugiere el nombre, este es un método basado en GAN. Una GAN básica consta de 2 redes neuronales: una como generador que toma alguna entrada y genera datos sintéticos a partir de ella. Luego, hay una segunda red neuronal que actúa como un discriminador para ver si pueden diferenciar entre los datos reales y los sintéticos. El resultado del discriminador es una retroalimentación al generador para ayudar al generador a producir mejores salidas sintéticas.Visión general de muy alto nivel de la arquitectura CTGAN. Imagen del autor. Lo que diferencia un CTGAN de un GAN vainilla son:Condicional: En lugar de muestras aleatorias de datos de entrenamiento para alimentar el generador, que podrían no representar suficientemente las categorías menores de columnas categóricas altamente desequilibradas, la arquitectura CTGAN introduce un generador condicional que genera filas condicionadas en una de las columnas discretas y muestras datos de entrenamiento de acuerdo con el log-frecuencia de cada categoría de esa columna discreta en particular. Esto ayuda al modelo GAN a explorar de manera uniforme (no necesariamente uniforme) todos los valores discretos posibles.Tabular: A diferencia de los valores de los píxeles en las imágenes que normalmente se distribuyen normalmente, las variables continuas en los datos tabulares pueden seguir distribuciones no gaussianas y/o multimodales complejas. Para abordar esto, CTGAN representa columnas continuas con normalización específica del modo. Para obtener una descripción detallada de cómo funciona CTGAN, consulte su artículo publicado. Las preguntas naturales después de generar algunos datos sintéticos son qué tan buenos son los datos que se acaban de generar. En concreto: ¿Los datos sintéticos mantienen similitudes estadísticas con los datos reales? ¿Los datos sintéticos conservan distribuciones univariadas y multivariadas? (es decir, métrica de semejanza). ¿Es posible obtener resultados similares y llegar a las mismas conclusiones con datos sintéticos que con los datos reales para algunas tareas planificadas? (es decir, métrica de utilidad). Este artículo presenta una serie de mecanismos y pruebas que se pueden usar para evaluar cualquier dato sintético tabular, principalmente desde la perspectiva de preservar las propiedades estadísticas de los datos originales (semejanza) y la eficacia de ML (utilidad). Todas las evaluaciones son hecho en el conjunto de datos de registros clínicos mínimos de supervivencia de sepsis (110,204 instancias x 4 atributos) del repositorio de aprendizaje automático de UCI. Generamos datos sintéticos utilizando modelos Gaussian Copula y CTGAN a partir de la implementación de Synthetic Data Vault.

Distribuciones individuales

Dado que la distribución por edad tiene múltiples modos en el conjunto de datos original, CTGAN hizo un mejor trabajo al mantener esta propiedad, mientras que Gaussian Copula convierte la distribución en un solo modo. Por otro lado, Gaussian Copula mantiene la proporción entre categorías para género y objetivo. variables mejor que CTGAN. La distribución de número_episodio se replica mejor con CTGAN, en comparación con la cópula gaussiana.Distribuciones de todas las variables en tres conjuntos de datos: real, cópula gaussiana sintética y sintética CTGAN. Imagen por Autor.

Valores faltantes

Todas las variables originalmente no tenían valores faltantes, y los conjuntos de datos sintéticos de CTGAN y Gaussian Copula pueden reproducir eso.

Pruebas de KS

Se utiliza Kolmogorov-Smirnov (KS) de dos muestras para probar si dos muestras provienen de la misma distribución. Ejecutamos esta prueba en todas las variables entre datos reales y de cópula gaussiana, así como entre datos reales y CTGAN. Dado que la estadística KS es la distancia máxima entre dos CDF, cuanto menor sea, mejor para nuestro caso de uso. En general, la estadística KS media en todas las variables es ligeramente menor para CTGAN en comparación con la cópula gaussiana.Resultados de la prueba KS de 2 muestras para Gaussian Copula vs Real data y CTGAN vs Real data. Imagen por Autor.

Correlaciones por pares

Hasta ahora, hemos investigado los conjuntos de datos columna por columna. Ahora, echemos un vistazo a la relación por pares. El mapa de calor de las correlaciones de Pearson por pares de la cópula gaussiana parece tener más parecido con el de los datos de identidad. Para verificar esto, calculamos la Precisión de correlación. Primero, discrete los coeficientes de correlación en 6 niveles:[-1-05)(negativofuerte)[-05-03)(negativomedio)[-03-01)(negativobajo)[-0101)(sincorrelación)[0103)(positivobajo)[0305)(positivomedio)[051)(positivofuerte)LuegocalculeelporcentajedeparesenlosqueelconjuntodedatossintéticoyeloriginalasignanelmismoniveldecorrelaciónLaprecisióndecorrelacióndeGaussianCopulaesmuchomayorqueladeCTGAN(83%frentea67%)[-1-05)(strongnegative)[-05-03)(middlenegative)[-03-01)(lownegative)[-0101)(nocorrelation)[0103)(lowpositive)[0305)(middlepositive)[051)(strongpositive)ThencalculatethepercentageofpairswherethesyntheticandoriginaldatasetassignthesamecorrelationlevelThecorrelationaccuracyofGaussianCopulaismuchlargerthanthatofCTGAN(83%vs67%)Mapas de calor de correlaciones por pares en tres conjuntos de datos. Imagen por Autor.

eficacia del aprendizaje automático

Dada una parte que no tiene acceso al conjunto de datos original, ¿es posible que resuelva un problema de aprendizaje automático basado en datos sintéticos y obtenga información lo más cercana posible a lo que habría generado con datos reales? Para responder a esa pregunta, usamos el conjunto de datos sintéticos para entrenar un clasificador XGBoost y lo usamos para hacer predicciones sobre los datos originales. Luego, compare esta puntuación con lo que se habría logrado si entrenamos XGBoost con los datos originales. CTGAN puede lograr un rendimiento predictivo más cercano a lo que hubiéramos logrado con datos reales, en comparación con Gaussian Copula.Clasificador AUROC de XGBoost entrenado con datos sintéticos y evaluado con datos reales, en comparación con lo que se hubiera logrado si entrenáramos al clasificador con datos reales.

Detectabilidad

Para evaluar lo difícil que es distinguir entre instancias reales y sintéticas, mezclamos ambos conjuntos de datos con banderas que indican si los datos son reales o sintéticos. Luego entrene un modelo de ML que intente predecir este indicador. Cuanto más fácil es predecir la bandera, más se distingue entre datos reales y sintéticos. Para esta prueba, entrenamos XGBoost y Logistic Regression como detectores. Los datos sintéticos de CTGAN plantean un desafío más difícil de distinguir tanto para XGBoost como para Logistic Regression, en comparación con los datos de Gaussian Copula, dado que el AUROC de sus detectores correspondientes es más bajo.Rendimiento AUROC de detectores de regresión logística y XGBoost que intentan distinguir entre instancias reales y sintéticas. Imagen por Autor.

Conclusiones

Para este conjunto de datos públicos de sepsis en particular, desde el punto de vista de la evaluación de variables individuales, CTGAN y la cópula gaussiana van de la mano. Sin embargo, Gaussian Copula tiene una precisión de correlación por pares sorprendentemente mejor, mientras que CTGAN logra una mejor eficacia de ML y es menos probable que se detecte.