El Z-Score (Puntuación Z o Puntuación Estándar) es uno de los métodos estadísticos más utilizados para detectar valores atípicos (outliers) en variables numéricas. Su funcionamiento se basa en medir cuántas desviaciones estándar se encuentra una observación respecto a la media del conjunto de datos.
A diferencia del Método del Rango Intercuartílico (IQR), el Z-Score utiliza la media y la desviación estándar como referencia, por lo que resulta especialmente adecuado cuando los datos siguen una distribución aproximadamente normal. Gracias a su sencillez y sólido fundamento estadístico, es una técnica ampliamente utilizada tanto en análisis exploratorio como en procesos de preparación de datos y control de calidad.
Dentro de la fase de Data Preparation, el Z-Score permite identificar observaciones que presentan una desviación significativa respecto al comportamiento general de los datos y facilita la toma de decisiones sobre su tratamiento antes del entrenamiento de modelos de Machine Learning.
¿Qué es el Z-Score?
El Z-Score es una medida estadística que indica la distancia entre una observación y la media de una distribución, expresada en unidades de desviación estándar. Un valor de Z-Score responde a preguntas como:
- ¿Qué tan lejos está un dato de la media?
- ¿Es una observación habitual?
- ¿Podría tratarse de un valor atípico?
Cuando el valor absoluto del Z-Score supera un determinado umbral, la observación puede considerarse un posible outlier.

