Calcolatore Z-Score
Calcola Z-score, ranghi percentili e probabilità della distribuzione normale.
Informazioni sullo strumento
Un punteggio Z misura quante deviazioni standard un punto dati si discosta dalla media in una distribuzione normale. Questa metrica è fondamentale in statistica per standardizzare valori su scale diverse ed è essenziale per confrontare dati, identificare valori anomali e comprendere distribuzioni di probabilità. I punteggi Z sono ampiamente utilizzati nel controllo di qualità, nella valutazione accademica, nella ricerca medica e nell'analisi finanziaria quando è necessario determinare quanto inusuale o tipico sia un valore.
Per utilizzare il calcolatore, inserisci il valore del tuo punto dati e la media e la deviazione standard del tuo insieme di dati. Lo strumento calcola istantaneamente il punteggio Z e visualizza il rango percentile corrispondente—indicandoti quale percentuale della distribuzione normale si trova al di sotto del tuo valore. Puoi anche inserire direttamente un punteggio Z per trovare il suo percentile, il che è utile per test di ipotesi, intervalli di confidenza e ricerche di probabilità. Questo è particolarmente utile quando si lavora con punteggi di test standardizzati (come SAT o QI), confrontando le prestazioni tra diverse metriche o valutando tolleranze di produzione.
Tieni presente che i punteggi Z assumono che i tuoi dati seguano una distribuzione normale (curva a campana), quindi i risultati potrebbero non essere accurati per insiemi di dati distorti. Il calcolatore fornisce anche informazioni sulle probabilità di coda, aiutandoti a comprendere i valori estremi. Che tu sia uno studente che impara la statistica, un ricercatore che analizza dati sperimentali o un professionista che valuta metriche di qualità, questo strumento semplifica i calcoli di probabilità complessi in informazioni immediate e attuabili.
Domande Frequenti
Implementazione del Codice
import math
def erf(x: float) -> float:
"""Abramowitz & Stegun approximation of the error function."""
sign = 1 if x >= 0 else -1
x = abs(x)
a1, a2, a3, a4, a5 = 0.254829592, -0.284496736, 1.421413741, -1.453152027, 1.061405429
p = 0.3275911
t = 1.0 / (1.0 + p * x)
y = 1.0 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * math.exp(-x * x)
return sign * y
def normal_cdf(z: float) -> float:
"""Cumulative distribution function of the standard normal."""
return 0.5 * (1 + erf(z / math.sqrt(2)))
def z_score(value: float, mean: float, std_dev: float) -> float:
"""Calculate Z-score: how many SDs from the mean."""
if std_dev <= 0:
raise ValueError("Standard deviation must be positive")
return (value - mean) / std_dev
# Example
x, mu, sigma = 75, 70, 5
z = z_score(x, mu, sigma)
prob = normal_cdf(z)
print(f"Z-score: {z:.4f}") # 1.0000
print(f"Percentile: {prob*100:.2f}th") # 84.13th
print(f"Probability: {prob:.6f}") # 0.841345
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.