Article image
Rodrigo Sundfeld
Rodrigo Sundfeld26/06/2021 17:33
Compartilhe

A estrutura de qualidade de dados da plataforma de análise de dados

  • #Banco de dados relacional
  • #NoSQL

Como abordamos a qualidade dos dados?

Data Analytics Platform (DAP) do ING WBAA foi projetada como uma plataforma de autoatendimento para quem deseja realizar iniciativas de análise. O DAP facilita múltiplos casos de uso: Análise e Inteligência de Negócios, Experimentação, Treinamento e Implementação de Modelos de Ciência de Dados. A plataforma é alimentada apenas com dados de produção reais, ou seja, dados que são produzidos por sistemas ING.

No DAP, mantemos uma grande quantidade de dados de uma variedade de fontes, principalmente dados brutos que estão sendo consumidos por projetos analíticos.

O principal motivo e benefício de fornecer dados puros, não modificados e brutos é que os usuários de dados preferem fazer a limpeza, normalização, enriquecimento e trabalho geral de preparação de dados por conta própria. O escopo e a abordagem dessas operações variam entre os diferentes projetos. É particularmente importante ao desenvolver modelos de aprendizado de máquina (ML), especialmente se eles usarem algoritmos de aprendizado não supervisionado, como análise de cluster.

Um benefício adicional de fornecer o conjunto de dados completo sem quaisquer transformações é que isso reduz a quantidade de tempo que os usuários precisam para acessar os dados de que precisam para realizar seu trabalho.

Outra opção disponível no ING é capturar dados de repositórios de alta qualidade que contêm dados limpos e unificados. No entanto, esses repositórios geralmente contêm apenas subconjuntos dos conjuntos de dados originais, pois são usados ​​principalmente para fins de relatório. O DAP oferece essa opção também para nossos usuários, selecionados apenas se tais conjuntos de dados puderem ser aproveitados em suas análises e objetivos de negócios.

Dados brutos podem significar informações de baixa qualidade e poluídas. Como a qualidade dos dados pode significar coisas diferentes para usuários diferentes, não corrigimos problemas de qualidade ao carregar dados no DAP. Ele é fornecido aos usuários no estado em que se encontra. A forma como apoiamos nossos usuários em seus projetos é aumentando a conscientização sobre os dados que temos. Conseguimos isso fornecendo relatórios de qualidade de dados que podem ser analisados ​​antes de usar os dados. Graças a esses relatórios, os usuários podem aprender sobre a condição e a qualidade dos dados no DAP.

O processo de geração desses relatórios será estendido no futuro próximo com um mecanismo automático que detectará quando a qualidade cai abaixo de um limite especificado e notificará o Data Stewards para tomar ações corretivas em conjuntos de dados defeituosos fornecidos ao DAP. Assim que um problema de qualidade de dados for corrigido no lado da fonte, ele será impedido de ocorrer novamente no DAP, bem como em outros lugares que dependem dele. É muito importante ter dados com exatamente as mesmas características em ambientes onde os modelos analíticos são treinados e executados. Caso contrário, as diferenças afetarão o resultado dos modelos de ML implantados, pois seu comportamento será diferente do esperado.

Às vezes, os problemas de qualidade de dados não podem ser descobertos na fonte e você precisa executar testes de verificação cruzada em várias fontes de dados ao mesmo tempo para detectar um problema. Quanto mais dados tivermos sobre o DAP, mais testes dessa natureza poderemos executar para nossos usuários.

Idealmente, qualquer problema com os dados significaria que eles seriam rejeitados imediatamente e, a partir daí, os dados corrigidos seriam entregues novamente pelo provedor de dados. No entanto, somos realistas e entendemos que nem sempre isso é possível: alguns aplicativos são inacessíveis para atualizações (principalmente os legados) ou o tempo de espera é excessivo. Às vezes, só precisamos aceitar um grau menor de precisão em nossos dados

