Suponha que eu tenho um conjunto de dados: Amount of money (100, 50, 150, 200, 35, 60 ,50, 20, 500)
. Eu pesquisei na web à procura de técnicas que podem ser usadas para encontrar uma possível outlier neste conjunto de dados, mas acabei confuso.
Minha pergunta é : Quais algoritmos, técnicas ou métodos podem ser usados para detectar possíveis discrepâncias neste conjunto de dados?
PS : considere que os dados não seguem uma distribuição normal. Obrigado.
algorithms
outlier
Nation Chirara
fonte
fonte
Respostas:
Você pode usar o BoxPlot para análises discrepantes. Eu mostraria como fazer isso em Python:
Considere seus dados como uma matriz:
Agora, use seaborn para plotar o boxplot:
Então, você obteria um gráfico que se parece com isso:
Parece que 500 é o único outlier para mim. Mas tudo depende da análise e do nível de tolerância do analista ou estatístico e também da declaração do problema.
Você pode dar uma olhada em uma das minhas respostas no CrossValidated SE para mais testes.
E existem várias perguntas interessantes sobre os valores discrepantes e os algoritmos e técnicas para detectá-los.
Meu favorito pessoal é a técnica de distância Mahalanobis .
fonte
Uma maneira de pensar na detecção de outlier é que você está criando um modelo preditivo e depois verificando se um ponto está dentro do intervalo de previsões. Do ponto de vista teórico da informação, é possível ver quanto cada observação aumenta a entropia do seu modelo.
Se você estiver tratando esses dados apenas como uma coleção de números e não tiver um modelo proposto para como eles são gerados, é melhor analisar a média. Se você tem certeza de que os números não são normalmente distribuídos, não pode fazer declarações sobre a distância em que um determinado número está da média, mas você pode apenas vê-lo em termos absolutos.
Aplicando isso, você pode calcular a média de todos os números, excluir cada número e calcular a média dos outros. Qualquer que seja a média que seja mais diferente da média global, será a maior discrepância. Aqui está um python:
fonte
Uma abordagem simples seria usar a mesma coisa que os gráficos de caixa: fora de 1,5 (mediana-q1) ou 1,5 (q3-mediana) = outlier.
Acho útil em muitos casos, mesmo que não seja perfeito e talvez muito simples.
Tem a vantagem de não supor normalidade.
fonte