Detección de "outliers" locales

Aunque outlier local parezca oxímoron, es un concepto que tiene sentido.

Un outlier es un punto dentro de un conjunto de datos tan alejado del resto que diríase generado por un mecanismo distinto que el resto. Por ejemplo, puedes tener las alturas de la gente y alguna observación que parece producto de otra cosa como, por ejemplo, errores mecanográficos en la transcripción. Un outlier está lejos del resto. Pero, ¿cuánto?

Con ciertas distribuciones tiene sentido pensar que los outliers son puntos a una distancia superior a nosecuántas desviaciones típicas de la media. Más en general, fuera de un determinado círculo. Una medida similar: serían outliers aquellos puntos que a una determinada distancia solo tienen un determinado porcentaje (pequeño) del resto. Todas estas son medidas globales.

En LOF: Identifying Density-Based Local Outliers se describe, en Rlof se implementa y en Adobe Analytics Clickstream Data Feed: Calculations and Outlier Analysis se muestra un ejemplo de uso de una técnica alternativa que tiene en cuenta el aspecto local de los outliers. Puede que en una región del espacio sea preciso considerar una determinada distancia y en otras, otra; es decir, que tiene sentido utilizar radios adaptativos.

¿Cómo? Primero, seleccionando un valor k (¡ya empezamos con los parámetros!). Luego se encuentran los k-vecinos de cada punto. Será un outlier un punto que está más lejos de sus k vecinos que lo están en promedio sus k vecinos de sus correspondientes k vecinos.

Eso, debidamente formalizado, es el LOF, o local outlier factor.