Encontrar los puntos atípicos de Matplotlib

Los valores atípicos son los puntos de datos que difieren de otras observaciones o aquellos que se encuentran a una distancia de los otros datos. Se generan principalmente debido a algún error experimental que puede causar varios problemas en el análisis estadístico. Mientras que en un gran conjunto de datos, es bastante obvio que algunos datos estarán más lejos de la media de la muestra. Estos valores atípicos deben ser encontrados y manejados sabiamente.

Podemos usar diagramas de caja para lo necesario.

Arriba hay un diagrama de diagrama de caja creado para mostrar el resumen de valores de datos junto con su mediana, primer cuartil, tercer cuartil, mínimo y máximo . Y los puntos de datos de los bigotes superior e inferior son valores atípicos. Entre el primer y el tercer cuartil del bigote se encuentra la región intercuartil por encima de la cual pasa una línea vertical conocida como mediana. Para obtener más detalles, consulte el blog Diagrama de caja usando python . Los siguientes son los métodos para encontrar valores atípicos de un diagrama de caja:

1.Visualizing through matplotlib boxplot using plt.boxplot().
2.Using 1.5 IQR rule.

Ejemplo:

Python3

# Adding libraries
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
 
# random integers between 1 to 20
arr = np.random.randint(1, 20, size=30)
 
# two outliers taken
arr1 = np.append(arr, [27, 30])
 
print('Thus the array becomes{}'.format(arr1))

Producción:

array ([4, 12, 15, 7, 13, 2, 12, 11, 10, 12, 15, 5, 9, 16, 17, 2, 10, 15, 4, 16, 14, 19, 12, 8 , 13, 3, 16, 10, 1, 13, 27, 30])

Visualización por matplotlib boxplot usando plt.boxplot()

Python3

plt.boxplot(arr1)
fig = plt.figure(figsize =(10, 7))
plt.show()

Producción:                                                                                                                                                                                                                                                             

Entonces, a partir de la figura anterior, podemos presenciar los dos valores atípicos.

1.5 Regla RIQ

Pasos en la regla 1.5IQR: –

  • Hallar las regiones de la mediana, el cuartil y el intercuartil
  • Calcule 1,5*IQR por debajo del primer cuartil y busque valores atípicos bajos.
  • Calcule 1,5*IQR por encima del tercer cuartil y busque valores atípicos.

Python

# finding the 1st quartile
q1 = np.quantile(arr1, 0.25)
 
# finding the 3rd quartile
q3 = np.quantile(arr1, 0.75)
med = np.median(arr1)
 
# finding the iqr region
iqr = q3-q1
 
# finding upper and lower whiskers
upper_bound = q3+(1.5*iqr)
lower_bound = q1-(1.5*iqr)
print(iqr, upper_bound, lower_bound)

Producción:

8.25 26.375 -6.625

Python3

outliers = arr1[(arr1 <= lower_bound) | (arr1 >= upper_bound)]
print('The following are the outliers in the boxplot:{}'.format(outliers))

Producción:

The following are the outliers in the boxplot:[27 30]

Por lo tanto, los valores atípicos se han detectado utilizando la regla. Ahora eliminándolos y trazando un gráfico con los puntos de datos- 

Python3

# boxplot of data within the whisker
arr2 = arr1[(arr1 >= lower_bound) & (arr1 <= upper_bound)]
plt.figure(figsize=(12, 7))
plt.boxplot(arr2)
plt.show()

Producción :

Publicación traducida automáticamente

Artículo escrito por barnadipdey2510 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *