Tengo un script de python que crea una lista de listas de tiempo de actividad del servidor y datos de rendimiento, donde cada sublista (o 'fila') contiene las estadísticas de un determinado grupo. Por ejemplo, con un formato agradable que se ve algo como esto:Encontrar valores atípicos en un conjunto de datos
------- ------------- ------------ ---------- -------------------
Cluster %Availability Requests/Sec Errors/Sec %Memory_Utilization
------- ------------- ------------ ---------- -------------------
ams-a 98.099 1012 678 91
bos-a 98.099 1111 12 91
bos-b 55.123 1513 576 22
lax-a 99.110 988 10 89
pdx-a 98.123 1121 11 90
ord-b 75.005 1301 123 100
sjc-a 99.020 1000 10 88
...(so on)...
lo tanto en forma de lista, puede ser que parezca:
[[ams-a,98.099,1012,678,91],[bos-a,98.099,1111,12,91],...]
Mi pregunta: ¿Cuál es la mejor manera de determinar los valores extremos en cada columna? ¿O los valores atípicos no son necesariamente la mejor manera de atacar el problema de encontrar "maldad"? En los datos anteriores, definitivamente quiero saber sobre bos-b y ord-b, así como ams-a, ya que su tasa de error es muy alta, pero los demás pueden descartarse. Dependiendo de la columna, dado que más alto no es necesariamente peor, ni es más bajo, estoy tratando de encontrar la manera más eficiente de hacerlo. Parece que Numpy se menciona mucho para este tipo de cosas, pero no estoy seguro de por dónde empezar (lamentablemente, soy más administrador de sistemas que estadístico ...).
¡Gracias de antemano!
¿Por qué no hacer la pregunta en el sitio [stats.SE] (http://stats.stackexchange.com/)? – csgillespie
@csgillespie ¡Buena idea, será suficiente! – septagram
duplicado de http://stats.stackexchange.com/questions/6013/finding-outliers-in-a-data-set –