Unidad 10 — Detección de Anomalías

Semana 15: Outliers y Ley de Benford

Author

Eduard F. Martínez González

Email efmartinez@icesi.edu.co

Qries eduard-martinez

Qries @emartigo

Qries https://eduard-martinez.github.io

1 ¿Qué es una anomalía?

En análisis de datos, una anomalía (o outlier) es una observación que se aleja significativamente del patrón general del conjunto de datos. Detectar estas observaciones es clave, porque pueden revelar errores de registro, fenómenos raros o incluso fraudes.

Ejemplos típicos:

  • Un cliente con un crédito inusualmente alto.
  • Un estudiante con una calificación fuera del rango esperado.
  • Una transacción con un valor que no se ajusta al comportamiento habitual.

En Business Analytics, la detección de anomalías es un paso esencial del análisis exploratorio de datos (EDA) y una herramienta fundamental para la gestión del riesgo y la auditoría de datos.

1.1 Tipos de anomalías

  1. Univariadas: afectan a una sola variable (por ejemplo, edad, monto, ingreso).
  2. Multivariadas: surgen de combinaciones inusuales entre variables (por ejemplo, clientes jóvenes con créditos altísimos).

En esta clase nos centraremos en las anomalías univariadas, aquellas que pueden identificarse analizando cada variable individualmente.

2 Aplicación en R

En este ejercicio aplicaremos técnicas de detección de anomalías sobre una base de datos que simula el comportamiento académico de un grupo de estudiantes. Cada observación representa a un estudiante inscrito en un curso, e incluye variables relacionadas con su desempeño y participación a lo largo del semestre.

En este contexto:

  • Cada estudiante es una observación.
  • Las variables numéricas incluyen indicadores como asistencia, participación, trabajos, quizzes y proyecto final.
  • El promedio final refleja el desempeño global del estudiante.
  • Algunas observaciones presentan valores atípicos o inconsistentes, como notas negativas, valores mayores a 5 o combinaciones poco realistas (por ejemplo, alta asistencia pero promedio bajo).

El objetivo es aplicar un análisis exploratorio y estadístico que nos permita:

  • Identificar visual y numéricamente valores extremos.
  • Comparar diferentes métodos de detección de outliers (gráficos, robustos y estadísticos).
  • Reflexionar sobre cómo estas anomalías pueden afectar la interpretación y calidad de los datos académicos.
Tip

Este ejercicio replica una situación real en la que un profesor detecta irregularidades en las calificaciones de su grupo.
A partir de las herramientas estadísticas vistas en clase, aprenderemos cómo diagnosticar y documentar esos casos de manera objetiva.

2.1 Preparación del entorno

Antes de comenzar, es importante asegurar que el entorno de trabajo esté limpio, reproducible y con todas las librerías necesarias cargadas.

  1. Limpiamos el entorno para evitar conflictos con objetos previos.
  2. Instalamos (si es necesario) y cargamos los paquetes requeridos para la manipulación, visualización y detección de anomalías.
  3. Importamos la base de datos simulada de notas estudiantiles, que contiene observaciones normales y algunas “notas raras” generadas intencionalmente.
  4. Exploramos la estructura y primeras filas de la base para familiarizarnos con su contenido.
Note

tidyverse: Conjunto de paquetes diseñados para la manipulación, transformación y visualización de datos en R.

outliers: Implementa pruebas estadísticas clásicas para detección de valores atípicos, como Grubbs y Dixon, que permiten identificar observaciones extremas en una sola variable numérica.

EnvStats: Proporciona métodos avanzados de análisis estadístico, incluyendo la prueba de Rosner, ideal para detectar *múltiples outliers simultáneamente en una muestra grande.

univOutl: Ofrece funciones integradas para aplicar distintos métodos robustos de detección de outliers univariados, como el IQR, MAD o boxplots ajustados (LocScaleB, boxB), facilitando la comparación entre técnicas.

2.2 Ingesta de datos

En esta sección realizamos la ingesta de datos. En este caso, trabajaremos con una base sintética llamada notas, que representa el rendimiento académico de un grupo de estudiantes a lo largo del semestre. Cada registro corresponde a un estudiante e incluye variables relacionadas con su desempeño, participación y hábitos de estudio. Algunos registros fueron generados con valores anómalos intencionalmente (notas imposibles, inconsistencias o valores fuera de rango), con el fin de practicar su identificación.

