Como executar o testador grubbs em python


O teste de Grubbs é usado para identificar a presença de outliers em um conjunto de dados. Para usar este teste, um conjunto de dados deve ter distribuição aproximadamente normal e conter pelo menos 7 observações.

Este tutorial explica como realizar o teste Grubbs em Python.

Teste Grubbs em Python

Para realizar o teste Grubbs em Python, podemos usar a função smirnov_grubbs() do pacote outlier_utils , que usa a seguinte sintaxe:

smirnov_grubbs.test (dados, alfa = 0,05)

Ouro:

  • dados: um vetor numérico de valores de dados
  • alfa: O nível de significância a ser usado para o teste. O valor padrão é 0,05

Para usar esse recurso, você deve primeiro instalar o pacote outlier_utils :

 pip install outlier_utils

Depois que este pacote estiver instalado, você poderá realizar o teste Grubbs. Os exemplos a seguir ilustram como fazer isso.

Exemplo 1: teste de Grubbs bicaudal

O código a seguir ilustra como realizar um teste de Grubbs bicaudal, que detectará valores discrepantes em ambas as extremidades do conjunto de dados.

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test
grubbs. test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])

Esta função simplesmente retorna um array sem valores discrepantes. Neste caso, o valor máximo de 40 era um valor discrepante e, portanto, foi removido.

Exemplo 2: teste de Grubbs unilateral

O código a seguir demonstra como realizar um teste de Grubbs unilateral para o valor mínimo e o valor máximo em um conjunto de dados:

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test to see if minimum value is an outlier
grubbs. min_test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test to see if minimum value is an outlier
grubbs. max_test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])

O teste de mínimo outlier não detectou o valor mínimo como outlier. Entretanto, o teste de valor discrepante máximo determinou que o valor máximo de 40 era um valor discrepante e, portanto, foi removido.

Exemplo 3: Extraia o índice do outlier

O código a seguir demonstra como extrair o índice do outlier:

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test and identify index (if any) of the outlier
grubbs. max_test_indices (data, alpha=.05)

[16]

Isso nos diz que há um valor discrepante na posição 16 do índice da tabela.

Exemplo 4: Extraia o valor do outlier

O código a seguir demonstra como extrair o valor do valor discrepante:

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test and identify the actual value (if any) of the outlier
grubbs. max_test_outliers (data, alpha=.05)

[40]

Isso nos diz que há um valor discrepante com valor 40.

Como lidar com outliers

Se o teste de Grubbs identificar um valor discrepante em seu conjunto de dados, você terá várias opções:

1. Verifique novamente se o valor não é um erro de digitação ou de entrada de dados. Às vezes, os valores que aparecem como valores discrepantes em conjuntos de dados são simplesmente erros de digitação cometidos por um indivíduo durante a entrada de dados. Primeiro, verifique se o valor foi inserido corretamente antes de tomar qualquer outra decisão.

2. Atribua um novo valor ao valor discrepante . Se o valor discrepante for resultado de um erro de digitação ou de entrada de dados, você pode decidir atribuir a ele um novo valor, como a média ou mediana do conjunto de dados.

3. Remova o valor discrepante. Se o valor for realmente atípico, você poderá optar por removê-lo se ele tiver um impacto significativo em sua análise.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *