Mis muestras siga pesado de cola de las distribuciones. Yo uso un proceso para detectar y eliminar "extrema" de las muestras como sigue:
- Medida de la media y la desviación estándar de las muestras.
- Extraer las muestras más alto que la media de más de 4 desviaciones estándar.
- Repita desde el Paso 1 - para un total de 3 veces.
Si no hay ningún extremo muestras, a continuación, el proceso anterior elimina ninguno; si son muchos, a continuación, se sesgar media/std.dev, sin embargo, las múltiples iteraciones cuidar de eso.
Para mi problema, el algoritmo anterior elimina 0-5% de las muestras y las pruebas empíricas muestran que funciona bastante bien y parece bastante robusto.
Sin embargo, este proceso está el sonido? ¿Tiene un nombre formal para buscarlo?
Observe que, no puedo encontrar el "óptimo" número de desviaciones estándar por encima de la cual rechazamos las muestras, ya que todo este proceso debe ser automatizado para varios conjuntos de datos y ejecutar como parte de un sistema vivo. Los conjuntos de datos son similares pero no idénticos: a veces son pequeños y no hay valores atípicos (no de lujo de perder muestras); a veces son grandes y el número de ejemplos extremos que deben ser eliminados varía y puede ser bastante alta.
Los datos representan las acciones del usuario (una variable por tipo de acción) y tenemos varios conjuntos de usuarios tenemos que comparar (diferentes segmentaciones). Sin embargo, muchos de los "usuarios" son en realidad los robots que normalmente (pero no siempre) hacer las mismas acciones varias veces (de manera más veces de las que los seres humanos harían). Es justo decir que tenemos una mezcla de dos distribuciones que no podemos distinguir, los usuarios y bots. Nos preocupamos por las diferencias de comportamientos de los usuarios después de quitar tantos robots como sea posible. En el largo plazo vamos a construir un clasificador para los robots, pero por ahora estamos después de una rápida solución.