Outliers

Um outlier (valor aberrante/atípico ou fora de série) é uma observação que apresenta um grande afastamento das demais do conjunto. Ele fica visível quanto é plotado um gráfico dos dados ou é feito um histograma com a distribuição deles. Quando é necessário caracterizar essa distribuição, um valor muito grande ou muito pequeno (quando comparado com o restante dos dados) pode gerar conclusões erradas sobre o objetivo de estudo.

Fonte: Statistics Cartoons by Ben Shabad

Como encontrar

De modo a evitar classificações subjetivas do que está afastado ou não, existem técnicas para definir intervalos dentro dos quais estão os dados – o que estiver fora, é outlier. Para uma série temporal sem tendência, existe uma forma bem simples que é definir um valor (20, por exemplo) e limitar o valor absoluto (sem sinal) para ser menor que esse limite (o que estiver fora, é outlier).

O Teste de amplitude (range) de Tukey usa o conceito de amplitude (ou intervalo) interquartil, desenvolvido com a finalidade de avaliar o grau de espalhamento de dados (dispersão) em torno da medida de centralidade (assim como o desvio padrão e a variância). Um quartil é qualquer um dos três valores que divide o conjunto ordenado de dados em quatro partes iguais, e assim cada parte representa 1/4 da amostra ou população. Veja o passo-a-passo para aplicar o teste e os conceitos envolvidos:

  1. Ordenar a amostra em ordem crescente
  2. Calcule a mediana (ou segundo quartil – Q1/4 – que indica metade da amostra)
  3. Encontre o quartil inferior (ou primeiro quartil – Q1/4 – ou ainda 25º percentil, pois indica 25% da amostra ordenada do menor para o maior) – se tiver mais de uma amostra “ao redor” desse ponto, fazer a média simples entre os dois valores
  4.  Encontre o quartil superior (ou terceiro quartil – Q3/4 – ou ainda 75º percentil)
  5. Calcule a amplitude interquartílica e multiplique por 1,5: A1 = (Q3/4-Q1/4)*1.5
  6. Calcule as “barreiras internas”: Q3/4 + A1 (barreira superior) e Q1/4 – A1 (barreira inferior)
  7. Calcule a amplitude interquartílica e multiplique por 3: A2 = (Q3/4-Q1/4)*3
  8. Calcule as “barreiras externas”: Q3/4 + A2 (barreira superior) e Q1/4 – A2 (barreira inferior)

Dessa forma, os dados fora das “barreiras internas” são outliers moderados e fora das “barreiras externas” são outliers extremos.

Outro teste envolve calcular o Desvio Padrão Absoluto da Média (MAD) e o Desvio Padrão Quadrático da Média (MSE). Um MAD baixo e um MSE alto indicam ocorrência de outliers no conjunto de dados – veja mais no post sobre Medidas de Acurácia.

O que fazer com os outliers

Geralmente, os outliers são identificados para serem excluídos das análises logo de início. No entanto, existem situações em que sua presença faz toda a diferença na análise – como em uma ditribuição logarítmica de valores em um grafico linear. Por vezes, apenas a magnitude em um dos eixos está muito grande mas que um procedimento estatístico utilizando valores próximos reduz a aberração.

Nesse caso, já estamos falando de valores extremos – nem sempre um outlier é um valor extremo. A técnica de trimming remove uma fração dos dados de cada extremo. Veja esse exemplo no R:

mean(c(1:10, 300), trim=.1)

Já o Winsorization serve para substituir valores extremos (somente os mais extremos ou uma coleção dos mais distantes, que é o exemplo abaixo):

winsor2 = function (x, multiple=3){
   if(length(multiple) != 1 || multiple <= 0) { stop("bad value for 'multiple'") } med = median(x) y = x - med sc = mad(y, center=0) * multiple y[ y > sc ] = sc
   y[ y < -sc ] = -sc
   y + med
}

O procedimento abaixo utiliza uma função exponencial para calcular um fator a ser multiplicado pelo valor da série – desse modo, quanto maior sua magnitude, maior o corte. Para reduzir a magnitude de todos os valores, multiplica-se o resultado anterior por um outro fator repetidamente até o valor máximo da série atingir um limite:

# Mediana e desvio padrão dos valores absolutos de toda a amostra
mediana = median(abs(x))
despad = sd(abs(x))
# Coeficiente para redução proporcional e eliminar outliers
coef = 1/(exp(abs(x)/despad))
# Porcentagem para redução de toda a amostra
if (mediana < despad){
	p = mediana/despad 
} else {
	p = despad/mediana
}
# Cálculo do novo valor (verifica necessidade de tirar outliers)
if (max(abs(x)) > 300){
	novos_valores = p*coef*x
} else {
	novos_valores = p*x
}
# Reaplicação do filtro
while (max(abs(novos_valores)) > 20){
	novos_valores = p*novos_valores
}

Não sei para que ser, mas o script acima pode ter alguma serventia para alguém. Se usar, por favor comente para que lhe foi útil =)

(curiosidade) Livro Outliers

No livro Outliers (2008), o autor Malcom Gladwell apresenta uma extensa pesquisa destinada a comprovar que são inúmeras as variáveis que levam uma pessoa ao sucesso extraordinário, apresentando algumas delas. Ele acaba por desmistificar a formação de um gênio: são pessoas que trabalharam muito, estudaram muito e que estavam no lugar certo e na hora certa. Um dos pontos abordados é a diferença do oriente e do ocidente, onde os orientais pregam muito a importância da paciência – algo muito importante na pesquisa científica mas que vai de encontro ao imediatismo do pensamento ocidental.

Fontes

2 comments

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.