Deteção de anomalias: os dados fora da curva nunca estiveram tão marcados
Para os utilizadores de Power BI que desejam avançar em análise dados com uma série temporal, essa funcionalidade de deteção de anomalias será útil, pois utiliza recursos matemáticos avançados para encontrar os pontos discrepantes de uma determinada distribuição de dados, dado um certo grau de confiabilidade.
Esse é um recurso utilizado para dados de séries temporais, ou seja, só conseguiremos recorrer a essa funcionalidade quando tivermos um elemento visual com um valor DateTime ou um valor de hierarquia de datas no campo do eixo.
A ideia por trás desse recurso é detetar pontos diferentes do esperado (anomalias) com certo grau de confiabilidade.
Ele é utilizado nos gráficos de linhas, em que no eixo x temos um campo de data (série temporal). Além disso, são necessários pelo menos 12 pontos de dados.
Como esse recurso ainda está em preview, certifique-se de que tem esse recurso ativado em seu Power BI:
A título de exemplo, utilizaremos dados de vendas online para vários produtos, que estão no ficheiro 8_LojasDesporto.
Vamos inserir um gráfico de linhas, em que no campo eixo colocaremos o ‘Dia’ e no campo valores, colocaremos as ‘Unidades’ vendidas.
Com essa série temporal, podemos analisar várias coisas, como por exemplo, a sazonalidade, pontos de máximo e mínimo (picos), bem como a variabilidade das vendas ao longo do tempo.
Suponha que somos os gestores dessa empresa e queremos analisar os dados de acordo com alguns filtros, como por exemplo, quando o país é Brasil e o produto é biquíni.
Por isso, vamos inserir dois filtros de ‘Segmentação de dados’ no topo da página, um para a variável 'País' e outro para o 'Produto'.
Você pode ativar a deteção de anomalias selecionando a opção "Encontrar anomalias" no painel de análise. Não esqueça que o gráfico de linhas deverá estar selecionado.
Note que logo em seguida, já foram detetadas nove anomalias no gráfico de linhas, representados em formato de bolinha cinza.
E ao passarmos o rato em cima delas, conseguimos perceber algumas informações mais detalhadas, nomeadamente:
- a data da venda;
- quantas unidades de facto foram vendidas;
- o valor esperado, que é o valor estimado de vendas para aquele dia, baseado na série histórica;
- as margens de confiança, com os valores máximo e mínimo esperado.
No exemplo da imagem acima, é possível entender que as vendas de biquínis do dia 27 de dezembro de 2012, no Brasil, chamaram a atenção, pois esperava-se vender cerca de 30 unidades, podendo variar entre 24 (mínimo) a 35 unidades (máximo esperado), quando na verdade, foram vendidas 51. É o caso investigar o que aconteceu neste dia, se foi alguma campanha promocional, “queima de estoque”, cupon de desconto ou feriado.
Lembre-se, nosso foco como analista não é criar gráficos bonitos, e sim, analisar as consequências, os resultados, gerar insights que nos ajudem a tomar decisões mais assertivas e inteligentes para o nosso negócio. Não somos apertadores de botões.
As margens de confiança estão representadas na cor cinza claro, como uma espécie de contorno em volta da linha azul. Elas são as faixas de valores esperados.
Vale a pena destacar que podemos escolher qual precisão que queremos dar ao nosso intervalo de confiança. Ou seja, conseguimos escolher com qual nível de precisão esperamos que o número de vendas aconteça. Isso envolve cálculos estatísticos interessantes por trás.
Um intervalo de confiança (IC) é um intervalo estimado de um parâmetro de interesse de uma população, no nosso caso, o as vendas de biquínis para o Brasil. Ao invés de estimar o parâmetro por um único valor, é dado um intervalo de estimativas prováveis. O quanto estas estimativas são prováveis será determinado pelo coeficiente de confiança (1−α), para α∈(0,1).
Portanto, podemos interpretar o intervalo de confiança como um intervalo que contém os valores "plausíveis" que o parâmetro pode assumir. Assim, a amplitude do intervalo está associada a incerteza que temos a respeito do parâmetro. Dessa forma, um IC pode ser usado para descrever o quanto os resultados de uma pesquisa são confiáveis. Sendo todas as estimativas iguais, uma pesquisa que resulte num IC pequeno é mais confiável do que uma que resulte num IC maior.
Vejamos a diferença nas duas imagens a seguir, em que a 1ª contém confidencialidade igual a 80% e a segunda 50%:
Uma das principais interpretações do intervalo de confiança consiste em avaliar a incerteza que temos a respeito de estimarmos o parâmetro populacional a partir de uma amostra aleatória de tamanho n.
Dito isso, verificamos que o coeficiente de confiança do nosso intervalo de confiança terá, é dado pelo que o Power BI chama de ‘Confidencialidade’ ou sensibilidade. Veja que por padrão, ele coloca um valor de 70%.
Se você aumentar a confidencialidade, o algoritmo será mais sensível às mudanças em seus dados. Nesse caso, mesmo um ligeiro desvio é marcado como uma anomalia e consequentemente, os intervalor serão mais "curtos", digo, mais estreitos. Ao passo que, se você diminuir a sensibilidade, o algoritmo é mais seletivo sobre o que considera uma anomalia, e consequentemente, teremos intervalos de confiança mais largo (diminuo a precisão, mas aumento o IC).
Quero aprofundar um pouco mais a interpretação. Voltemos ao exemplo anterior.
Podemos interpretar que temos 70% de "chance" de o intervalo conter o verdadeiro valor da média populacional. Em outras palavras, se produzirmos diversos intervalos de confiança provenientes de diferentes amostras independentes de mesmo tamanho, podemos esperar que aproximadamente, 70% destes intervalos devem conter o verdadeiro valor da média populacional das vendas de biquínis para o Brasil.
Já em termos de formatação desse recurso, é possível formatarmos a forma, o tamanho e a cor da anomalia, e também a cor, o estilo e a transparência do intervalo esperado.
Outra análise interessante que pode aparecer ou não, são as explicações para as anomalias. Ao clicarmos em algum ponto de anomalia detetado, o Power BI abre um friso entre as ‘Visualizações’ e os ‘Filtros’, chamado ‘Anomalias’. Em que mostra um breve resumo do ponto selecionado e as possíveis explicações para aquela anomalia.
No nosso caso, não foi possível encontrar explicações significativas para o ponto de anomalia que selecionei.
Por trás foram feitos cálculos de correlação para tentar explicar o aumento das vendas nesta data. No entanto, não foram estatisticamente significativas para tal.
Também podemos controlar os campos que são usados na análise, através da opção ‘Explicar por’. Para isso, basta arrastar as variáveis desejadas para explicar as anomalias.
Ainda sim, essas variáveis não foram suficientemente significativas para explicar nossas anomalias.
No entanto, recomendo que teste em outras bases de dados que contenham dados temporais e verifique mais funcionalidades disponíveis.
Espero que tenham gostado desse recurso assim como eu. Consigo ver aplicações interessantes para esse recurso, como por exemplo, detetar em quais dias do ano as vendas foram atípicas (tanto para mais, quanto para menos) e o porquê, ou mesmo, para acompanhar o controlo de estoques do produtos, dentre muitas outras.
Fico por aqui e até o próximo artigo.