Elipse Knowledgebase



Removendo dados discrepantes (outliers) com a linguagem Python.

Python é a linguagem de scripts utilizada pelo EPM. Para maiores informações, clique aqui.

Muitas vezes, uma análise estatística não pode ser validada devido à existência de outliers, ou seja, valores inconsistentes com os demais do conjunto. Neste estudo de caso, vamos considerar que houve problemas em um sensor de temperatura ambiente, o que causou leituras erradas. Observe o conjunto de dados:

Temperaturas = [ 25, 26, 225, 24, 23, 24, 25, 325, 28, 27]

Fica claro que existem valores incompatíveis. Veja o que acontece se calcularmos a média entre estes valores:

Média = (25+26+225+24+23+24+25+325+28+27) / 10, ou seja = 75.2

Obviamente a média está fora da normalidade, e isso causaria erros na interpretação dos dados. Observe agora a média sem os outliers.

Média = (25+26+24+23+24+25+28+27)/8, ou seja = 25.25

A função removeoutlier  utiliza o método de John Tukey  (John Tukey, Exploratory Data Analysis, Addison-Wesley, 1977, pp. 43-44 ).

Considere:

q1 como primeiro quartil do conjunto de valores.

q3 como terceiro quartil do conjunto de valores.

Os outliers serão os valores do conjunto que estão abaixo de q1 - 1.5(q3-q1) e acima de q3 + 1.5(q3-q1).

import numpy as np

def removeoutlier(values):

    fator = 1.5

    q3, q1 = np.percentile(values, [75, 25])

    iqr = q3 q1

    lowpass = q1 - (iqr * fator)

    highpass = q3 + (iqr * fator)

    return [v for v in values if v > lowpass and v < highpass]

 

Anexo a este artigo está uma versão comentada desse script.

NOTA: Nem sempre outliers representam erros de leitura. Por exemplo, uma temperatura extrema poderia ser causada por condições climáticas adversas. É necessário avaliar o conjunto de dados, o contexto em que foram gerados e quais informações se deseja extrair deles, para saber qual a melhor técnica para remoção de outliers.



Artigos Relacionados

Este artigo não possui outros artigos relacionados.

Anexos

Comentários de Usuários

Nenhum comentário de usuário. Adicionar um comentário

Comentários do artigo 'Removendo dados discrepantes (outliers) com a linguagem Python.'

Para adicionar um comentário neste artigo, preencha os campos abaixo. Os campos marcados com asterisco são obrigatórios.

   Nome:
   E-mail:
* Comentário:
* Digite o código abaixo:

 

Detalhes do Artigo

Última Atualização
27th of September, 2017

Autor
Lucas Kotres

Você gostaria de...

Imprimir esta página  Imprimir esta página

Enviar por e-mail esta página  Enviar por e-mail esta página

Adicionar um comentário  Adicionar um comentário

 Avise-me

Avise-me  Adicionar aos favoritos

Remover Marcação Remover Marcação

Editar este Artigo

Edição Rápida


Opinião dos Usuários

100% thumbs up 0% thumbs down (4 Votos)

Como você classifica este artigo?




Obrigado pelo seu voto.

Continuar