Z-score
Quanto un valore è distante dalla media di un dataset
Cos’è lo Z-Score
Lo Z-score, o punteggio standardizzato, misura quanto un valore è distante dalla media di un dataset, in unità di deviazione standard.
In parole semplici, lo Z-score ci dice se un valore è vicino, sopra o sotto la media rispetto agli altri dati. - Z-score = 0 → Il valore è esattamente uguale alla media.
- Z-score positivo → Il valore è **sopra la media**.
- Z-score negativo → Il valore è sotto la media.
Formula dello Z-Score
\[ Z = \frac{x - \mu}{\sigma} \]
Dove:
\( x \) è il valore da analizzare.
\( \mu \) è la media del dataset.
\( \sigma \) è la deviazione standard, che misura la dispersione dei dati.
Esempio di Calcolo dello Z-Score
Supponiamo di avere il seguente dataset:
\[ 10, 15, 20, 25, 30 \] Vogliamo calcolare lo Z-score per il valore 20.
1. Calcoliamo la media :
\[ \mu = \frac{10 + 15 + 20 + 25 + 30}{5} = 20 \]
2. Calcoliamo la deviazione standard :
\[ \sigma = \sqrt{\frac{(10-20)^2 + (15-20)^2 + (20-20)^2 + (25-20)^2 + (30-20)^2}{5}} \] \[ \sigma = \sqrt{\frac{100 + 25 + 0 + 25 + 100}{5}} = \sqrt{50} \approx 7.07 \]
3. Calcoliamo lo Z-score:
\[ Z = \frac{20 - 20}{7.07} = 0 \]
Lo Z-score di 20 è 0, perché il valore coincide con la media.
Calcolo dello Z-Score in Python
import numpy as np
from scipy.stats import zscore
# Dataset
data = np.array([10, 15, 20, 25, 30])
# Calcolare lo Z-score per ogni valore
z_scores = zscore(data)
# Stampare i risultati
for i, z in enumerate(z_scores):
print(f"Z-score del valore {data[i]}: {z:.2f}")
Interpretazione dello Z-Score
- Se |Z| < 2, il valore è vicino alla media.- Se |Z| > 2, il valore è insolitamente alto o basso.
- Se |Z| > 3, il valore è un outlier (dato anomalo).
Conclusione
Lo Z-score è un indicatore utile per capire se un valore è normale o insolito rispetto al resto dei dati.
È ampiamente usato in statistica, machine learning e analisi dei dati** per individuare anomalie e confrontare valori tra diverse distribuzioni.