Objetivos del Z-Score
El método persigue varios objetivos.
- Detectar valores atípicos.
- Medir la desviación respecto a la media.
- Estandarizar variables numéricas.
- Facilitar comparaciones entre variables con distintas escalas.
- Mejorar la calidad del conjunto de datos.
- Ayudar en la preparación para el modelado.
Preguntas que debe responder
Antes de aplicar el Z-Score conviene responder varias preguntas.
Sobre los datos
- ¿La variable sigue una distribución aproximadamente normal?
- ¿Existen valores muy alejados de la media?
- ¿Qué porcentaje representan?
Sobre los valores detectados
- ¿Corresponden a errores?
- ¿Representan casos reales?
- ¿Deben eliminarse?
Sobre el modelado
- ¿El algoritmo utilizado es sensible a los valores extremos?
- ¿Conviene aplicar otro método más robusto?
- ¿Es necesario combinar varias técnicas?
Resultado esperado
Al finalizar el análisis mediante Z-Score debería disponerse de:
- La media de la variable.
- La desviación estándar.
- El Z-Score de cada observación.
- Los posibles valores atípicos detectados.
- Un informe con las observaciones extremas.
- Una estrategia documentada de tratamiento.
El objetivo del método es identificar observaciones anómalas, no eliminarlas automáticamente.
Flujo de trabajo
Una estrategia habitual consiste en seguir el siguiente flujo.
- Seleccionar la variable numérica.
- Calcular la media.
- Calcular la desviación estándar.
- Obtener el Z-Score de cada observación.
- Definir un umbral.
- Identificar los valores que superan dicho umbral.
- Analizar el origen de los outliers.
- Decidir el tratamiento adecuado.
- Validar el impacto sobre el conjunto de datos.
¿Cómo funciona?
El Z-Score mide la distancia entre un valor y la media utilizando la desviación estándar como unidad de medida.
Su fórmula es:
$$
z = \frac{x – \mu}{\sigma}
$$
Donde:
- x es el valor observado.
- μ es la media.
- σ es la desviación estándar.
El resultado indica cuántas desviaciones estándar separan una observación de la media.
Por ejemplo:
- Z = 0 → el valor coincide con la media.
- Z = 1 → una desviación estándar por encima.
- Z = -2 → dos desviaciones estándar por debajo.
Cuanto mayor sea el valor absoluto del Z-Score, más inusual será la observación.
Interpretación del Z-Score
El valor del Z-Score permite interpretar fácilmente la posición de una observación.
| Z-Score | Interpretación |
|---|---|
| 0 | Coincide con la media |
| ±1 | Valor habitual |
| ±2 | Poco frecuente |
| ±3 o superior | Posible outlier |
En Ciencia de Datos suele utilizarse el criterio de |Z| > 3 como umbral para detectar valores atípicos. En algunos contextos más restrictivos también puede utilizarse: |Z| > 2.5
Ejemplo práctico
Consideremos la siguiente variable.
| Edad |
|---|
| 21 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 105 |
La mayoría de observaciones se concentra alrededor de la media. La edad de 105 años obtiene un Z-Score muy elevado y es detectada como posible outlier. Antes de eliminarla, deberá comprobarse si corresponde realmente a un error.
Elección del umbral
El umbral depende del nivel de sensibilidad deseado.
| Umbral | Interpretación |
|---|---|
| |Z| > 2 | Detección muy sensible |
| |Z| > 2.5 | Uso intermedio |
| |Z| > 3 | Criterio más utilizado |
| |Z| > 3.5 | Solo anomalías muy extremas |
En la mayoría de proyectos de Machine Learning se utiliza 3.
Z-Score vs Método IQR
Ambos métodos son muy populares para detectar valores atípicos.
| Z-Score | Método IQR |
|---|---|
| Basado en media y desviación estándar | Basado en cuartiles |
| Adecuado para distribuciones normales | Adecuado para distribuciones asimétricas |
| Sensible a los propios outliers | Robusto frente a valores extremos |
| Fácil interpretación estadística | Muy resistente a distribuciones sesgadas |
| Puede verse afectado por valores extremos | Poco afectado por los propios outliers |
Cuando los datos presentan fuerte asimetría suele preferirse el método IQR.
¿Cuándo utilizar el Z-Score?
Resulta especialmente recomendable cuando:
- Las variables siguen una distribución aproximadamente normal.
- Se trabaja con datos numéricos.
- Se necesita comparar diferentes variables.
- Se realiza análisis exploratorio.
- Se preparan datos para algoritmos sensibles a outliers.
- Se requiere una medida estadística fácilmente interpretable.
Ventajas y desventajas
| Ventajas | Desventajas |
|---|---|
| Muy fácil de calcular | Sensible a los propios outliers |
| Fácil interpretación | Requiere una distribución aproximadamente normal |
| Muy utilizado en estadística | No funciona bien con distribuciones muy sesgadas |
| Permite comparar escalas diferentes | Solo analiza una variable cada vez |
| Amplio soporte en Python | No detecta anomalías multivariantes |
Limitaciones
Aunque resulta muy útil, presenta varias limitaciones.
- Depende de la media y la desviación estándar.
- Los propios outliers pueden modificar la media.
- No funciona adecuadamente con distribuciones muy asimétricas.
- Solo detecta anomalías univariantes.
- No considera relaciones entre variables.
- No sustituye a métodos multivariantes como Isolation Forest o LOF.
En estos casos suele recurrirse al Modified Z-Score, que utiliza la mediana y la desviación absoluta mediana (MAD), siendo mucho más robusto frente a valores extremos.
Implementación en Python
Python ofrece varias formas de calcular el Z-Score.
Utilizando SciPy
from scipy.stats import zscore
df["zscore"] = zscore(df["salario"])Detectar outliers
outliers = df[
abs(df["zscore"]) > 3
]Contar el número de outliers
print(len(outliers))Calcular manualmente el Z-Score
media = df["salario"].mean()
desviacion = df["salario"].std()
df["zscore"] = (
df["salario"] - media
) / desviacion
Eliminar valores atípicos
df_limpio = df[
abs(df["zscore"]) <= 3
]Visualizar la distribución
import matplotlib.pyplot as plt
plt.hist(df["zscore"], bins=30)
plt.xlabel("Z-Score")
plt.ylabel("Frecuencia")
plt.show()
Estos ejemplos muestran la implementación básica del método. En proyectos reales suele combinarse con técnicas gráficas y con otros métodos de detección para obtener resultados más robustos.
Buenas prácticas
Para utilizar correctamente el Z-Score se recomienda:
- Verificar previamente si la distribución es aproximadamente normal.
- Analizar siempre el origen de los valores detectados antes de eliminarlos.
- Utilizar el valor absoluto del Z-Score para detectar tanto valores extremos positivos como negativos.
- Complementar el análisis con histogramas, diagramas de caja y estadísticas descriptivas.
- Comparar los resultados con métodos más robustos, como IQR o Modified Z-Score, cuando existan distribuciones asimétricas.
- Documentar los criterios utilizados para identificar y tratar los outliers.
- Evaluar el impacto del tratamiento sobre el rendimiento del modelo.
- Mantener una copia del conjunto de datos original para garantizar la trazabilidad del proceso.