No DAP, os processos de verificação da qualidade e cálculo das estatísticas de criação de perfil dos conjuntos de dados são automatizados e baseados na frequência de novas chegadas de dados - na maioria dos casos, isso é feito diariamente.

Depois de verificar os relatórios, os usuários podem avaliar o nível de qualidade dos dados que é aceitável para eles e, em caso afirmativo, prosseguir com a análise posterior usando o algoritmo selecionado. A ferramenta de descoberta de dados disponível no DAP fornece informações sobre os proprietários dos dados e os usuários frequentes dos dados - dessa forma, em caso de dúvida, o usuário pode contatá-los para obter mais informações sobre os dados em mãos.

Os seguintes relatórios são preparados regularmente:

Perfil de Dados

Perfil de dados é o exame e a análise estatística dos conjuntos de dados ingeridos, fornecendo uma imagem mais clara do conteúdo dos dados. Esses tipos de estatísticas são métricas bem definidas e padrão do setor e podem ser implantadas automaticamente sem envolver os usuários. O conjunto padrão de verificações é executado em cada conjunto de dados: estatísticas de coluna, distribuição de valor e distribuição de padrão.

Depois de caracterizados os dados, as informações adquiridas e as inferências associadas têm uma influência direta na forma como o modelo analítico é preparado.

Para cada coluna no conjunto de dados, as seguintes estatísticas - se relevantes para o tipo de coluna - são apresentadas em um relatório HTML:

  • Inferência de tipo: detecta os tipos de colunas em uma tabela
  • Essentials: valores únicos, valores ausentes
  • Estatísticas de quantis como valor mínimo, Q1, mediana, Q3, máximo, intervalo, intervalo interquartil
  • Estatísticas descritivas como média, modo, desvio padrão, soma, desvio absoluto mediano, coeficiente de variação, curtose, assimetria
  • Valores mais frequentes
  • Distribuição (histograma)
  • Correlações destacando de variáveis altamente correlacionadas, Spearman, Pearson, e Kendall matrizes
  • Matriz de valores ausentes , contagem, mapa de calor e dendrograma de valores ausentes
  • A análise de texto aprende sobre categorias (maiúsculas, espaço), scripts (latino, cirílico) e blocos (ASCII) de dados de texto.

biblioteca de perfis do pandas foi desenvolvida pelo cientista de dados Simon Brugman do ING WBAA e é utilizada para nos ajudar a caracterizar nossos dados.

Qualidade de Dados

O ING especificou nove métricas de qualidade funcional que devem ser validadas: Oportunidade, Completude, Validade, Exatidão, Unicidade, Consistência, Rastreabilidade, Adaptabilidade, Disponibilidade. A maioria dessas métricas é exigida pelos reguladores do ING para fins de relatório. A exclusividade e a integridade são verificadas no nível da coluna para todos os conjuntos de dados ingeridos durante o processo de Criação de Perfil de Dados.

O ponto de vista dos consumidores sobre a qualidade dos dados dos mesmos conjuntos de dados varia dependendo do caso de uso. Portanto, no DAP os usuários podem decidir quais verificações de validade são importantes para eles e seus projetos. Definir as regras de qualidade de dados requer experiência no domínio do negócio - é por isso que o envolvimento dos usuários é necessário.

Existem várias estruturas que você pode usar para validar a qualidade dos dados - Great Expectations ( Introdução - documentação great_expectations ) foi escolhida para o DAP. Great Expectations permite definir ambos: testes de qualidade simples e complexos. Ele fornece a capacidade de especificar conjuntos de expectativas sobre os dados - a maneira como esperamos que os dados apareçam Uma lista de verificações que podem ser executadas nos dados é muito longa, elas estão relacionadas a, por exemplo, formato da tabela, valores ausentes, valores únicos, conjuntos de intervalos, correspondência de strings, funções agregadas, colunas múltiplas. Além disso, a ferramenta permite a criação de expectativas customizadas - ou seja, específicas para o domínio de dados do usuário.