La estructura de las variables es la siguiente:

  • asistencia → proporción de clases asistidas (0–1).
  • participacion → nivel de participación en clase (0–5).
  • trabajos → promedio de calificaciones en trabajos entregados (0–5).
  • quiz_1, quiz_2 → notas obtenidas en los dos quizzes del curso (0–5).
  • proyecto_final → nota final del proyecto (0–5).
  • promedio → calificación global del estudiante (ponderación de los componentes anteriores).
  • grupo → día o cohorte al que pertenece el estudiante (por ejemplo, “Viernes” o “Martes”).
  • id_estudiante → identificador único de cada estudiante.

Nuestro objetivo será identificar observaciones que se desvíen del patrón general, como: notas fuera del rango esperado (menores que 0 o mayores que 5); comportamientos incoherentes (alta asistencia con bajo promedio); casos extremos que podrían reflejar errores de registro o comportamientos atípicos reales.

2.3 Exploratory Data Analysis (EDA)

Antes de aplicar pruebas estadísticas, el primer paso es visualizar y resumir los datos. Esto nos permite entender la distribución de una variable y detectar visualmente valores atípicos. Objetivos del EDA:

  • Explorar la forma de la distribución.
  • Identificar asimetrías, colas largas o valores extremos.
  • Calcular estadísticas descriptivas básicas: Medidas de tendencia central (media, mediana); Medidas de dispersión (rango, desviación estándar, IQR); Medidas de forma (asimetría y curtosis).

2.3.1 Visualización de anomalías

El análisis gráfico es el punto de partida. Para empezar, utilizaremos histogramas y boxplots que nos ayuden a visualizar la dispersión de las notas y detectar gráficamente los posibles valores atípicos.

El histograma permite observar la forma de la distribución de las notas: si es simétrica, sesgada o multimodal. En contextos educativos, una ligera asimetría positiva (muchos aprobados, pocos reprobados) es común. Las barras aisladas en los extremos pueden representar notas atípicas o errores de registro (por ejemplo, valores negativos o mayores que 5).

La caja representa el rango intercuartílico (IQR), donde se concentra el 50 % central de las notas. La línea central dentro de la caja indica la mediana (valor típico o más frecuente). Los puntos rojos marcan las observaciones que se encuentran fuera de los límites esperados (outliers). En este caso, corresponden a estudiantes con un desempeño excepcionalmente bajo o alto, o posiblemente a errores en el registro.

2.4 Métodos de detección

Una vez explorada la distribución de los datos, pasamos a la detección sistemática de anomalías mediante diferentes enfoques. Cada método tiene supuestos y ventajas distintas: algunos se basan en reglas estadísticas, otros en medidas robustas que resisten la influencia de outliers. En esta sección aplicaremos cinco estrategias complementarias para detectar valores atípicos en la variable promedio.

2.4.1 Percentiles

Una forma simple de detectar valores extremos es comparar los datos con umbrales percentilares, por ejemplo, el 1% y el 99%. Las observaciones fuera de ese rango se consideran inusuales.

2.4.2 Z-Score

El Z-Score mide cuántas desviaciones estándar se encuentra cada valor respecto a la media. Por convención, se consideran atípicos los valores con (|Z| > 3).

Note

El método Z-Score funciona bien cuando la variable tiene una distribución aproximadamente normal. En distribuciones sesgadas (como suele ocurrir en notas o ingresos), puede marcar falsos positivos.

2.4.3 Rango intercuartílico (IQR)

El método del rango intercuartílico (IQR) es una versión robusta del boxplot tradicional. Define umbrales con base en los cuartiles (\(Q_1\)) y (\(Q_3\)): \(\text{Límite inferior} = Q_1 - 1.5 \times IQR \quad ; \quad \text{Límite superior} = Q_3 + 1.5 \times IQR\)

Note

El IQR es menos sensible a la forma de la distribución y se usa ampliamente en entornos de negocio y educación. Sin embargo, su desempeño disminuye si la variable es altamente asimétrica.

2.4.4 MAD / Método de Hampel

El MAD (Median Absolute Deviation) calcula la desviación absoluta respecto a la mediana, y el método de Hampel lo utiliza para establecer límites de detección. Este enfoque es robusto y muy eficaz en datos con colas pesadas o valores extremos localizados.

Note

