Diana Herthal
Diana Herthal06/06/2025 07:30
Compartilhe

IQR vs DFFITS: Estratégias complementares para identificação de Outliers em Python

    Resumo:

    A presença de outliers em conjuntos de dados pode comprometer significativamente a qualidade de análises estatísticas e modelos preditivos. Este artigo propõe uma abordagem integrada para a detecção de outliers, combinando o uso do Intervalo Interquartil (IQR) e da métrica DFFITS (Diferença nos Ajustes). O método IQR é aplicado na fase de pré-processamento para identificar e remover outliers univariados, enquanto o DFFITS é utilizado após o ajuste de modelos de regressão linear, com o objetivo de detectar observações com influência desproporcional nos valores ajustados.

    Palavras-chave: Análise de Dados; outliers; IQR; DFFITS

    Introdução:

    A presença de valores atípicos, também chamados de Outliers, em um conjunto de dados pode comprometer seriamente as análises estatísticas e a performance de modelos preditivos se não tratados corretamente. Por esse motivo, a detecção e o tratamento adequado de observações anômalas são etapas essenciais no processo de análise de dados.

    Dentre os muitos métodos estatísticos, destacam-se o Intervalo Interquartil (IQR) e a métrica DFFITS (Difference in Fits). O IQR é um método univariado, utilizado em um momento anterior ao processamento, identificando os valores mais discrepantes, com base na dispersão interquartil de uma variável. O DFFITS é uma métrica usada após a regressão linear para medir quanto uma observação individual influencia os valores previstos pelo modelo. 

    Mesmo que ambos os métodos tenham por objetivo a detecção de valores extremos na amostra, eles podem ser aplicados em etapas diferentes da análise, atuando de forma complementar. Ao realizar em um primeiro momento a aplicação do IQR, reduzindo assim o impacto inicial dos outliers, ao realizar a aplicação do DFFITS, a identificação de observações que, mesmo não sendo extremas em termos univariados, exercem influência significativa sobre os resultados da regressão.

    Este artigo propõe uma abordagem integrada para a detecção de outliers, combinando o uso do IQR e do DFFITS em um fluxo de análise estatística com implementação prática em Python. São apresentados os fundamentos teóricos de cada método, bem como sua aplicação em um conjunto de dados real, com o objetivo de demonstrar os benefícios da utilização sequencial e complementar dessas técnicas na construção de modelos mais robustos e confiáveis.

    Materiais e métodos:

    Demonstração do método de Intervalo Interquartil (IQR):

    Em um primeiro momento deve-se calcular os quartis, para isso o dataset deve estar ordenado em ordem crescente na coluna a ser analisada, para calcular os valores dos quartis é utilizada a seguinte fórmula:

    (k.(n+1))/4 onde k=1,2,3

    Equação 1

    Onde n representa o número de informações e k representa o quartil. Caso o resultado da equação seja um número inteiro, o quartil assume o valor da variável na posição resultante. Por outro lado, se o resultado tenha parte decimal o valor do quartil deve ser calculado a partir de:

    Qk = xi + d.(xi+1 – xi)

    Equação 2

    Onde k representa o quartil, xi representa a primeira posição anterior e xi+1 a primeira posição posterior à posição resultante da equação 1 e d refere-se à distância entre os valores em ambas as posições.

    Calculados os três quartis, seguimos calculando a amplitude interquartil, IQR (Equação 3) e os limites superior e inferior.

    IQR=Q3-Q1

    Equação 3

    Limite Superior=Média+1,5*IQR

    Equação 4

    Limite Inferior=Média-1,5*IQR

    Equação 5

    A identificação de um outlier para o método IQR se dá a partir de que qualquer valor acima do limite superior ou abaixo do limite inferior é considerado outlier.

    Demonstração do método DFFITS:

    DFFITSi=(ŷi-ŷi(i))/(MSE(i) √h ii)

    Equação 6

    Onde ŷi é o valor ajustado para a observação i com todos os dados, ŷi(i) valor ajustado para a observação i sem usar a própria observação no ajuste, MSE(i) é o erro padrão da regressão sem a observação i e alavancagem da observação i, obtida da matriz “hat”.

    DFFITSi>2*√p/n

    Equação 7

    Onde p é o número de parâmetros do modelo (incluindo o intercepto) e n é o número total de observações.

    O código das análises pode ser encontrado em: https://github.com/DianaHerthal/Otlier-Analysis

    Resultados e discussões:

    A aplicação combinada dos métodos IQR e DFFITS demonstrou ser eficaz na identificação de outliers em diferentes estágios da análise de dados. O uso inicial do IQR permitiu a remoção de valores extremos univariados, o que contribuiu para uma base de dados mais limpa e menos suscetível a distorções estatísticas básicas. Esse pré-processamento facilitou a construção de modelos de regressão mais estáveis.

    A Figura 1 ilustra os outliers identificados exclusivamente pelo método do Intervalo Interquartil (IQR). Observa-se que esse método é eficiente para detectar valores extremos em uma única variável, mas pode deixar de identificar observações influentes em contextos multivariados.

     image

    Figura 1

    A Figura 2 apresenta os resultados da aplicação do DFFITS, que identificou observações com influência desproporcional sobre os valores ajustados do modelo de regressão. Esses pontos não necessariamente são extremos em termos univariados, mas afetam significativamente a performance do modelo.

     image

    Figura 2

    Já a Figura 3 mostra a combinação dos dois métodos, evidenciando como a abordagem integrada permite uma detecção mais abrangente de outliers. A sobreposição dos resultados revela que alguns pontos são detectados por ambos os métodos, enquanto outros são exclusivos de cada abordagem, reforçando a ideia de que IQR e DFFITS são estratégias complementares.

     image

    Figura 3

    Além disso, a implementação prática em Python mostrou-se acessível e eficiente, permitindo a replicação dos métodos em diferentes conjuntos de dados com facilidade. A abordagem integrada contribui para a construção de modelos mais robustos, com maior capacidade preditiva e menor viés causado por observações anômalas.

    Conclusão:

    A combinação dos métodos IQR e DFFITS se mostrou uma estratégia eficaz para a detecção de outliers em diferentes fases da análise de dados. Enquanto o IQR atua como uma ferramenta inicial de limpeza univariada, o DFFITS complementa a análise ao identificar observações influentes após o ajuste do modelo.

    Essa abordagem sequencial permite uma análise mais completa e confiável, reduzindo o impacto de valores extremos e aumentando a robustez dos modelos estatísticos. A implementação em Python reforça a aplicabilidade prática da metodologia, tornando-a acessível para profissionais e estudantes da área de ciência de dados.

    Recomenda-se, portanto, a adoção conjunta dessas técnicas em projetos que envolvam modelagem preditiva, especialmente quando se busca maior precisão e confiabilidade nos resultados.

    Referências:

    Oyeyemi, G. M., Bukoye, A., & Akeyede, I.  (2015). American Journal of Mathematics and Statistics 2015. Fonte: Comparison of Outlier Detection Procedures in Multiple: https://d1wqtxts1xzle7.cloudfront.net/83428718/showpaperpdf-libre.pdf?1649414498=&response-content-disposition=inline%3B+filename%3DComparison_of_Outlier_Detection_Procedur.pdf&Expires=1748789936&Signature=SbkyQ88MWoXUN5WoaCwdKOmh8gJxCtA2QHFDhql-69m~YGoOt

    Bernardet, U., Blanchard, M., & Verschure, P. F. (Junho de 2002). IQR: a distributed system for real-time real-world neuronal simulation. Fonte: ScienceDirect: https://www.sciencedirect.com/science/article/pii/S0925231202004125?casa_token=ZjW1VJcv0rAAAAAA:iK0YY_7WfCBWLr8bnYguTPp3JEcMGQsePKJBfnQVtujeJJadNGxLv7oTHlV808MlWxtEeilC4bEo

    The Pennsylvania State University. (2018). Identifying Influential Data Points. Fonte: PennState Eberly College of Science: https://online.stat.psu.edu/stat462/node/173/

     

    Compartilhe
    Comentários (1)
    DIO Community
    DIO Community - 06/06/2025 14:23

    Excelente, Diana! Seu artigo sobre "IQR vs DFFITS: Estratégias complementares para identificação de Outliers em Python" é uma abordagem muito clara e prática. É fundamental entender como a presença de valores atípicos pode comprometer análises estatísticas, e sua proposta de usar os métodos de forma complementar é super valiosa.

    Considerando que "o IQR é eficiente para detectar valores extremos em uma única variável, mas pode deixar de identificar observações influentes em contextos multivariados", qual você diria que é o maior benefício de aplicar o DFFITS para identificar outliers que não são extremos, mas que afetam significativamente a performance do modelo de regressão?