conjunto pode incluir uma ou mais regras, dependendo do contexto e da criticidade de um determinado atributo. Essas regras também podem ser aplicadas a vários atributos se houver dependências entre colunas. É possível executar muitos conjuntos diferentes no mesmo conjunto de dados.

Alguns exemplos de expectativas são:

  • “Espero que os valores da string na coluna XXX tenham um comprimento entre 12 e 20” - a expectativa expect_column_value_lengths_to_be_between será usada.
  • “Eu espero que os valores na coluna A sejam maiores do que na coluna B” - a expectativa expect_column_pair_values_A_to_be_greater_than_B será usada.
  • Para obter mais exemplos, acesse o Glossário de expectativas - documentação de great_expectations (greatexpectations.io) .

Estabilidade de Dados

Quando os modelos de ML estão sendo desenvolvidos, certos padrões de dados são usados ​​para o treinamento dos modelos. Depois de implantar esse modelo em um ambiente de produção, a estabilidade dos novos dados de entrada deve ser constantemente monitorada contra o aparecimento de anomalias nos dados alimentados para o modelo. O desvio de dados geralmente leva à degradação do desempenho do modelo, portanto, a precisão de um modelo é reduzida. Depois de detectar o desvio de dados, as ações de remediação são necessárias, por exemplo, ajuste ou retreinamento do modelo.

O DAP é usado para construir e treinar modelos e apenas dados reais de produção são ingeridos para projetos, portanto, um relatório que reflita a estabilidade dos dados recebidos é muito desejado.

Por esse motivo, a ferramenta Population Shift Monitoring (popmon), desenvolvida por Max Baak, cientista de dados líder do capítulo do ING WBAA, e o cientista de dados Tomas Sostak, é usada. ( GitHub - ing-bank / popmon: Monitore a estabilidade dos pandas ou acenda o frame de dados ⚙︎ )

popmon verifica a estabilidade de um conjunto de dados ao longo do tempo. Ele faz isso tomando como entrada um DataFrame - Pandas ou Spark - onde uma das colunas deve representar a data e, em seguida, produzirá um relatório de boa aparência que indica a estabilidade de todas as colunas ao longo do tempo.

Para cada coluna, a estabilidade é determinada tomando uma referência (por exemplo, os dados nos quais você treinou seu classificador) e contrastando cada intervalo de tempo com esta referência.

Normalmente, a verificação da qualidade dos dados ou a criação de perfis de dados são etapas incluídas no pipeline de ingestão de dados, ocorrendo durante ou logo após o carregamento dos dados. No ambiente do DAP, os processos de qualidade de dados são desacoplados da ingestão de dados e programados como execuções separadas. Desta forma, alcançamos uma melhor utilização dos recursos de computação e memória. Preparar os relatórios para conjuntos de dados muito grandes pode consumir muitos recursos. Ao dividir os processos de qualidade de dados, evitamos interferir nas tarefas de nossos usuários durante o horário comercial.

Uma visão geral da estrutura de qualidade de dados do DAP:

Esquadrão de ativos de dados da DAP

O esquadrão de ativos de dados da DAP é a força por trás da estrutura automática descrita acima. Sempre ouvindo as necessidades de nossos usuários, sabemos que, ao poder ter acesso às métricas de qualidade de dados enquanto aprendem sobre as características de seus dados e identificam o desvio de dados, eles podem realizar seus projetos de análise de maneira oportuna e eficaz.

O DAP da WBAA é a plataforma de referência do ING que combina as ferramentas de código aberto mais recentes, poder computacional significativo, um ambiente altamente seguro e compatível e todas as disciplinas de análise em um só lugar. Petabytes de dados do ING são centralizados no DAP, fornecendo um ambiente de trabalho para descobrir, modelar, visualizar e analisar big data.

Compartilhe
Comentários (2)

DS

Daiane Santos - 18/09/2022 09:56

Parabéns pelo artigo!

Leandro Carvalho
Leandro Carvalho - 26/06/2021 19:34

Parabens pelo artigo.