El MAD se considera uno de los métodos más estables frente a outliers severos. diferencia del Z-Score, no asume normalidad y es adecuado para variables como notas, ingresos o montos financieros.

2.4.5 RRMS (Varianza robusta)

El método RRMS (Robust Root Mean Square) utiliza estimadores robustos de varianza para identificar observaciones que se alejan significativamente del centro de la distribución, considerando tanto colas superiores como inferiores.

Note

El RRMS combina la precisión estadística del Z-Score con la resistencia del MAD. Es útil cuando queremos una detección automática que mantenga consistencia en diferentes variables.

2.4.6 Comparación de métodos

Cada método de detección de anomalías parte de una lógica distinta sobre qué significa ser “inusual”. Algunos se basan en medidas clásicas (media y desviación estándar), otros en estimadores robustos (mediana y MAD) que son menos sensibles a valores extremos. La siguiente tabla resume las características más importantes de los principales métodos vistos en clase:

Método Supuesto principal Robustez Cuándo usar
Percentiles Ninguno Media Exploración inicial o cribado rápido.
Z-Score Normalidad de los datos Baja Datos simétricos y previamente escalados.
IQR (Tukey) Cuartiles representativos Media Distribuciones moderadamente asimétricas.
MAD / Hampel Mediana estable y colas largas Alta Datos con colas pesadas o presencia de outliers fuertes.
RRMS Estimador robusto de varianza Alta Identificación automática de extremos en grandes muestras.

2.5 Pruebas estadísticas

Hasta ahora hemos explorado métodos descriptivos y robustos para identificar posibles outliers. Sin embargo, en algunos contextos —por ejemplo, auditorías, evaluación de calidad o estudios científicos— se requiere una validación estadística formal que determine si un valor extremo es significativamente distinto al resto de los datos. Para ello utilizamos pruebas estadísticas que formulan hipótesis y se basan en el cálculo de un p-value:

Prueba Uso principal Tamaño de muestra Outliers detectables
Grubbs test Detección de un solo outlier en muestras grandes. n > 25 1
Dixon test Detección de un outlier en muestras pequeñas. 3 ≤ n ≤ 25 1
Rosner test Detección simultánea de múltiples outliers. n ≥ 25 k (varios)

2.5.1 Grubbs Test

La prueba de Grubbs evalúa si el valor más extremo (máximo o mínimo) de la muestra se diferencia significativamente del resto.

Hipótesis:

  • \(H_0: \text{No hay outliers en la muestra}\)
  • \(H_A: \text{El valor más extremo es un outlier}\)

Interpretación del p-value: Si p-value < 0.05, se rechaza H₀ → el valor extremo se considera un outlier estadísticamente significativo. Si p-value ≥ 0.05, no hay evidencia suficiente para considerarlo atípico.

2.5.2 Dixon Test

La prueba de Dixon también busca detectar un único valor atípico, pero está diseñada para muestras pequeñas (3–25 observaciones). Compara la diferencia entre el valor más extremo y su vecino más cercano con el rango total.

Hipótesis:

  • \(H_0: \text{Todos los valores provienen de la misma población.}\)
  • \(H_A: \text{Existe un valor atípico (el más alto o el más bajo).}\)

Interpretación del p-value: Si p-value < 0.05, el valor extremo se considera outlier. Si p-value ≥ 0.05, no se considera significativamente diferente.

2.5.3 Rosner Test

La prueba de Rosner permite detectar varios outliers al mismo tiempo. A diferencia de las anteriores, esta prueba es iterativa: elimina los valores extremos uno por uno, recalculando la media y la desviación estándar tras cada iteración.

Hipótesis:

  • \(H_0: \text{No hay outliers en la muestra.}\)

  • \(H_A: H_A: \text{Hasta } k \text{ observaciones son outliers.}\)

Interpretación:

•   La prueba calcula un conjunto de estadísticos ( $R_i$ ) y valores críticos ( $\lambda_i$ ).
•   Si ( $R_i$ > $\lambda_i$), la observación correspondiente se clasifica como outlier.
•   El número final de outliers detectados dependerá del parámetro $k$ (cantidad máxima a evaluar).
Tip

El p-value mide la evidencia contra la hipótesis nula (\(H_0\)). Un valor pequeño (por debajo de 0.05) indica que el valor extremo es poco probable bajo el patrón normal de los datos. En otras palabras, mientras menor el p-value, más probable es que la observación sea realmente un outlier.

