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