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.