2.6 Ley de Benford

La Ley de Benford, también conocida como la Ley del Primer Dígito, describe un patrón sorprendente en muchos conjuntos de datos reales: los números que comienzan con dígitos pequeños (1, 2 o 3) aparecen con mucha más frecuencia que los que comienzan con 8 o 9. En lugar de una distribución uniforme (donde cada dígito tendría 11,1 % de probabilidad), la Ley de Benford predice que el dígito 1 aparecerá aproximadamente el 30 % de las veces, el 2 un 17 %, y así sucesivamente, decreciendo logarítmicamente.

\(P(d) = \log_{10}(1 + \frac{1}{d})\)

2.6.1 ¿Por qué es útil?

Este patrón se cumple en datos naturales, financieros o económicos que no han sido manipulados manualmente. Por ello, la Ley de Benford se utiliza ampliamente en: auditoría y detección de fraudes financieros; Verificación de integridad de bases de datos; Análisis de reportes contables y registros públicos. Cuando los datos se desvían significativamente de la ley, puede indicar errores de registro o manipulación intencional.

2.6.2 Condiciones para aplicar la Ley de Benford

Antes de aplicar la ley, la variable debe cumplir ciertas condiciones:

  1. Ser numérica y positiva.
  2. No tener límites fijos (por ejemplo, 0–100 o 1–5).
  3. Presentar varios órdenes de magnitud (es decir, amplitud suficiente entre el valor mínimo y el máximo).
  4. No estar redondeada artificialmente o expresada en porcentajes.

2.6.3 Evaluación previa de magnitud

El primer paso es verificar si la variable cumple con los criterios de magnitud. Para esto se calculan dos indicadores: OOM (Order of Magnitude): logaritmo de la razón entre el valor máximo y el mínimo. ROM (Robust Order of Magnitude): logaritmo de la razón entre los percentiles 99 y 1. Si ambos son mayores que 3, la Ley de Benford puede aplicarse de manera confiable.

3 Actividad en clase — Detección de Anomalías

En esta actividad práctica, los estudiantes trabajarán en grupos aplicando tres métodos de detección de outliers sobre una base de datos simulada que contiene calificaciones y variables de desempeño académico. El objetivo es comparar los resultados, discutir cuál método es más confiable y reflexionar sobre qué tipo de comportamiento o error podría explicar cada anomalía.

3.1 Instrucciones

  1. Ejecute los chunks de código proporcionados en R (puede hacerlo directamente en el navegador o desde RStudio).
  2. Observe los resultados obtenidos en cada bloque y registre las observaciones más relevantes.
  3. Genere un documento en Word (.docx) donde:
    • Copie las preguntas que aparecen al final.
    • Redacte sus interpretaciones y conclusiones con base en los resultados del análisis.
    • No copie el código ni las tablas, solo las respuestas explicativas.
  4. Suba su documento y su script en R (.R) a la plataforma Intu, en la actividad correspondiente a la
    Semana 15 — Detección de Anomalías (Outliers y Ley de Benford).

3.2 Ingesta de Datos

Ejecute el siguiente bloque de código para crear una base llamada notas_grupo. Esta base contiene 250 registros que simulan notas de estudiantes, con algunos valores atípicos intencionales (como notas negativas, mayores que 5 o inconsistentes con la asistencia). Cada registro representa un estudiante e incluye variables como participación, trabajos, quizzes, proyecto final y promedio.

3.3 Preguntas para el informe

1.  ¿Qué valores o registros fueron identificados como outliers por cada método aplicado?
2.  ¿Coincidieron los métodos en los mismos casos detectados?
3.  ¿Qué método consideran más confiable para este tipo de datos? Justifiquen su respuesta.
4.  ¿Qué tipo de comportamiento o error podría explicar las anomalías encontradas (error de digitación, fraude, caso excepcional, etc.)?
5.  Si ustedes fueran analistas de datos, ¿qué harían con esos valores?
•   ¿Los eliminarían, imputarían o conservarían?
•   ¿Por qué?
Tip

Entrega: Suba su documento con las respuestas a la plataforma Intu, en la actividad Semana 15 — Detección de Anomalías. Incluya también el script en R con el que realizó el procedimiento. Recuerde que se evaluará la claridad de sus interpretaciones, la consistencia con los resultados del análisis y su capacidad para proponer acciones basadas en los hallazgos.