O objetivo das validações é verificar por meio de estatísticas e ferramentas graficas se a distribuição dos dados está conforme o esperado, e identificar possíveis outliers ou alteração sistêmica nos dados.
Estatisticas Descritivas
Nesta análise utilizaremos estatísticas descritivas que explicam a distribuição dos dados
Quartis:
São valores que dividem um conjunto de elementos ordenados em quatro partes iguais, ou seja, cada parte contém 25% dessas observações.
Mínimo: Menor valor entre as observações
Q1 – Divide as observações no qual 25% das observações são menores e 75% das observações são maiores que este valor
Q2 (Mediana) – Divide as observações no qual 50% das observações são menores e 50% das observações são maiores que este valor
Q3 – Divide as observações no qual 75%das observações são menores e 25% das observações são maiores que este valor
Máximo: Maior valor entre as observações
Outliers:
São observações consideradas discrepantes das demais, podendo existir ou não dentro de uma amostra, que são menores que Q1 - (Q3 - Q1) * 1,5 ou maiores que Q3 + (Q3 - Q1) * 1,5
Explicação dos Gráficos
Boxplot:
O gráfico do tipo Boxplot, mostra a visualização das estatísticas Q1, Q2, Q3 e Outliers e seus pontos distribuídos ao longo de uma reta, auxiliando graficamente no entendimento da distribuição dos dados.
Lineplot:
O Lineplot mostra os dados distribuídos ao longo do tempo, sendo seus valores indicados no Eixo Y e o tempo indicado no Eixo X.
Dados de Produção
O notebook utilizado para esta validação se encontra no seguinte caminho dentro do repositório:
Path: jobs/dev/04__layers/2023-03-09__descritiva_production_line
A bibloteca utilizada para manipulação de dados e cálculo de estatísticas é o pandas, e as responsáveis pela criação de gráficos são matplotlib e seaborn, que são responsáveis pela criação de gráficos e integração com o pandas respectivamente,
Os dados são importados da tabela golden_batch__silver.database__production_line e convertidos para o objeto DataFrame da biblioteca Pandas.
Criamos a função stats_and_outliers para calcular as estatísticas e outliers:
Q1, Q2 (Mediana), Q3, Máximo, Mínimo, Número de Observações, Número de Outliers e Porcentagem de Outliers
Para cada linha de produção, barcode e variável foi gerado um gráfico boxplot e aplicado a função stats_and_outliers e seus valores registrados em uma lista.
Os gráficos de cada variavel de produção podem ser encontrados no notebook utilizado.
A tabela de estatísticas e outliers é convertida em um objeto DataFrame Pandas e ordenados da maior para a menor porcentagem de outliers
A tabela é convertida para o objeto DataFrame Spark e pode ser feito o download pelo próprio notebook ou acessadas no link:
Para cada variável os gráficos de linha também foram gerados e podem ser consultados no notebook utilizado.
Dados de Laboratório
O notebook utilizado para esta validação se encontra no seguinte caminho dentro do repositório:
Path: jobs/dev/04__layers/2023_03_09__descritiva_laboratory_variables
A bibloteca utilizada para manipulação de dados e cálculo de estatísticas é o pandas, e as responsáveis pela criação de gráficos são matplotlib e seaborn, que são responsáveis pela criação de gráficos e integração com o pandas respectivamente,
Os dados de laboratorio são importados da tabela golden_batch__silver.database__laboratory_variables e convertidos para o objeto DataFrame da biblioteca Pandas.
Os dados de limites tecnologicos são importados das tabelas golden_batch__bronze.aux__aux__tec_limits e golden_batch__bronze.aux__de_para_barcode_cf convertidos para o objeto DataFrame da biblioteca Pandas e o merge é utilizado para criar um DataFrame.
Criamos a função stats_outliers_and_tec_limits para calcular as estatísticas, outliers e verifica a porcentagem dos dados dentro dos limites de especificação:
A função tec_limits verifica se os dados estão dentro dos limites de especificação para cada linha de produção e barcode para o conjunto das variáveis
Q1, Q2 (Mediana), Q3, Máximo, Mínimo, Número de Observações, Número de Outliers , Porcentagem de Outliers, Porcentagem dentro dos limites
Para cada variável foi gerado um gráfico boxplot e aplicado a função stats_outliers_and_tec_limits e seus valores registrados em uma lista.
Os gráficos de cada variavel de produção podem ser encontrados no notebook utilizado.
Para cada observação verificamos se encontram dentro dos limites especificados e separamos em grupos por meio da função tec_limits, em seguida plotamos a quantidade de observações por grupo
A tabela de estatísticas e outliers é convertida em um objeto DataFrame Pandas e ordenados da maior para a menor porcentagem de outliers
A tabela é convertida para o objeto DataFrame Spark e pode ser feito o download pelo próprio notebook ou acessadas no link:
Para cada variável os gráficos de linha também foram gerados com linhas vermelhas nos limites especificados e podem ser consultados no notebook utilizado.