Avaliando utilidade e semelhança em geradores de dados sintéticos: um aprofundamento técnico e análise comparativa

Publicado em:
27 de fevereiro de 2024

Introdução

Na era digital de hoje, a consciência da privacidade dos dados aumentou significativamente. Os utilizadores reconhecem cada vez mais os seus dados como uma impressão digital única, representando um risco para a sua privacidade em caso de violação de dados. Esta preocupação é ainda amplificada por regulamentações como o GDPR, que autorizam os usuários a solicitar a exclusão de seus dados. Embora muito necessária, esta legislação pode ser muito dispendiosa para as empresas, uma vez que o acesso aos dados é minimizado; restrições que muitas vezes exigem tempo e recursos para serem superadas. 

Conteúdo

O que são geradores de dados sintéticos?

Insira dados sintéticos, uma solução para esse enigma. Os geradores de dados sintéticos criam conjuntos de dados que imitam dados reais do usuário, preservando o anonimato e a confidencialidade. Esta abordagem está a ganhar força em todos os setores, desde os cuidados de saúde até às finanças, onde a privacidade é fundamental.  

Este post é voltado para profissionais e entusiastas de dados, com foco na avaliação de geradores de dados sintéticos. Iremos nos aprofundar nas principais métricas e conduzir uma análise comparativa entre o Syntho Engine e suas alternativas de código aberto, oferecendo insights sobre como avaliar com eficácia a qualidade da solução de geração de dados sintéticos. Além disso, também avaliaremos o custo de tempo de cada um desses modelos para fornecer mais informações sobre o funcionamento dos modelos. 

Como escolher o método correto de geração de dados sintéticos?

No cenário diversificado da geração de dados sintéticos, há uma abundância de métodos disponíveis, cada um disputando a atenção com seus recursos exclusivos. A escolha do método mais adequado para uma aplicação específica requer um conhecimento profundo das características de desempenho de cada opção. Isto requer uma avaliação abrangente de vários geradores de dados sintéticos com base num conjunto de métricas bem definidas para tomar uma decisão informada. 

O que se segue é uma análise comparativa rigorosa do Syntho Engine juntamente com uma estrutura de código aberto bem conhecida, o Synthetic Data Vault (SDV). Nesta análise, usamos muitas métricas comumente usadas, como fidelidade estatística, precisão preditiva e relacionamento entre variáveis. 

Métricas de avaliação de dados sintéticos

Antes de introduzir qualquer métrica específica, devemos reconhecer que existem inúmeras ideologias sobre a avaliação de dados sintéticos, cada uma das quais fornece informações sobre um determinado aspecto dos dados. Com isso em mente, as três categorias a seguir se destacam como importantes e abrangentes. Essas métricas fornecem insights sobre vários aspectos da qualidade dos dados. Essas categorias são: 

      1. Métricas estatísticas de fidelidade: Examinar características estatísticas básicas dos dados, como médias e variações, para garantir que os dados sintéticos estejam alinhados com o perfil estatístico do conjunto de dados original. 

        1. Precisão preditiva: Examinar o desempenho do modelo de geração de dados sintéticos, treinado com dados originais e avaliado em dados sintéticos (Train Real – Test Synthetic, TRTS) e vice-versa (Train Synthetic – Test Real, TSTR) 

          1. Relações entre variáveis: Esta categoria combinada inclui: 

            • Correlação de recursos: Avaliamos até que ponto os dados sintéticos mantêm as relações entre as variáveis ​​usando coeficientes de correlação. Uma métrica bem conhecida como o erro quadrático médio de propensão (PMSE) seria desse tipo. 

            • Informação mútua: Medimos as dependências mútuas entre variáveis ​​para compreender a profundidade dessas relações além das simples correlações. 

          Análise Comparativa: Syntho Engine vs. Alternativas de Código Aberto

          A análise comparativa foi conduzida usando uma estrutura de avaliação padronizada e técnicas de teste idênticas em todos os modelos, incluindo modelos Syntho Engine e SDV. Ao sintetizar conjuntos de dados de fontes idênticas e submetê-los aos mesmos testes estatísticos e avaliações de modelos de aprendizado de máquina, garantimos uma comparação justa e imparcial. A seção a seguir detalha o desempenho de cada gerador de dados sintéticos em toda a gama de métricas apresentadas acima.  

           

          Quanto ao conjunto de dados utilizado para a avaliação, utilizamos o Conjunto de dados do censo de adultos da UCI que é um conjunto de dados bem conhecido na comunidade de aprendizado de máquina. Limpamos os dados antes de todo o treinamento e, em seguida, dividimos o conjunto de dados em dois conjuntos (um conjunto de treinamento e um conjunto de validação para teste). Usamos o conjunto de treinamento para gerar 1 milhão de novos pontos de dados com cada um dos modelos e avaliamos várias métricas nesses conjuntos de dados gerados. Para avaliações adicionais de aprendizado de máquina, usamos o conjunto de validação para avaliar métricas como aquelas relacionadas a TSTR e TRTS.  

           

          Cada gerador foi executado com parâmetros padrão. Como alguns dos modelos, como o Syntho, podem funcionar imediatamente em qualquer dado tabular, nenhum ajuste fino foi feito. A busca pelos hiperparâmetros corretos para cada modelo levaria um tempo significativo, e a Tabela 2 já mostra uma grande diferença de tempo entre o modelo do Syntho e aqueles testados. 

           

          Vale ressaltar que ao contrário dos demais modelos do SDV, o Sintetizador de Cópulas Gaussianas é baseado em métodos estatísticos. Em contraste, o restante é baseado em redes neurais, como modelos de Redes Adversariais Generativas (GAN) e codificadores automáticos variacionais. É por isso que a Cópula Gaussiana pode ser vista como uma linha de base para todos os modelos discutidos. 

          Resultados

          Qualidade de dados

          Figura 1. Visualização dos resultados básicos de qualidade para todos os modelos

          As aderências discutidas anteriormente às tendências e representações nos dados podem ser encontradas na Figura 1 e na Tabela 1. Aqui, cada uma das métricas em uso pode ser interpretada da seguinte forma:

          • Índice de Qualidade Geral: Avaliação geral da qualidade dos dados sintéticos, combinando vários aspectos como similaridade estatística e características dos dados. 
          • Formas de Coluna: Avalia se os dados sintéticos mantêm a mesma forma de distribuição que os dados reais de cada coluna. 
          • Tendências de pares de colunas: avalia o relacionamento ou correlações entre pares de colunas em dados sintéticos em comparação com dados reais. 
          •  

          No geral, pode-se notar que Syntho alcança pontuações muito altas em todos os aspectos. Para começar, ao observar a qualidade geral dos dados (avaliada com a biblioteca de métricas SDV), o Syntho pode alcançar um resultado superior a 99% (com aderência ao formato da coluna de 99.92% e aderência ao formato do par de colunas de 99.31%). Isso ocorre enquanto o SDV obtém um resultado máximo de 90.84% (com Cópula Gaussiana, tendo uma aderência ao formato da coluna de 93.82% e aderência ao formato do par de colunas de 87.86%). 

          Uma representação tabular dos índices de qualidade de cada conjunto de dados gerado por modelo

          Tabela 1. Uma representação tabular dos índices de qualidade de cada conjunto de dados gerado por modelo 

          Cobertura de dados

          O módulo Relatório de Diagnóstico do SDV chama a atenção para o fato de que os dados gerados pelo SDV (em todos os casos) estão faltando mais de 10% dos intervalos numéricos; No caso do Autoencoder Variacional Baseado em Tripleto (TVAE), a mesma quantidade de dados categóricos também está faltando quando comparado ao conjunto de dados original. Nenhum desses avisos foi gerado com os resultados alcançados com o uso do Syntho.  

          visualização de métricas médias de desempenho em colunas para todos os modelos
           
           

          Figura 2. visualização das métricas médias de desempenho em colunas para todos os modelos 

          Na análise comparativa, o gráfico da Figura 2 ilustra que o SDV arquiva resultados marginalmente melhores na cobertura de categorias com alguns dos seus modelos (nomeadamente com GaussianCopula, CopulaGAN e Conditional Tabular GAN – CTGAN). No entanto, é importante destacar que a fiabilidade dos dados do Syntho supera a dos modelos SDV, uma vez que a discrepância na cobertura entre categorias e gamas é mínima, apresentando uma variação de apenas 1.1%. Em contrapartida, os modelos SDV demonstram uma variação considerável, variando de 14.6% a 29.2%. 

           

          As métricas representadas aqui podem ser interpretadas da seguinte forma: 

          • Cobertura de Categoria: Mede a presença de todas as categorias em dados sintéticos em comparação com dados reais.
          • Cobertura do intervalo: avalia até que ponto o intervalo de valores nos dados sintéticos corresponde ao dos dados reais. 
          Uma representação tabular da cobertura média de um determinado tipo de atributo por modelo

          Tabela 2. Uma representação tabular da cobertura média de um determinado tipo de atributo por modelo 

          Utilidade

          Passando para o tópico da utilidade dos dados sintéticos, a questão dos modelos de treinamento nos dados torna-se relevante. Para ter uma comparação equilibrada e justa entre todas as estruturas, escolhemos o Gradient Boosting Classifier padrão da biblioteca SciKit Learn, visto que é bastante aceito como um modelo de bom desempenho com configurações prontas para uso.  

           

          Dois modelos diferentes são treinados, um nos dados sintéticos (para TSTR) e outro nos dados originais (para TRTS). O modelo treinado nos dados sintéticos é avaliado usando um conjunto de testes de validação (que não foi usado durante a geração de dados sintéticos) e o modelo treinado nos dados originais é testado no conjunto de dados sintéticos.  

          visualização das pontuações da área sob a curva (AUC) por método e por modelo

          Figura 3. Visualização das pontuações da área sob a curva (AUC) por método e por modelo 

           Os resultados visualizados acima demonstram a superioridade da geração de dados Sintéticos pelo motor Syntho em comparação com outros métodos, visto que não há diferença entre os resultados obtidos pelos diferentes métodos (apontando para uma alta similaridade entre os dados sintéticos e reais). Além disso, a linha pontilhada vermelha presente no gráfico é o resultado obtido pela avaliação do desempenho base de um teste Train Real, Test Real (TRTR) para fornecer uma linha de base para as métricas observadas. Esta linha representa o valor 0.92, que é a pontuação da Área Sob a Curva (pontuação AUC) alcançada pelo modelo treinado em dados reais e testado em dados reais. 

          Uma representação tabular das pontuações AUC alcançadas pelo TRTS e TSTR, respectivamente, por modelo.

          Tabela 3. Uma representação tabular das pontuações AUC alcançadas pelo TRTS e TSTR, respectivamente, por modelo. 

          Comparação temporal

          Naturalmente, é fundamental considerar o tempo investido na geração desses resultados. A visualização abaixo ilustra exatamente isso.

          visualização do tempo necessário para treinar e realizar a geração de dados sintéticos de um milhão de datapoints com um modelo com e sem GPU.

          Figura 5. Visualização do tempo gasto para treinar e executar geração de dados sintéticos de um milhão de pontos de dados com um modelo com e sem GPU. 

          A Figura 5 ilustra o tempo necessário para gerar dados sintéticos em duas configurações diferentes. O primeiro deles (aqui referido como Sem GPU), foram testes executados em um sistema com CPU Intel Xeon com 16 núcleos rodando a 2.20 GHz. Os testes marcados como “executados com GPU” foram em um sistema com CPU AMD Ryzen 9 7945HX com 16 núcleos rodando a 2.5 GHz e uma GPU de laptop NVIDIA GeForce RTX 4070. Conforme observado na Figura 2 e na Tabela 2 abaixo, pode-se observar que o Syntho é significativamente mais rápido na geração de dados sintéticos (em ambos os cenários), o que é crítico em um fluxo de trabalho dinâmico. 

          uma tabela que ilustra o tempo necessário para a geração de dados sintéticos de 1 milhão de pontos de dados com cada modelo com e sem GPU

          Tabela 5. Uma representação tabular do tempo necessário para geração de dados sintéticos de um milhão de pontos de dados com cada modelo com e sem GPU 

          Observações Finais e Orientações Futuras 

          As conclusões sublinham a importância de uma avaliação minuciosa da qualidade na escolha do método correto de geração de dados sintéticos. O Engine da Syntho, com sua abordagem orientada por IA, demonstra pontos fortes notáveis ​​em certas métricas, enquanto ferramentas de código aberto como SDV brilham em sua versatilidade e melhorias orientadas pela comunidade. 

          À medida que o campo dos dados sintéticos continua a evoluir, encorajamos você a aplicar essas métricas em seus projetos, explorar suas complexidades e compartilhar suas experiências. Fique ligado em postagens futuras, onde nos aprofundaremos em outras métricas e destacaremos exemplos reais de sua aplicação. 

          No final das contas, para quem deseja testar o terreno em dados sintéticos, a alternativa de código aberto apresentada pode ser uma escolha justificável dada a acessibilidade; porém, para os profissionais que incorporam essa tecnologia moderna em seu processo de desenvolvimento, qualquer chance de melhoria deve ser aproveitada e todos os entraves evitados. Portanto, é importante escolher a melhor opção disponível. Com as análises fornecidas acima, torna-se bastante evidente que o Syntho e com isso o Syntho Engine é uma ferramenta muito capaz para os praticantes. 

          Sobre Syntho

          Sintoma fornece uma plataforma inteligente de geração de dados sintéticos, aproveitando vários formatos e métodos de geração de dados sintéticos, capacitando as organizações a transformar dados de forma inteligente em uma vantagem competitiva. Nossos dados sintéticos gerados por IA imitam padrões estatísticos de dados originais, garantindo precisão, privacidade e velocidade, conforme avaliado por especialistas externos como o SAS. Com recursos inteligentes de desidentificação e mapeamento consistente, as informações confidenciais são protegidas, preservando a integridade referencial. Nossa plataforma permite a criação, o gerenciamento e o controle de dados de teste para ambientes que não sejam de produção, utilizando métodos de geração de dados sintéticos baseados em regras para cenários específicos. Além disso, os usuários podem gerar dados sintéticos de forma programática e obter dados de teste realistas para desenvolver cenários abrangentes de teste e desenvolvimento com facilidade.  

          Você quer aprender mais aplicações práticas de dados sintéticos? Sinta-se livre para agende demonstração!

          Sobre os autores

          Estagiário de Engenharia de Software

          Rawam é estudante de bacharelado na Delft University of Technology e estagiário de engenharia de software na Sintoma 

          Engenheiro de Aprendizado de Máquina

          Mihai obteve seu doutorado pela Universidade de Bristol sobre o tema Aprendizagem por Reforço Hierárquico aplicada à Robótica e é um Engenheiro de aprendizado de máquina at Sintoma. 

          capa do guia syntho

          Salve seu guia de dados sintéticos agora!